Skip to main content

steamkit/base/generated/
steam_language.rs

1// <auto-generated/>
2//
3// Generated by `steamkit-lang-gen` (crate `steamkit-tools`) from the Valve
4// SteamLanguage definition files in `crates/steamkit-tools/lang/`.
5//
6// Do not edit by hand - re-run the generator instead:
7//
8// ```text
9// cargo run -p steamkit-tools --bin steamkit-lang-gen
10// ```
11//
12// Rules:
13//
14// * members marked `removed` are not emitted;
15// * members marked `obsolete` are emitted and marked `#[deprecated]`;
16// * an enum member without an explicit value continues from the previous one;
17// * a `|` separated value is the bitwise or of its terms.
18
19#![allow(non_camel_case_types)]
20
21/// Error returned when a numeric value does not match any variant of an enum.
22#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
23pub struct UnknownEnumValue {
24    /// The name of the enum the value was looked up in.
25    pub enum_name: &'static str,
26    /// The value that has no matching variant.
27    pub value: i128,
28}
29
30impl UnknownEnumValue {
31    /// Creates a new error for the given enum and value.
32    pub const fn new(enum_name: &'static str, value: i128) -> Self {
33        UnknownEnumValue { enum_name, value }
34    }
35}
36
37impl std::fmt::Display for UnknownEnumValue {
38    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
39        write!(f, "{} is not a known value of {}", self.value, self.enum_name)
40    }
41}
42
43impl std::error::Error for UnknownEnumValue {}
44
45impl From<UnknownEnumValue> for crate::error::SteamError {
46    fn from(value: UnknownEnumValue) -> Self {
47        crate::error::SteamError::InvalidArgument(value.to_string())
48    }
49}
50
51/// The `EMsg` enumeration.
52///
53/// Source: `lang/steammsg.steamd`.
54#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
55#[repr(i32)]
56pub enum EMsg {
57    Invalid = 0,
58    Multi = 1,
59    ProtobufWrapped = 2,
60    BaseGeneral = 100,
61    DestJobFailed = 113,
62    Alert = 115,
63    SCIDRequest = 120,
64    SCIDResponse = 121,
65    JobHeartbeat = 123,
66    HubConnect = 124,
67    Subscribe = 126,
68    RouteMessage = 127,
69    #[deprecated]
70    AMCreateAccountResponse = 129,
71    WGRequest = 130,
72    WGResponse = 131,
73    KeepAlive = 132,
74    WebAPIJobRequest = 133,
75    WebAPIJobResponse = 134,
76    ClientSessionStart = 135,
77    ClientSessionEnd = 136,
78    ClientSessionUpdate = 137,
79    Ping = 139,
80    PingResponse = 140,
81    Stats = 141,
82    RequestFullStatsBlock = 142,
83    LoadDBOCacheItem = 143,
84    LoadDBOCacheItemResponse = 144,
85    InvalidateDBOCacheItems = 145,
86    ServiceMethod = 146,
87    ServiceMethodResponse = 147,
88    ClientPackageVersions = 148,
89    TimestampRequest = 149,
90    TimestampResponse = 150,
91    ServiceMethodCallFromClient = 151,
92    ServiceMethodSendToClient = 152,
93    BaseShell = 200,
94    Exit = 201,
95    DirRequest = 202,
96    DirResponse = 203,
97    ZipRequest = 204,
98    ZipResponse = 205,
99    UpdateRecordResponse = 215,
100    UpdateCreditCardRequest = 221,
101    UpdateUserBanResponse = 225,
102    PrepareToExit = 226,
103    ContentDescriptionUpdate = 227,
104    TestResetServer = 228,
105    UniverseChanged = 229,
106    ShellConfigInfoUpdate = 230,
107    RequestWindowsEventLogEntries = 233,
108    ProvideWindowsEventLogEntries = 234,
109    ShellSearchLogs = 235,
110    ShellSearchLogsResponse = 236,
111    ShellCheckWindowsUpdates = 237,
112    ShellCheckWindowsUpdatesResponse = 238,
113    TestFlushDelayedSQL = 240,
114    TestFlushDelayedSQLResponse = 241,
115    EnsureExecuteScheduledTask_TEST = 242,
116    EnsureExecuteScheduledTaskResponse_TEST = 243,
117    UpdateScheduledTaskEnableState_TEST = 244,
118    UpdateScheduledTaskEnableStateResponse_TEST = 245,
119    ContentDescriptionDeltaUpdate = 246,
120    GMShellAndServerAddressUpdates = 247,
121    BaseGM = 300,
122    ShellFailed = 301,
123    ExitShells = 307,
124    ExitShell = 308,
125    GracefulExitShell = 309,
126    LicenseProcessingComplete = 316,
127    SetTestFlag = 317,
128    QueuedEmailsComplete = 318,
129    GMReportPHPError = 319,
130    GMDRMSync = 320,
131    PhysicalBoxInventory = 321,
132    UpdateConfigFile = 322,
133    TestInitDB = 323,
134    GMWriteConfigToSQL = 324,
135    GMLoadActivationCodes = 325,
136    GMQueueForFBS = 326,
137    GMSchemaConversionResults = 327,
138    GMWriteShellFailureToSQL = 329,
139    GMWriteStatsToSOS = 330,
140    GMGetServiceMethodRouting = 331,
141    GMGetServiceMethodRoutingResponse = 332,
142    GMConvertUserWallets = 333,
143    GMTestNextBuildSchemaConversion = 334,
144    GMTestNextBuildSchemaConversionResponse = 335,
145    ExpectShellRestart = 336,
146    HotFixProgress = 337,
147    GMStatsForwardToAdminConnections = 338,
148    GMGetModifiedConVars = 339,
149    GMGetModifiedConVarsResponse = 340,
150    BaseAIS = 400,
151    AISRequestContentDescription = 402,
152    AISUpdateAppInfo = 403,
153    #[deprecated]
154    AISUpdatePackageCosts = 404,
155    AISGetPackageChangeNumber = 405,
156    AISGetPackageChangeNumberResponse = 406,
157    #[deprecated]
158    AISUpdatePackageCostsResponse = 408,
159    #[deprecated]
160    AISCreateMarketingMessage = 409,
161    #[deprecated]
162    AISCreateMarketingMessageResponse = 410,
163    #[deprecated]
164    AISGetMarketingMessage = 411,
165    #[deprecated]
166    AISGetMarketingMessageResponse = 412,
167    #[deprecated]
168    AISUpdateMarketingMessage = 413,
169    #[deprecated]
170    AISUpdateMarketingMessageResponse = 414,
171    #[deprecated]
172    AISRequestMarketingMessageUpdate = 415,
173    #[deprecated]
174    AISDeleteMarketingMessage = 416,
175    AIGetAppGCFlags = 423,
176    AIGetAppGCFlagsResponse = 424,
177    AIGetAppList = 425,
178    AIGetAppListResponse = 426,
179    AISGetCouponDefinition = 429,
180    AISGetCouponDefinitionResponse = 430,
181    AISUpdateSlaveContentDescription = 431,
182    AISUpdateSlaveContentDescriptionResponse = 432,
183    AISTestEnableGC = 433,
184    BaseAM = 500,
185    AMUpdateUserBanRequest = 504,
186    AMAddLicense = 505,
187    AMSendSystemIMToUser = 508,
188    AMExtendLicense = 509,
189    AMAddMinutesToLicense = 510,
190    AMCancelLicense = 511,
191    AMInitPurchase = 512,
192    AMPurchaseResponse = 513,
193    AMGetFinalPrice = 514,
194    AMGetFinalPriceResponse = 515,
195    AMGetLegacyGameKey = 516,
196    AMGetLegacyGameKeyResponse = 517,
197    AMFindHungTransactions = 518,
198    AMSetAccountTrustedRequest = 519,
199    #[deprecated]
200    AMCompletePurchase = 521,
201    AMCancelPurchase = 522,
202    AMNewChallenge = 523,
203    AMLoadOEMTickets = 524,
204    AMFixPendingPurchase = 525,
205    AMFixPendingPurchaseResponse = 526,
206    AMIsUserBanned = 527,
207    AMRegisterKey = 528,
208    AMLoadActivationCodes = 529,
209    AMLoadActivationCodesResponse = 530,
210    AMLookupKeyResponse = 531,
211    AMLookupKey = 532,
212    AMChatCleanup = 533,
213    AMClanCleanup = 534,
214    AMFixPendingRefund = 535,
215    AMReverseChargeback = 536,
216    AMReverseChargebackResponse = 537,
217    AMClanCleanupList = 538,
218    AMGetLicenses = 539,
219    AMGetLicensesResponse = 540,
220    AMSendCartRepurchase = 541,
221    AMSendCartRepurchaseResponse = 542,
222    AllowUserToPlayQuery = 550,
223    AllowUserToPlayResponse = 551,
224    AMVerfiyUser = 552,
225    AMClientNotPlaying = 553,
226    AMClientRequestFriendship = 554,
227    AMRelayPublishStatus = 555,
228    AMInitPurchaseResponse = 560,
229    AMRevokePurchaseResponse = 561,
230    AMRefreshGuestPasses = 563,
231    #[deprecated]
232    AMInviteUserToClan = 564,
233    #[deprecated]
234    AMAcknowledgeClanInvite = 565,
235    AMGrantGuestPasses = 566,
236    AMClanDataUpdated = 567,
237    AMReloadAccount = 568,
238    AMClientChatMsgRelay = 569,
239    AMChatMulti = 570,
240    AMClientChatInviteRelay = 571,
241    AMChatInvite = 572,
242    AMClientJoinChatRelay = 573,
243    AMClientChatMemberInfoRelay = 574,
244    AMPublishChatMemberInfo = 575,
245    AMClientAcceptFriendInvite = 576,
246    AMChatEnter = 577,
247    AMClientPublishRemovalFromSource = 578,
248    AMChatActionResult = 579,
249    AMFindAccounts = 580,
250    AMFindAccountsResponse = 581,
251    AMRequestAccountData = 582,
252    AMRequestAccountDataResponse = 583,
253    AMSetAccountFlags = 584,
254    AMCreateClan = 586,
255    AMCreateClanResponse = 587,
256    AMGetClanDetails = 588,
257    AMGetClanDetailsResponse = 589,
258    AMSetPersonaName = 590,
259    AMSetAvatar = 591,
260    AMAuthenticateUser = 592,
261    AMAuthenticateUserResponse = 593,
262    AMP2PIntroducerMessage = 596,
263    ClientChatAction = 597,
264    AMClientChatActionRelay = 598,
265    BaseVS = 600,
266    VACResponse = 601,
267    ReqChallengeTest = 602,
268    VSMarkCheat = 604,
269    VSAddCheat = 605,
270    VSPurgeCodeModDB = 606,
271    VSGetChallengeResults = 607,
272    VSChallengeResultText = 608,
273    VSReportLingerer = 609,
274    VSRequestManagedChallenge = 610,
275    VSLoadDBFinished = 611,
276    BaseDRMS = 625,
277    DRMBuildBlobRequest = 628,
278    DRMBuildBlobResponse = 629,
279    DRMResolveGuidRequest = 630,
280    DRMResolveGuidResponse = 631,
281    DRMVariabilityReport = 633,
282    DRMVariabilityReportResponse = 634,
283    DRMStabilityReport = 635,
284    DRMStabilityReportResponse = 636,
285    DRMDetailsReportRequest = 637,
286    DRMDetailsReportResponse = 638,
287    DRMProcessFile = 639,
288    DRMAdminUpdate = 640,
289    DRMAdminUpdateResponse = 641,
290    DRMSync = 642,
291    DRMSyncResponse = 643,
292    DRMProcessFileResponse = 644,
293    DRMEmptyGuidCache = 645,
294    DRMEmptyGuidCacheResponse = 646,
295    BaseCS = 650,
296    BaseClient = 700,
297    ClientHeartBeat = 703,
298    ClientVACResponse = 704,
299    ClientLogOff = 706,
300    ClientNoUDPConnectivity = 707,
301    #[deprecated]
302    ClientInformOfCreateAccount = 708,
303    ClientConnectionStats = 710,
304    ClientPingResponse = 712,
305    ClientRemoveFriend = 714,
306    ClientGamesPlayedNoDataBlob = 715,
307    ClientChangeStatus = 716,
308    ClientVacStatusResponse = 717,
309    ClientFriendMsg = 718,
310    ClientSystemIM = 726,
311    ClientSystemIMAck = 727,
312    ClientGetLicenses = 728,
313    ClientGetLegacyGameKey = 730,
314    ClientAckVACBan2 = 732,
315    ClientGetPurchaseReceipts = 736,
316    ClientAckGuestPass = 740,
317    ClientRedeemGuestPass = 741,
318    ClientGamesPlayed = 742,
319    ClientRegisterKey = 743,
320    ClientInviteUserToClan = 744,
321    ClientAcknowledgeClanInvite = 745,
322    ClientPurchaseWithMachineID = 746,
323    ClientAppUsageEvent = 747,
324    ClientLogOnResponse = 751,
325    ClientSetHeartbeatRate = 755,
326    ClientLoggedOff = 757,
327    GSApprove = 758,
328    GSDeny = 759,
329    GSKick = 760,
330    ClientCreateAcctResponse = 761,
331    ClientPurchaseResponse = 763,
332    ClientPing = 764,
333    ClientNOP = 765,
334    ClientPersonaState = 766,
335    ClientFriendsList = 767,
336    ClientAccountInfo = 768,
337    ClientNewsUpdate = 771,
338    ClientGameConnectDeny = 773,
339    GSStatusReply = 774,
340    ClientGameConnectTokens = 779,
341    ClientLicenseList = 780,
342    ClientVACBanStatus = 782,
343    ClientEncryptPct = 784,
344    ClientGetLegacyGameKeyResponse = 785,
345    ClientAddFriend = 791,
346    ClientAddFriendResponse = 792,
347    ClientAckGuestPassResponse = 796,
348    ClientRedeemGuestPassResponse = 797,
349    ClientUpdateGuestPassesList = 798,
350    ClientChatMsg = 799,
351    ClientChatInvite = 800,
352    ClientJoinChat = 801,
353    ClientChatMemberInfo = 802,
354    ClientPasswordChangeResponse = 805,
355    ClientChatEnter = 807,
356    ClientFriendRemovedFromSource = 808,
357    ClientCreateChat = 809,
358    ClientCreateChatResponse = 810,
359    ClientP2PIntroducerMessage = 813,
360    ClientChatActionResult = 814,
361    ClientRequestFriendData = 815,
362    ClientGetUserStats = 818,
363    ClientGetUserStatsResponse = 819,
364    ClientStoreUserStats = 820,
365    ClientStoreUserStatsResponse = 821,
366    ClientClanState = 822,
367    ClientServiceModule = 830,
368    ClientServiceCall = 831,
369    ClientServiceCallResponse = 832,
370    ClientNatTraversalStatEvent = 839,
371    ClientSteamUsageEvent = 842,
372    ClientCheckPassword = 845,
373    ClientResetPassword = 846,
374    ClientCheckPasswordResponse = 848,
375    ClientResetPasswordResponse = 849,
376    ClientSessionToken = 850,
377    ClientDRMProblemReport = 851,
378    ClientSetIgnoreFriend = 855,
379    ClientSetIgnoreFriendResponse = 856,
380    ClientGetAppOwnershipTicket = 857,
381    ClientGetAppOwnershipTicketResponse = 858,
382    ClientGetLobbyListResponse = 860,
383    ClientServerList = 880,
384    ClientEmailChangeResponse = 891,
385    ClientSecretQAChangeResponse = 892,
386    ClientDRMBlobRequest = 896,
387    ClientDRMBlobResponse = 897,
388    BaseGameServer = 900,
389    GSDisconnectNotice = 901,
390    GSStatus = 903,
391    GSUserPlaying = 905,
392    GSStatus2 = 906,
393    GSStatusUpdate_Unused = 907,
394    GSServerType = 908,
395    GSPlayerList = 909,
396    GSGetUserAchievementStatus = 910,
397    GSGetUserAchievementStatusResponse = 911,
398    GSGetPlayStats = 918,
399    GSGetPlayStatsResponse = 919,
400    GSGetUserGroupStatus = 920,
401    AMGetUserGroupStatus = 921,
402    AMGetUserGroupStatusResponse = 922,
403    GSGetUserGroupStatusResponse = 923,
404    GSGetReputation = 936,
405    GSGetReputationResponse = 937,
406    GSAssociateWithClan = 938,
407    GSAssociateWithClanResponse = 939,
408    GSComputeNewPlayerCompatibility = 940,
409    GSComputeNewPlayerCompatibilityResponse = 941,
410    BaseAdmin = 1000,
411    AdminCmdResponse = 1004,
412    AdminLogListenRequest = 1005,
413    AdminLogEvent = 1006,
414    UniverseData = 1010,
415    AdminSpew = 1019,
416    AdminConsoleTitle = 1020,
417    AdminGCSpew = 1023,
418    AdminGCCommand = 1024,
419    AdminGCGetCommandList = 1025,
420    AdminGCGetCommandListResponse = 1026,
421    FBSConnectionData = 1027,
422    AdminMsgSpew = 1028,
423    BaseFBS = 1100,
424    FBSVersionInfo = 1101,
425    FBSForceRefresh = 1102,
426    FBSForceBounce = 1103,
427    FBSDeployPackage = 1104,
428    FBSDeployResponse = 1105,
429    FBSUpdateBootstrapper = 1106,
430    FBSSetState = 1107,
431    FBSApplyOSUpdates = 1108,
432    FBSRunCMDScript = 1109,
433    FBSRebootBox = 1110,
434    FBSSetBigBrotherMode = 1111,
435    FBSMinidumpServer = 1112,
436    FBSDeployHotFixPackage = 1114,
437    FBSDeployHotFixResponse = 1115,
438    FBSDownloadHotFix = 1116,
439    FBSDownloadHotFixResponse = 1117,
440    FBSUpdateTargetConfigFile = 1118,
441    FBSApplyAccountCred = 1119,
442    FBSApplyAccountCredResponse = 1120,
443    FBSSetShellCount = 1121,
444    FBSTerminateShell = 1122,
445    FBSQueryGMForRequest = 1123,
446    FBSQueryGMResponse = 1124,
447    FBSTerminateZombies = 1125,
448    FBSInfoFromBootstrapper = 1126,
449    FBSRebootBoxResponse = 1127,
450    FBSBootstrapperPackageRequest = 1128,
451    FBSBootstrapperPackageResponse = 1129,
452    FBSBootstrapperGetPackageChunk = 1130,
453    FBSBootstrapperGetPackageChunkResponse = 1131,
454    FBSBootstrapperPackageTransferProgress = 1132,
455    FBSRestartBootstrapper = 1133,
456    FBSPauseFrozenDumps = 1134,
457    BaseFileXfer = 1200,
458    FileXferResponse = 1201,
459    FileXferData = 1202,
460    FileXferEnd = 1203,
461    FileXferDataAck = 1204,
462    BaseChannelAuth = 1300,
463    ChannelAuthResponse = 1301,
464    ChannelAuthResult = 1302,
465    ChannelEncryptRequest = 1303,
466    ChannelEncryptResponse = 1304,
467    ChannelEncryptResult = 1305,
468    BaseBS = 1400,
469    BSPurchaseStart = 1401,
470    BSPurchaseResponse = 1402,
471    BSAuthenticateCCTrans = 1403,
472    BSAuthenticateCCTransResponse = 1404,
473    BSSettleComplete = 1406,
474    BSInitPayPalTxn = 1408,
475    BSInitPayPalTxnResponse = 1409,
476    BSGetPayPalUserInfo = 1410,
477    BSGetPayPalUserInfoResponse = 1411,
478    BSPaymentInstrBan = 1417,
479    BSPaymentInstrBanResponse = 1418,
480    BSInitGCBankXferTxn = 1421,
481    BSInitGCBankXferTxnResponse = 1422,
482    BSCommitGCTxn = 1425,
483    BSQueryTransactionStatus = 1426,
484    BSQueryTransactionStatusResponse = 1427,
485    BSQueryPaymentInstUsage = 1431,
486    BSQueryPaymentInstResponse = 1432,
487    BSQueryTxnExtendedInfo = 1433,
488    BSQueryTxnExtendedInfoResponse = 1434,
489    BSUpdateConversionRates = 1435,
490    BSPurchaseRunFraudChecks = 1437,
491    BSPurchaseRunFraudChecksResponse = 1438,
492    BSQueryBankInformation = 1440,
493    BSQueryBankInformationResponse = 1441,
494    BSValidateXsollaSignature = 1445,
495    BSValidateXsollaSignatureResponse = 1446,
496    BSQiwiWalletInvoice = 1448,
497    BSQiwiWalletInvoiceResponse = 1449,
498    BSUpdateInventoryFromProPack = 1450,
499    BSUpdateInventoryFromProPackResponse = 1451,
500    BSSendShippingRequest = 1452,
501    BSSendShippingRequestResponse = 1453,
502    BSGetProPackOrderStatus = 1454,
503    BSGetProPackOrderStatusResponse = 1455,
504    BSCheckJobRunning = 1456,
505    BSCheckJobRunningResponse = 1457,
506    BSResetPackagePurchaseRateLimit = 1458,
507    BSResetPackagePurchaseRateLimitResponse = 1459,
508    BSUpdatePaymentData = 1460,
509    BSUpdatePaymentDataResponse = 1461,
510    BSGetBillingAddress = 1462,
511    BSGetBillingAddressResponse = 1463,
512    BSGetCreditCardInfo = 1464,
513    BSGetCreditCardInfoResponse = 1465,
514    BSRemoveExpiredPaymentData = 1468,
515    BSRemoveExpiredPaymentDataResponse = 1469,
516    BSConvertToCurrentKeys = 1470,
517    BSConvertToCurrentKeysResponse = 1471,
518    BSInitPurchase = 1472,
519    BSInitPurchaseResponse = 1473,
520    BSCompletePurchase = 1474,
521    BSCompletePurchaseResponse = 1475,
522    BSPruneCardUsageStats = 1476,
523    BSPruneCardUsageStatsResponse = 1477,
524    BSStoreBankInformation = 1478,
525    BSStoreBankInformationResponse = 1479,
526    BSVerifyPOSAKey = 1480,
527    BSVerifyPOSAKeyResponse = 1481,
528    BSReverseRedeemPOSAKey = 1482,
529    BSReverseRedeemPOSAKeyResponse = 1483,
530    BSQueryFindCreditCard = 1484,
531    BSQueryFindCreditCardResponse = 1485,
532    BSStatusInquiryPOSAKey = 1486,
533    BSStatusInquiryPOSAKeyResponse = 1487,
534    #[deprecated]
535    BSValidateMoPaySignature = 1488,
536    #[deprecated]
537    BSValidateMoPaySignatureResponse = 1489,
538    #[deprecated]
539    BSMoPayConfirmProductDelivery = 1490,
540    #[deprecated]
541    BSMoPayConfirmProductDeliveryResponse = 1491,
542    #[deprecated]
543    BSGenerateMoPayMD5 = 1492,
544    #[deprecated]
545    BSGenerateMoPayMD5Response = 1493,
546    BSBoaCompraConfirmProductDelivery = 1494,
547    BSBoaCompraConfirmProductDeliveryResponse = 1495,
548    BSGenerateBoaCompraMD5 = 1496,
549    BSGenerateBoaCompraMD5Response = 1497,
550    BSCommitWPTxn = 1498,
551    BSCommitAdyenTxn = 1499,
552    BaseATS = 1500,
553    ATSStartStressTest = 1501,
554    ATSStopStressTest = 1502,
555    ATSRunFailServerTest = 1503,
556    ATSUFSPerfTestTask = 1504,
557    ATSUFSPerfTestResponse = 1505,
558    ATSCycleTCM = 1506,
559    ATSInitDRMSStressTest = 1507,
560    ATSCallTest = 1508,
561    ATSCallTestReply = 1509,
562    ATSStartExternalStress = 1510,
563    ATSExternalStressJobStart = 1511,
564    ATSExternalStressJobQueued = 1512,
565    ATSExternalStressJobRunning = 1513,
566    ATSExternalStressJobStopped = 1514,
567    ATSExternalStressJobStopAll = 1515,
568    ATSExternalStressActionResult = 1516,
569    ATSStarted = 1517,
570    ATSCSPerfTestTask = 1518,
571    ATSCSPerfTestResponse = 1519,
572    BaseDP = 1600,
573    DPSetPublishingState = 1601,
574    DPUniquePlayersStat = 1603,
575    DPStreamingUniquePlayersStat = 1604,
576    #[deprecated]
577    DPVacInfractionStats = 1605,
578    #[deprecated]
579    DPVacBanStats = 1606,
580    DPBlockingStats = 1607,
581    DPNatTraversalStats = 1608,
582    #[deprecated]
583    DPVacCertBanStats = 1610,
584    #[deprecated]
585    DPVacCafeBanStats = 1611,
586    DPCloudStats = 1612,
587    DPAchievementStats = 1613,
588    #[deprecated]
589    DPAccountCreationStats = 1614,
590    DPGetPlayerCount = 1615,
591    DPGetPlayerCountResponse = 1616,
592    DPGameServersPlayersStats = 1617,
593    #[deprecated]
594    DPFacebookStatistics = 1619,
595    ClientDPCheckSpecialSurvey = 1620,
596    ClientDPCheckSpecialSurveyResponse = 1621,
597    ClientDPSendSpecialSurveyResponse = 1622,
598    ClientDPSendSpecialSurveyResponseReply = 1623,
599    DPStoreSaleStatistics = 1624,
600    ClientDPUpdateAppJobReport = 1625,
601    DPUpdateContentEvent = 1626,
602    ClientDPUnsignedInstallScript = 1627,
603    DPPartnerMicroTxns = 1628,
604    DPPartnerMicroTxnsResponse = 1629,
605    ClientDPContentStatsReport = 1630,
606    DPVRUniquePlayersStat = 1631,
607    BaseCM = 1700,
608    CMSetAllowState = 1701,
609    CMSpewAllowState = 1702,
610    CMSessionRejected = 1703,
611    CMSetSecrets = 1704,
612    CMGetSecrets = 1705,
613    CMRemotePlayReplyPacket = 1706,
614    BaseGC = 2200,
615    GCCmdRevive = 2203,
616    GCCmdDown = 2206,
617    GCCmdDeploy = 2207,
618    GCCmdDeployResponse = 2208,
619    GCCmdSwitch = 2209,
620    AMRefreshSessions = 2210,
621    GCAchievementAwarded = 2212,
622    GCSystemMessage = 2213,
623    GCCmdStatus = 2216,
624    GCInterAppMessage = 2219,
625    GCGetEmailTemplate = 2220,
626    GCGetEmailTemplateResponse = 2221,
627    GCHRelay = 2222,
628    GCHRelayToClient = 2223,
629    GCHUpdateSession = 2224,
630    GCHRequestUpdateSession = 2225,
631    GCHRequestStatus = 2226,
632    GCHRequestStatusResponse = 2227,
633    GCHAccountVacStatusChange = 2228,
634    GCHSpawnGC = 2229,
635    GCHSpawnGCResponse = 2230,
636    GCHKillGC = 2231,
637    GCHKillGCResponse = 2232,
638    GCHAccountTradeBanStatusChange = 2233,
639    GCHAccountLockStatusChange = 2234,
640    GCHVacVerificationChange = 2235,
641    GCHAccountPhoneNumberChange = 2236,
642    GCHAccountTwoFactorChange = 2237,
643    GCHInviteUserToLobby = 2238,
644    GCHUpdateMultipleSessions = 2239,
645    GCHMarkAppSessionsAuthoritative = 2240,
646    GCHRecurringSubscriptionStatusChange = 2241,
647    GCHAppCheersReceived = 2242,
648    GCHAppCheersGetAllowedTypes = 2243,
649    GCHAppCheersGetAllowedTypesResponse = 2244,
650    GCHRoutingRulesFromGCHtoGM = 2245,
651    GCHRoutingRulesToGCHfromGM = 2246,
652    UpdateCMMessageRateRules = 2247,
653    BaseP2P = 2500,
654    P2PIntroducerMessage = 2502,
655    BaseSM = 2900,
656    SMExpensiveReport = 2902,
657    SMHourlyReport = 2903,
658    #[deprecated]
659    SMFishingReport = 2904,
660    SMPartitionRenames = 2905,
661    SMMonitorSpace = 2906,
662    SMTestNextBuildSchemaConversion = 2907,
663    SMTestNextBuildSchemaConversionResponse = 2908,
664    BaseTest = 3000,
665    JobHeartbeatTest = 3001,
666    JobHeartbeatTestResponse = 3002,
667    BaseFTSRange = 3100,
668    BaseCCSRange = 3150,
669    CCSDeleteAllCommentsByAuthor = 3161,
670    CCSDeleteAllCommentsByAuthorResponse = 3162,
671    BaseLBSRange = 3200,
672    LBSSetScore = 3201,
673    LBSSetScoreResponse = 3202,
674    LBSFindOrCreateLB = 3203,
675    LBSFindOrCreateLBResponse = 3204,
676    LBSGetLBEntries = 3205,
677    LBSGetLBEntriesResponse = 3206,
678    LBSGetLBList = 3207,
679    LBSGetLBListResponse = 3208,
680    LBSSetLBDetails = 3209,
681    LBSDeleteLB = 3210,
682    LBSDeleteLBEntry = 3211,
683    LBSResetLB = 3212,
684    LBSResetLBResponse = 3213,
685    LBSDeleteLBResponse = 3214,
686    BaseOGS = 3400,
687    OGSBeginSession = 3401,
688    OGSBeginSessionResponse = 3402,
689    OGSEndSession = 3403,
690    OGSEndSessionResponse = 3404,
691    OGSWriteAppSessionRow = 3406,
692    BaseBRP = 3600,
693    #[deprecated]
694    BRPStartShippingJobs = 3601,
695    #[deprecated]
696    BRPProcessUSBankReports = 3602,
697    #[deprecated]
698    BRPProcessGCReports = 3603,
699    #[deprecated]
700    BRPProcessPPReports = 3604,
701    #[deprecated]
702    BRPCommitGC = 3607,
703    #[deprecated]
704    BRPCommitGCResponse = 3608,
705    #[deprecated]
706    BRPFindHungTransactions = 3609,
707    #[deprecated]
708    BRPCheckFinanceCloseOutDate = 3610,
709    #[deprecated]
710    BRPProcessLicenses = 3611,
711    #[deprecated]
712    BRPProcessLicensesResponse = 3612,
713    #[deprecated]
714    BRPRemoveExpiredPaymentData = 3613,
715    #[deprecated]
716    BRPRemoveExpiredPaymentDataResponse = 3614,
717    #[deprecated]
718    BRPConvertToCurrentKeys = 3615,
719    #[deprecated]
720    BRPConvertToCurrentKeysResponse = 3616,
721    #[deprecated]
722    BRPPruneCardUsageStats = 3617,
723    #[deprecated]
724    BRPPruneCardUsageStatsResponse = 3618,
725    #[deprecated]
726    BRPCheckActivationCodes = 3619,
727    #[deprecated]
728    BRPCheckActivationCodesResponse = 3620,
729    #[deprecated]
730    BRPCommitWP = 3621,
731    #[deprecated]
732    BRPCommitWPResponse = 3622,
733    #[deprecated]
734    BRPProcessWPReports = 3623,
735    #[deprecated]
736    BRPProcessPaymentRules = 3624,
737    #[deprecated]
738    BRPProcessPartnerPayments = 3625,
739    #[deprecated]
740    BRPCheckSettlementReports = 3626,
741    #[deprecated]
742    BRPPostTaxToAvalara = 3628,
743    BRPPostTransactionTax = 3629,
744    BRPPostTransactionTaxResponse = 3630,
745    #[deprecated]
746    BRPProcessIMReports = 3631,
747    BaseAMRange2 = 4000,
748    AMCreateChat = 4001,
749    AMCreateChatResponse = 4002,
750    AMSetProfileURL = 4005,
751    AMGetAccountEmailAddress = 4006,
752    AMGetAccountEmailAddressResponse = 4007,
753    AMRequestClanData = 4008,
754    AMRouteToClients = 4009,
755    AMLeaveClan = 4010,
756    AMClanPermissions = 4011,
757    AMClanPermissionsResponse = 4012,
758    AMCreateClanEventDummyForRateLimiting = 4013,
759    #[deprecated]
760    AMCreateClanEventResponse = 4014,
761    AMUpdateClanEventDummyForRateLimiting = 4015,
762    #[deprecated]
763    AMUpdateClanEventResponse = 4016,
764    #[deprecated]
765    AMGetClanEvents = 4017,
766    #[deprecated]
767    AMGetClanEventsResponse = 4018,
768    #[deprecated]
769    AMDeleteClanEvent = 4019,
770    #[deprecated]
771    AMDeleteClanEventResponse = 4020,
772    AMSetClanPermissionSettings = 4021,
773    AMSetClanPermissionSettingsResponse = 4022,
774    AMGetClanPermissionSettings = 4023,
775    AMGetClanPermissionSettingsResponse = 4024,
776    AMPublishChatRoomInfo = 4025,
777    ClientChatRoomInfo = 4026,
778    AMGetClanHistory = 4039,
779    AMGetClanHistoryResponse = 4040,
780    AMGetClanPermissionBits = 4041,
781    AMGetClanPermissionBitsResponse = 4042,
782    AMSetClanPermissionBits = 4043,
783    AMSetClanPermissionBitsResponse = 4044,
784    AMSessionInfoRequest = 4045,
785    AMSessionInfoResponse = 4046,
786    AMValidateWGToken = 4047,
787    #[deprecated]
788    AMGetSingleClanEvent = 4048,
789    #[deprecated]
790    AMGetSingleClanEventResponse = 4049,
791    AMGetClanRank = 4050,
792    AMGetClanRankResponse = 4051,
793    AMSetClanRank = 4052,
794    AMSetClanRankResponse = 4053,
795    AMGetClanPOTW = 4054,
796    AMGetClanPOTWResponse = 4055,
797    AMSetClanPOTW = 4056,
798    AMSetClanPOTWResponse = 4057,
799    AMDumpUser = 4059,
800    AMKickUserFromClan = 4060,
801    AMAddFounderToClan = 4061,
802    AMValidateWGTokenResponse = 4062,
803    #[deprecated]
804    AMSetCommunityState = 4063,
805    AMSetAccountDetails = 4064,
806    AMGetChatBanList = 4065,
807    AMGetChatBanListResponse = 4066,
808    AMUnBanFromChat = 4067,
809    AMSetClanDetails = 4068,
810    AMGetAccountLinks = 4069,
811    AMGetAccountLinksResponse = 4070,
812    AMSetAccountLinks = 4071,
813    AMSetAccountLinksResponse = 4072,
814    UGSGetUserGameStats = 4073,
815    UGSGetUserGameStatsResponse = 4074,
816    AMCheckClanMembership = 4075,
817    AMGetClanMembers = 4076,
818    AMGetClanMembersResponse = 4077,
819    #[deprecated]
820    AMJoinPublicClan = 4078,
821    AMNotifyChatOfClanChange = 4079,
822    AMResubmitPurchase = 4080,
823    AMAddFriend = 4081,
824    AMAddFriendResponse = 4082,
825    AMRemoveFriend = 4083,
826    AMDumpClan = 4084,
827    AMChangeClanOwner = 4085,
828    AMCancelEasyCollect = 4086,
829    AMCancelEasyCollectResponse = 4087,
830    AMClansInCommon = 4090,
831    AMClansInCommonResponse = 4091,
832    AMIsValidAccountID = 4092,
833    #[deprecated]
834    AMConvertClan = 4093,
835    AMWipeFriendsList = 4095,
836    AMSetIgnored = 4096,
837    AMClansInCommonCountResponse = 4097,
838    AMFriendsList = 4098,
839    AMFriendsListResponse = 4099,
840    AMFriendsInCommon = 4100,
841    AMFriendsInCommonResponse = 4101,
842    AMFriendsInCommonCountResponse = 4102,
843    AMClansInCommonCount = 4103,
844    AMChallengeVerdict = 4104,
845    AMChallengeNotification = 4105,
846    AMFindGSByIP = 4106,
847    AMFoundGSByIP = 4107,
848    AMGiftRevoked = 4108,
849    #[deprecated]
850    AMCreateAccountRecord = 4109,
851    AMUserClanList = 4110,
852    AMUserClanListResponse = 4111,
853    AMGetAccountDetails2 = 4112,
854    AMGetAccountDetailsResponse2 = 4113,
855    AMSetCommunityProfileSettings = 4114,
856    AMSetCommunityProfileSettingsResponse = 4115,
857    AMGetCommunityPrivacyState = 4116,
858    AMGetCommunityPrivacyStateResponse = 4117,
859    AMCheckClanInviteRateLimiting = 4118,
860    UGSGetUserAchievementStatus = 4119,
861    AMGetIgnored = 4120,
862    AMGetIgnoredResponse = 4121,
863    AMSetIgnoredResponse = 4122,
864    AMSetFriendRelationshipNone = 4123,
865    AMGetFriendRelationship = 4124,
866    AMGetFriendRelationshipResponse = 4125,
867    AMServiceModulesCache = 4126,
868    AMServiceModulesCall = 4127,
869    AMServiceModulesCallResponse = 4128,
870    #[deprecated]
871    AMGetCaptchaDataForIP = 4129,
872    #[deprecated]
873    AMGetCaptchaDataForIPResponse = 4130,
874    #[deprecated]
875    AMValidateCaptchaDataForIP = 4131,
876    #[deprecated]
877    AMValidateCaptchaDataForIPResponse = 4132,
878    #[deprecated]
879    AMTrackFailedAuthByIP = 4133,
880    #[deprecated]
881    AMGetCaptchaDataByGID = 4134,
882    #[deprecated]
883    AMGetCaptchaDataByGIDResponse = 4135,
884    CommunityAddFriendNews = 4140,
885    AMFindClanUser = 4143,
886    AMFindClanUserResponse = 4144,
887    AMBanFromChat = 4145,
888    AMGetUserNewsSubscriptions = 4147,
889    AMGetUserNewsSubscriptionsResponse = 4148,
890    AMSetUserNewsSubscriptions = 4149,
891    AMSendQueuedEmails = 4152,
892    AMSetLicenseFlags = 4153,
893    CommunityDeleteUserNews = 4155,
894    AMAllowUserFilesRequest = 4156,
895    AMAllowUserFilesResponse = 4157,
896    AMGetAccountStatus = 4158,
897    AMGetAccountStatusResponse = 4159,
898    AMEditBanReason = 4160,
899    AMCheckClanMembershipResponse = 4161,
900    AMProbeClanMembershipList = 4162,
901    AMProbeClanMembershipListResponse = 4163,
902    UGSGetUserAchievementStatusResponse = 4164,
903    AMGetFriendsLobbies = 4165,
904    AMGetFriendsLobbiesResponse = 4166,
905    AMGetUserFriendNewsResponse = 4172,
906    CommunityGetUserFriendNews = 4173,
907    AMGetUserClansNewsResponse = 4174,
908    AMGetUserClansNews = 4175,
909    AMGetPreviousCBAccount = 4184,
910    AMGetPreviousCBAccountResponse = 4185,
911    AMGetUserLicenseHistory = 4190,
912    AMGetUserLicenseHistoryResponse = 4191,
913    AMSupportChangePassword = 4194,
914    AMSupportChangeEmail = 4195,
915    AMResetUserVerificationGSByIP = 4197,
916    AMUpdateGSPlayStats = 4198,
917    AMSupportEnableOrDisable = 4199,
918    AMGetPurchaseStatus = 4206,
919    AMSupportIsAccountEnabled = 4209,
920    AMSupportIsAccountEnabledResponse = 4210,
921    UGSGetUserStats = 4211,
922    AMSupportKickSession = 4212,
923    AMGSSearch = 4213,
924    MarketingMessageUpdate = 4216,
925    ChatServerRouteFriendMsg = 4219,
926    AMTicketAuthRequestOrResponse = 4220,
927    AMVerifyDepotManagementRights = 4222,
928    AMVerifyDepotManagementRightsResponse = 4223,
929    AMAddFreeLicense = 4224,
930    AMValidateEmailLink = 4231,
931    AMValidateEmailLinkResponse = 4232,
932    UGSStoreUserStats = 4236,
933    AMDeleteStoredCard = 4241,
934    AMRevokeLegacyGameKeys = 4242,
935    AMGetWalletDetails = 4244,
936    AMGetWalletDetailsResponse = 4245,
937    AMDeleteStoredPaymentInfo = 4246,
938    AMGetStoredPaymentSummary = 4247,
939    AMGetStoredPaymentSummaryResponse = 4248,
940    AMGetWalletConversionRate = 4249,
941    AMGetWalletConversionRateResponse = 4250,
942    AMConvertWallet = 4251,
943    AMConvertWalletResponse = 4252,
944    AMSetPreApproval = 4255,
945    AMSetPreApprovalResponse = 4256,
946    AMCreateRefund = 4258,
947    #[deprecated]
948    AMCreateRefundResponse = 4259,
949    AMCreateChargeback = 4260,
950    #[deprecated]
951    AMCreateChargebackResponse = 4261,
952    AMCreateDispute = 4262,
953    #[deprecated]
954    AMCreateDisputeResponse = 4263,
955    AMClearDispute = 4264,
956    AMCreateFinancialAdjustment = 4265,
957    AMPlayerNicknameList = 4266,
958    AMPlayerNicknameListResponse = 4267,
959    AMSetDRMTestConfig = 4268,
960    AMGetUserCurrentGameInfo = 4269,
961    AMGetUserCurrentGameInfoResponse = 4270,
962    AMGetGSPlayerList = 4271,
963    AMGetGSPlayerListResponse = 4272,
964    AMGetGameMembers = 4276,
965    AMGetGameMembersResponse = 4277,
966    AMGetSteamIDForMicroTxn = 4278,
967    AMGetSteamIDForMicroTxnResponse = 4279,
968    AMSetPartnerMember = 4280,
969    AMRemovePublisherUser = 4281,
970    AMGetUserLicenseList = 4282,
971    AMGetUserLicenseListResponse = 4283,
972    AMReloadGameGroupPolicy = 4284,
973    AMAddFreeLicenseResponse = 4285,
974    AMVACStatusUpdate = 4286,
975    AMGetAccountDetails = 4287,
976    AMGetAccountDetailsResponse = 4288,
977    AMGetPlayerLinkDetails = 4289,
978    AMGetPlayerLinkDetailsResponse = 4290,
979    AMGetAccountFlagsForWGSpoofing = 4294,
980    AMGetAccountFlagsForWGSpoofingResponse = 4295,
981    AMGetClanOfficers = 4298,
982    AMGetClanOfficersResponse = 4299,
983    AMNameChange = 4300,
984    AMGetNameHistory = 4301,
985    AMGetNameHistoryResponse = 4302,
986    AMUpdateProviderStatus = 4305,
987    AMSupportRemoveAccountSecurity = 4307,
988    AMIsAccountInCaptchaGracePeriod = 4308,
989    AMIsAccountInCaptchaGracePeriodResponse = 4309,
990    AMAccountPS3Unlink = 4310,
991    AMAccountPS3UnlinkResponse = 4311,
992    UGSStoreUserStatsResponse = 4312,
993    AMGetAccountPSNInfo = 4313,
994    AMGetAccountPSNInfoResponse = 4314,
995    AMAuthenticatedPlayerList = 4315,
996    AMGetUserGifts = 4316,
997    AMGetUserGiftsResponse = 4317,
998    AMTransferLockedGifts = 4320,
999    AMTransferLockedGiftsResponse = 4321,
1000    AMPlayerHostedOnGameServer = 4322,
1001    AMGetAccountBanInfo = 4323,
1002    AMGetAccountBanInfoResponse = 4324,
1003    AMRecordBanEnforcement = 4325,
1004    AMRollbackGiftTransfer = 4326,
1005    AMRollbackGiftTransferResponse = 4327,
1006    AMHandlePendingTransaction = 4328,
1007    AMRequestClanDetails = 4329,
1008    AMDeleteStoredPaypalAgreement = 4330,
1009    AMGameServerUpdate = 4331,
1010    AMGameServerRemove = 4332,
1011    AMGetPaypalAgreements = 4333,
1012    AMGetPaypalAgreementsResponse = 4334,
1013    AMGameServerPlayerCompatibilityCheck = 4335,
1014    AMGameServerPlayerCompatibilityCheckResponse = 4336,
1015    AMRenewLicense = 4337,
1016    AMGetAccountCommunityBanInfo = 4338,
1017    AMGetAccountCommunityBanInfoResponse = 4339,
1018    AMGameServerAccountChangePassword = 4340,
1019    AMGameServerAccountDeleteAccount = 4341,
1020    AMRenewAgreement = 4342,
1021    AMXsollaPayment = 4344,
1022    AMXsollaPaymentResponse = 4345,
1023    AMAcctAllowedToPurchase = 4346,
1024    AMAcctAllowedToPurchaseResponse = 4347,
1025    AMSwapKioskDeposit = 4348,
1026    AMSwapKioskDepositResponse = 4349,
1027    AMSetUserGiftUnowned = 4350,
1028    AMSetUserGiftUnownedResponse = 4351,
1029    AMClaimUnownedUserGift = 4352,
1030    AMClaimUnownedUserGiftResponse = 4353,
1031    AMSetClanName = 4354,
1032    AMSetClanNameResponse = 4355,
1033    AMGrantCoupon = 4356,
1034    AMGrantCouponResponse = 4357,
1035    AMIsPackageRestrictedInUserCountry = 4358,
1036    AMIsPackageRestrictedInUserCountryResponse = 4359,
1037    AMHandlePendingTransactionResponse = 4360,
1038    AMGrantGuestPasses2 = 4361,
1039    AMGrantGuestPasses2Response = 4362,
1040    #[deprecated]
1041    AMSessionQuery = 4363,
1042    #[deprecated]
1043    AMSessionQueryResponse = 4364,
1044    AMGetPlayerBanDetails = 4365,
1045    AMGetPlayerBanDetailsResponse = 4366,
1046    AMFinalizePurchase = 4367,
1047    AMFinalizePurchaseResponse = 4368,
1048    AMPersonaChangeResponse = 4372,
1049    AMGetClanDetailsForForumCreation = 4373,
1050    AMGetClanDetailsForForumCreationResponse = 4374,
1051    AMGetPendingNotificationCount = 4375,
1052    AMGetPendingNotificationCountResponse = 4376,
1053    AMPasswordHashUpgrade = 4377,
1054    #[deprecated]
1055    AMMoPayPayment = 4378,
1056    #[deprecated]
1057    AMMoPayPaymentResponse = 4379,
1058    AMBoaCompraPayment = 4380,
1059    AMBoaCompraPaymentResponse = 4381,
1060    #[deprecated]
1061    AMExpireCaptchaByGID = 4382,
1062    AMCompleteExternalPurchase = 4383,
1063    AMCompleteExternalPurchaseResponse = 4384,
1064    AMResolveNegativeWalletCredits = 4385,
1065    AMResolveNegativeWalletCreditsResponse = 4386,
1066    #[deprecated]
1067    AMPayelpPayment = 4387,
1068    #[deprecated]
1069    AMPayelpPaymentResponse = 4388,
1070    AMPlayerGetClanBasicDetails = 4389,
1071    AMPlayerGetClanBasicDetailsResponse = 4390,
1072    AMMOLPayment = 4391,
1073    AMMOLPaymentResponse = 4392,
1074    GetUserIPCountry = 4393,
1075    GetUserIPCountryResponse = 4394,
1076    NotificationOfSuspiciousActivity = 4395,
1077    AMDegicaPayment = 4396,
1078    AMDegicaPaymentResponse = 4397,
1079    AMEClubPayment = 4398,
1080    AMEClubPaymentResponse = 4399,
1081    AMPayPalPaymentsHubPayment = 4400,
1082    AMPayPalPaymentsHubPaymentResponse = 4401,
1083    AMTwoFactorRecoverAuthenticatorRequest = 4402,
1084    AMTwoFactorRecoverAuthenticatorResponse = 4403,
1085    AMSmart2PayPayment = 4404,
1086    AMSmart2PayPaymentResponse = 4405,
1087    AMValidatePasswordResetCodeAndSendSmsRequest = 4406,
1088    AMValidatePasswordResetCodeAndSendSmsResponse = 4407,
1089    AMGetAccountResetDetailsRequest = 4408,
1090    AMGetAccountResetDetailsResponse = 4409,
1091    AMBitPayPayment = 4410,
1092    AMBitPayPaymentResponse = 4411,
1093    AMSendAccountInfoUpdate = 4412,
1094    AMSendScheduledGift = 4413,
1095    AMNodwinPayment = 4414,
1096    AMNodwinPaymentResponse = 4415,
1097    AMResolveWalletRevoke = 4416,
1098    AMResolveWalletReverseRevoke = 4417,
1099    AMFundedPayment = 4418,
1100    AMFundedPaymentResponse = 4419,
1101    AMRequestPersonaUpdateForChatServer = 4420,
1102    AMPerfectWorldPayment = 4421,
1103    AMPerfectWorldPaymentResponse = 4422,
1104    AMECommPayPayment = 4423,
1105    AMECommPayPaymentResponse = 4424,
1106    AMSetRemoteClientID = 4425,
1107    BasePSRange = 5000,
1108    PSCreateShoppingCart = 5001,
1109    PSCreateShoppingCartResponse = 5002,
1110    PSIsValidShoppingCart = 5003,
1111    PSIsValidShoppingCartResponse = 5004,
1112    PSAddPackageToShoppingCart = 5005,
1113    PSAddPackageToShoppingCartResponse = 5006,
1114    PSRemoveLineItemFromShoppingCart = 5007,
1115    PSRemoveLineItemFromShoppingCartResponse = 5008,
1116    PSGetShoppingCartContents = 5009,
1117    PSGetShoppingCartContentsResponse = 5010,
1118    PSAddWalletCreditToShoppingCart = 5011,
1119    PSAddWalletCreditToShoppingCartResponse = 5012,
1120    PSGetAccountCartContents = 5013,
1121    PSGetAccountCartContentsResponse = 5014,
1122    BaseUFSRange = 5200,
1123    ClientUFSUploadFileRequest = 5202,
1124    ClientUFSUploadFileResponse = 5203,
1125    ClientUFSUploadFileChunk = 5204,
1126    ClientUFSUploadFileFinished = 5205,
1127    ClientUFSGetFileListForApp = 5206,
1128    ClientUFSGetFileListForAppResponse = 5207,
1129    ClientUFSDownloadRequest = 5210,
1130    ClientUFSDownloadResponse = 5211,
1131    ClientUFSDownloadChunk = 5212,
1132    ClientUFSLoginRequest = 5213,
1133    ClientUFSLoginResponse = 5214,
1134    UFSReloadPartitionInfo = 5215,
1135    ClientUFSTransferHeartbeat = 5216,
1136    UFSSynchronizeFile = 5217,
1137    UFSSynchronizeFileResponse = 5218,
1138    ClientUFSDeleteFileRequest = 5219,
1139    ClientUFSDeleteFileResponse = 5220,
1140    ClientUFSGetUGCDetails = 5226,
1141    ClientUFSGetUGCDetailsResponse = 5227,
1142    UFSUpdateFileFlags = 5228,
1143    UFSUpdateFileFlagsResponse = 5229,
1144    ClientUFSGetSingleFileInfo = 5230,
1145    ClientUFSGetSingleFileInfoResponse = 5231,
1146    ClientUFSShareFile = 5232,
1147    ClientUFSShareFileResponse = 5233,
1148    UFSReloadAccount = 5234,
1149    UFSReloadAccountResponse = 5235,
1150    UFSUpdateRecordBatched = 5236,
1151    UFSUpdateRecordBatchedResponse = 5237,
1152    UFSMigrateFile = 5238,
1153    UFSMigrateFileResponse = 5239,
1154    UFSGetUGCURLs = 5240,
1155    UFSGetUGCURLsResponse = 5241,
1156    UFSHttpUploadFileFinishRequest = 5242,
1157    UFSHttpUploadFileFinishResponse = 5243,
1158    UFSDownloadStartRequest = 5244,
1159    UFSDownloadStartResponse = 5245,
1160    UFSDownloadChunkRequest = 5246,
1161    UFSDownloadChunkResponse = 5247,
1162    UFSDownloadFinishRequest = 5248,
1163    UFSDownloadFinishResponse = 5249,
1164    UFSFlushURLCache = 5250,
1165    ClientUFSUploadCommit = 5251,
1166    ClientUFSUploadCommitResponse = 5252,
1167    UFSMigrateFileAppID = 5253,
1168    UFSMigrateFileAppIDResponse = 5254,
1169    BaseClient2 = 5400,
1170    ClientRequestForgottenPasswordEmail = 5401,
1171    ClientRequestForgottenPasswordEmailResponse = 5402,
1172    ClientCreateAccountResponse = 5403,
1173    ClientResetForgottenPassword = 5404,
1174    ClientResetForgottenPasswordResponse = 5405,
1175    #[deprecated]
1176    ClientCreateAccount2 = 5406,
1177    ClientInformOfResetForgottenPassword = 5407,
1178    ClientInformOfResetForgottenPasswordResponse = 5408,
1179    ClientGamesPlayedWithDataBlob = 5410,
1180    ClientUpdateUserGameInfo = 5411,
1181    ClientFileToDownload = 5412,
1182    ClientFileToDownloadResponse = 5413,
1183    ClientLBSSetScore = 5414,
1184    ClientLBSSetScoreResponse = 5415,
1185    ClientLBSFindOrCreateLB = 5416,
1186    ClientLBSFindOrCreateLBResponse = 5417,
1187    ClientLBSGetLBEntries = 5418,
1188    ClientLBSGetLBEntriesResponse = 5419,
1189    ClientChatDeclined = 5426,
1190    ClientFriendMsgIncoming = 5427,
1191    ClientTicketAuthComplete = 5429,
1192    ClientIsLimitedAccount = 5430,
1193    ClientRequestAuthList = 5431,
1194    ClientAuthList = 5432,
1195    ClientStat = 5433,
1196    ClientP2PConnectionInfo = 5434,
1197    ClientP2PConnectionFailInfo = 5435,
1198    ClientGetDepotDecryptionKey = 5438,
1199    ClientGetDepotDecryptionKeyResponse = 5439,
1200    GSPerformHardwareSurvey = 5440,
1201    ClientEnableTestLicense = 5443,
1202    ClientEnableTestLicenseResponse = 5444,
1203    ClientDisableTestLicense = 5445,
1204    ClientDisableTestLicenseResponse = 5446,
1205    ClientRequestValidationMail = 5448,
1206    ClientRequestValidationMailResponse = 5449,
1207    ClientCheckAppBetaPassword = 5450,
1208    ClientCheckAppBetaPasswordResponse = 5451,
1209    ClientToGC = 5452,
1210    ClientFromGC = 5453,
1211    ClientRequestChangeMail = 5454,
1212    ClientRequestChangeMailResponse = 5455,
1213    ClientEmailAddrInfo = 5456,
1214    ClientPasswordChange3 = 5457,
1215    ClientEmailChange3 = 5458,
1216    ClientPersonalQAChange3 = 5459,
1217    ClientResetForgottenPassword3 = 5460,
1218    ClientRequestForgottenPasswordEmail3 = 5461,
1219    ClientNewLoginKey = 5463,
1220    ClientNewLoginKeyAccepted = 5464,
1221    ClientStoreUserStats2 = 5466,
1222    ClientStatsUpdated = 5467,
1223    ClientActivateOEMLicense = 5468,
1224    ClientRegisterOEMMachine = 5469,
1225    ClientRegisterOEMMachineResponse = 5470,
1226    ClientRequestedClientStats = 5480,
1227    ClientStat2Int32 = 5481,
1228    ClientStat2 = 5482,
1229    ClientVerifyPassword = 5483,
1230    ClientVerifyPasswordResponse = 5484,
1231    ClientDRMDownloadRequest = 5485,
1232    ClientDRMDownloadResponse = 5486,
1233    ClientDRMFinalResult = 5487,
1234    ClientGetFriendsWhoPlayGame = 5488,
1235    ClientGetFriendsWhoPlayGameResponse = 5489,
1236    ClientOGSBeginSession = 5490,
1237    ClientOGSBeginSessionResponse = 5491,
1238    ClientOGSEndSession = 5492,
1239    ClientOGSEndSessionResponse = 5493,
1240    ClientOGSWriteRow = 5494,
1241    ClientDRMTest = 5495,
1242    ClientDRMTestResult = 5496,
1243    ClientStartPeerContentServer = 5497,
1244    ClientStartPeerContentServerResponse = 5498,
1245    ClientServerUnavailable = 5500,
1246    ClientServersAvailable = 5501,
1247    ClientRegisterAuthTicketWithCM = 5502,
1248    ClientGCMsgFailed = 5503,
1249    ClientMicroTxnAuthRequest = 5504,
1250    ClientMicroTxnAuthorize = 5505,
1251    ClientMicroTxnAuthorizeResponse = 5506,
1252    ClientAppMinutesPlayedData = 5507,
1253    ClientGetMicroTxnInfo = 5508,
1254    ClientGetMicroTxnInfoResponse = 5509,
1255    ClientMarketingMessageUpdate2 = 5510,
1256    ClientDeregisterWithServer = 5511,
1257    ClientSubscribeToPersonaFeed = 5512,
1258    ClientLogon = 5514,
1259    ClientGetClientDetails = 5515,
1260    ClientGetClientDetailsResponse = 5516,
1261    ClientReportOverlayDetourFailure = 5517,
1262    ClientGetClientAppList = 5518,
1263    ClientGetClientAppListResponse = 5519,
1264    ClientInstallClientApp = 5520,
1265    ClientInstallClientAppResponse = 5521,
1266    ClientUninstallClientApp = 5522,
1267    ClientUninstallClientAppResponse = 5523,
1268    ClientSetClientAppUpdateState = 5524,
1269    ClientSetClientAppUpdateStateResponse = 5525,
1270    ClientRequestEncryptedAppTicket = 5526,
1271    ClientRequestEncryptedAppTicketResponse = 5527,
1272    ClientWalletInfoUpdate = 5528,
1273    ClientLBSSetUGC = 5529,
1274    ClientLBSSetUGCResponse = 5530,
1275    ClientAMGetClanOfficers = 5531,
1276    ClientAMGetClanOfficersResponse = 5532,
1277    ClientFriendProfileInfo = 5535,
1278    ClientFriendProfileInfoResponse = 5536,
1279    ClientUpdateMachineAuth = 5537,
1280    ClientUpdateMachineAuthResponse = 5538,
1281    ClientReadMachineAuth = 5539,
1282    ClientReadMachineAuthResponse = 5540,
1283    ClientRequestMachineAuth = 5541,
1284    ClientRequestMachineAuthResponse = 5542,
1285    ClientScreenshotsChanged = 5543,
1286    #[deprecated]
1287    ClientEmailChange4 = 5544,
1288    #[deprecated]
1289    ClientEmailChangeResponse4 = 5545,
1290    ClientGetCDNAuthToken = 5546,
1291    ClientGetCDNAuthTokenResponse = 5547,
1292    ClientDownloadRateStatistics = 5548,
1293    ClientRequestAccountData = 5549,
1294    ClientRequestAccountDataResponse = 5550,
1295    ClientResetForgottenPassword4 = 5551,
1296    ClientHideFriend = 5552,
1297    ClientFriendsGroupsList = 5553,
1298    ClientGetClanActivityCounts = 5554,
1299    ClientGetClanActivityCountsResponse = 5555,
1300    ClientOGSReportString = 5556,
1301    ClientOGSReportBug = 5557,
1302    ClientSentLogs = 5558,
1303    ClientLogonGameServer = 5559,
1304    AMClientCreateFriendsGroup = 5560,
1305    AMClientCreateFriendsGroupResponse = 5561,
1306    AMClientDeleteFriendsGroup = 5562,
1307    AMClientDeleteFriendsGroupResponse = 5563,
1308    AMClientManageFriendsGroup = 5564,
1309    AMClientManageFriendsGroupResponse = 5565,
1310    AMClientAddFriendToGroup = 5566,
1311    AMClientAddFriendToGroupResponse = 5567,
1312    AMClientRemoveFriendFromGroup = 5568,
1313    AMClientRemoveFriendFromGroupResponse = 5569,
1314    ClientAMGetPersonaNameHistory = 5570,
1315    ClientAMGetPersonaNameHistoryResponse = 5571,
1316    ClientRequestFreeLicense = 5572,
1317    ClientRequestFreeLicenseResponse = 5573,
1318    ClientDRMDownloadRequestWithCrashData = 5574,
1319    ClientAuthListAck = 5575,
1320    ClientItemAnnouncements = 5576,
1321    ClientRequestItemAnnouncements = 5577,
1322    ClientFriendMsgEchoToSender = 5578,
1323    ClientOGSGameServerPingSample = 5581,
1324    ClientCommentNotifications = 5582,
1325    ClientRequestCommentNotifications = 5583,
1326    ClientPersonaChangeResponse = 5584,
1327    ClientRequestWebAPIAuthenticateUserNonce = 5585,
1328    ClientRequestWebAPIAuthenticateUserNonceResponse = 5586,
1329    ClientPlayerNicknameList = 5587,
1330    AMClientSetPlayerNickname = 5588,
1331    AMClientSetPlayerNicknameResponse = 5589,
1332    #[deprecated]
1333    ClientCreateAccountProto = 5590,
1334    #[deprecated]
1335    ClientCreateAccountProtoResponse = 5591,
1336    ClientGetNumberOfCurrentPlayersDP = 5592,
1337    ClientGetNumberOfCurrentPlayersDPResponse = 5593,
1338    ClientServiceMethodLegacy = 5594,
1339    ClientServiceMethodLegacyResponse = 5595,
1340    ClientFriendUserStatusPublished = 5596,
1341    ClientCurrentUIMode = 5597,
1342    ClientVanityURLChangedNotification = 5598,
1343    ClientUserNotifications = 5599,
1344    BaseDFS = 5600,
1345    DFSGetFile = 5601,
1346    DFSInstallLocalFile = 5602,
1347    DFSConnection = 5603,
1348    DFSConnectionReply = 5604,
1349    ClientDFSAuthenticateRequest = 5605,
1350    ClientDFSAuthenticateResponse = 5606,
1351    ClientDFSEndSession = 5607,
1352    DFSPurgeFile = 5608,
1353    DFSRouteFile = 5609,
1354    DFSGetFileFromServer = 5610,
1355    DFSAcceptedResponse = 5611,
1356    DFSRequestPingback = 5612,
1357    DFSRecvTransmitFile = 5613,
1358    DFSSendTransmitFile = 5614,
1359    DFSRequestPingback2 = 5615,
1360    DFSResponsePingback2 = 5616,
1361    ClientDFSDownloadStatus = 5617,
1362    DFSStartTransfer = 5618,
1363    DFSTransferComplete = 5619,
1364    DFSRouteFileResponse = 5620,
1365    ClientNetworkingCertRequest = 5621,
1366    ClientNetworkingCertRequestResponse = 5622,
1367    ClientChallengeRequest = 5623,
1368    ClientChallengeResponse = 5624,
1369    BadgeCraftedNotification = 5625,
1370    ClientNetworkingMobileCertRequest = 5626,
1371    ClientNetworkingMobileCertRequestResponse = 5627,
1372    BaseMDS = 5800,
1373    AMToMDSGetDepotDecryptionKey = 5812,
1374    MDSToAMGetDepotDecryptionKeyResponse = 5813,
1375    MDSContentServerConfigRequest = 5827,
1376    MDSContentServerConfig = 5828,
1377    MDSGetDepotManifest = 5829,
1378    MDSGetDepotManifestResponse = 5830,
1379    MDSGetDepotManifestChunk = 5831,
1380    MDSGetDepotChunk = 5832,
1381    MDSGetDepotChunkResponse = 5833,
1382    MDSGetDepotChunkChunk = 5834,
1383    #[deprecated]
1384    MDSGetServerListForUser = 5836,
1385    #[deprecated]
1386    MDSGetServerListForUserResponse = 5837,
1387    MDSToCSFlushChunk = 5844,
1388    MDSMigrateChunk = 5847,
1389    MDSMigrateChunkResponse = 5848,
1390    MDSToCSFlushManifest = 5849,
1391    CSBase = 6200,
1392    CSPing = 6201,
1393    CSPingResponse = 6202,
1394    GMSBase = 6400,
1395    GMSGameServerReplicate = 6401,
1396    ClientGMSServerQuery = 6403,
1397    GMSClientServerQueryResponse = 6404,
1398    AMGMSGameServerUpdate = 6405,
1399    AMGMSGameServerRemove = 6406,
1400    GameServerOutOfDate = 6407,
1401    DeviceAuthorizationBase = 6500,
1402    ClientAuthorizeLocalDeviceRequest = 6501,
1403    ClientAuthorizeLocalDeviceResponse = 6502,
1404    ClientDeauthorizeDeviceRequest = 6503,
1405    ClientDeauthorizeDevice = 6504,
1406    ClientUseLocalDeviceAuthorizations = 6505,
1407    ClientGetAuthorizedDevices = 6506,
1408    ClientGetAuthorizedDevicesResponse = 6507,
1409    AMNotifySessionDeviceAuthorized = 6508,
1410    ClientAuthorizeLocalDeviceNotification = 6509,
1411    MMSBase = 6600,
1412    ClientMMSCreateLobby = 6601,
1413    ClientMMSCreateLobbyResponse = 6602,
1414    ClientMMSJoinLobby = 6603,
1415    ClientMMSJoinLobbyResponse = 6604,
1416    ClientMMSLeaveLobby = 6605,
1417    ClientMMSLeaveLobbyResponse = 6606,
1418    ClientMMSGetLobbyList = 6607,
1419    ClientMMSGetLobbyListResponse = 6608,
1420    ClientMMSSetLobbyData = 6609,
1421    ClientMMSSetLobbyDataResponse = 6610,
1422    ClientMMSGetLobbyData = 6611,
1423    ClientMMSLobbyData = 6612,
1424    ClientMMSSendLobbyChatMsg = 6613,
1425    ClientMMSLobbyChatMsg = 6614,
1426    ClientMMSSetLobbyOwner = 6615,
1427    ClientMMSSetLobbyOwnerResponse = 6616,
1428    ClientMMSSetLobbyGameServer = 6617,
1429    ClientMMSLobbyGameServerSet = 6618,
1430    ClientMMSUserJoinedLobby = 6619,
1431    ClientMMSUserLeftLobby = 6620,
1432    ClientMMSInviteToLobby = 6621,
1433    ClientMMSFlushFrenemyListCache = 6622,
1434    ClientMMSFlushFrenemyListCacheResponse = 6623,
1435    ClientMMSSetLobbyLinked = 6624,
1436    ClientMMSSetRatelimitPolicyOnClient = 6625,
1437    ClientMMSGetLobbyStatus = 6626,
1438    ClientMMSGetLobbyStatusResponse = 6627,
1439    MMSGetLobbyList = 6628,
1440    MMSGetLobbyListResponse = 6629,
1441    NonStdMsgBase = 6800,
1442    NonStdMsgMemcached = 6801,
1443    NonStdMsgHTTPServer = 6802,
1444    NonStdMsgHTTPClient = 6803,
1445    NonStdMsgWGResponse = 6804,
1446    NonStdMsgPHPSimulator = 6805,
1447    NonStdMsgChase = 6806,
1448    NonStdMsgDFSTransfer = 6807,
1449    NonStdMsgTests = 6808,
1450    NonStdMsgUMQpipeAAPL = 6809,
1451    NonStdMsgSyslog = 6810,
1452    NonStdMsgLogsink = 6811,
1453    NonStdMsgSteam2Emulator = 6812,
1454    NonStdMsgRTMPServer = 6813,
1455    NonStdMsgWebSocket = 6814,
1456    NonStdMsgRedis = 6815,
1457    UDSBase = 7000,
1458    ClientUDSP2PSessionStarted = 7001,
1459    ClientUDSP2PSessionEnded = 7002,
1460    UDSRenderUserAuth = 7003,
1461    UDSRenderUserAuthResponse = 7004,
1462    ClientInviteToGame = 7005,
1463    UDSHasSession = 7006,
1464    UDSHasSessionResponse = 7007,
1465    MPASBase = 7100,
1466    MPASVacBanReset = 7101,
1467    KGSBase = 7200,
1468    UCMBase = 7300,
1469    ClientUCMAddScreenshot = 7301,
1470    ClientUCMAddScreenshotResponse = 7302,
1471    UCMResetCommunityContent = 7307,
1472    UCMResetCommunityContentResponse = 7308,
1473    ClientUCMDeleteScreenshot = 7309,
1474    ClientUCMDeleteScreenshotResponse = 7310,
1475    ClientUCMPublishFile = 7311,
1476    ClientUCMPublishFileResponse = 7312,
1477    ClientUCMDeletePublishedFile = 7315,
1478    ClientUCMDeletePublishedFileResponse = 7316,
1479    ClientUCMEnumerateUserPublishedFiles = 7317,
1480    ClientUCMEnumerateUserPublishedFilesResponse = 7318,
1481    ClientUCMEnumerateUserSubscribedFiles = 7321,
1482    ClientUCMEnumerateUserSubscribedFilesResponse = 7322,
1483    ClientUCMUpdatePublishedFile = 7325,
1484    ClientUCMUpdatePublishedFileResponse = 7326,
1485    UCMUpdatePublishedFile = 7327,
1486    UCMUpdatePublishedFileResponse = 7328,
1487    UCMDeletePublishedFile = 7329,
1488    UCMDeletePublishedFileResponse = 7330,
1489    UCMUpdatePublishedFileStat = 7331,
1490    #[deprecated]
1491    UCMUpdatePublishedFileBan = 7332,
1492    #[deprecated]
1493    UCMUpdatePublishedFileBanResponse = 7333,
1494    UCMReloadPublishedFile = 7337,
1495    UCMReloadUserFileListCaches = 7338,
1496    UCMPublishedFileReported = 7339,
1497    #[deprecated]
1498    UCMUpdatePublishedFileIncompatibleStatus = 7340,
1499    UCMPublishedFilePreviewAdd = 7341,
1500    UCMPublishedFilePreviewAddResponse = 7342,
1501    UCMPublishedFilePreviewRemove = 7343,
1502    UCMPublishedFilePreviewRemoveResponse = 7344,
1503    ClientUCMPublishedFileSubscribed = 7347,
1504    ClientUCMPublishedFileUnsubscribed = 7348,
1505    UCMPublishedFileSubscribed = 7349,
1506    UCMPublishedFileUnsubscribed = 7350,
1507    UCMPublishFile = 7351,
1508    UCMPublishFileResponse = 7352,
1509    UCMPublishedFileChildAdd = 7353,
1510    UCMPublishedFileChildAddResponse = 7354,
1511    UCMPublishedFileChildRemove = 7355,
1512    UCMPublishedFileChildRemoveResponse = 7356,
1513    UCMPublishedFileParentChanged = 7359,
1514    ClientUCMGetPublishedFilesForUser = 7360,
1515    ClientUCMGetPublishedFilesForUserResponse = 7361,
1516    ClientUCMSetUserPublishedFileAction = 7364,
1517    ClientUCMSetUserPublishedFileActionResponse = 7365,
1518    ClientUCMEnumeratePublishedFilesByUserAction = 7366,
1519    ClientUCMEnumeratePublishedFilesByUserActionResponse = 7367,
1520    ClientUCMPublishedFileDeleted = 7368,
1521    UCMGetUserSubscribedFiles = 7369,
1522    UCMGetUserSubscribedFilesResponse = 7370,
1523    UCMFixStatsPublishedFile = 7371,
1524    ClientUCMEnumerateUserSubscribedFilesWithUpdates = 7378,
1525    ClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse = 7379,
1526    UCMPublishedFileContentUpdated = 7380,
1527    ClientUCMPublishedFileUpdated = 7381,
1528    ClientWorkshopItemChangesRequest = 7382,
1529    ClientWorkshopItemChangesResponse = 7383,
1530    ClientWorkshopItemInfoRequest = 7384,
1531    ClientWorkshopItemInfoResponse = 7385,
1532    FSBase = 7500,
1533    ClientRichPresenceUpload = 7501,
1534    ClientRichPresenceRequest = 7502,
1535    ClientRichPresenceInfo = 7503,
1536    FSRichPresenceRequest = 7504,
1537    FSRichPresenceResponse = 7505,
1538    FSComputeFrenematrix = 7506,
1539    FSComputeFrenematrixResponse = 7507,
1540    FSPlayStatusNotification = 7508,
1541    #[deprecated]
1542    FSPublishPersonaStatus = 7509,
1543    FSAddOrRemoveFollower = 7510,
1544    FSAddOrRemoveFollowerResponse = 7511,
1545    FSUpdateFollowingList = 7512,
1546    FSCommentNotification = 7513,
1547    FSCommentNotificationViewed = 7514,
1548    ClientFSGetFollowerCount = 7515,
1549    ClientFSGetFollowerCountResponse = 7516,
1550    ClientFSGetIsFollowing = 7517,
1551    ClientFSGetIsFollowingResponse = 7518,
1552    ClientFSEnumerateFollowingList = 7519,
1553    ClientFSEnumerateFollowingListResponse = 7520,
1554    FSGetPendingNotificationCount = 7521,
1555    FSGetPendingNotificationCountResponse = 7522,
1556    ClientChatOfflineMessageNotification = 7523,
1557    ClientChatRequestOfflineMessageCount = 7524,
1558    ClientChatGetFriendMessageHistory = 7525,
1559    ClientChatGetFriendMessageHistoryResponse = 7526,
1560    ClientChatGetFriendMessageHistoryForOfflineMessages = 7527,
1561    ClientFSGetFriendsSteamLevels = 7528,
1562    ClientFSGetFriendsSteamLevelsResponse = 7529,
1563    AMRequestFriendData = 7530,
1564    DRMRange2 = 7600,
1565    CEGVersionSetEnableDisableResponse = 7601,
1566    CEGPropStatusDRMSRequest = 7602,
1567    CEGPropStatusDRMSResponse = 7603,
1568    CEGWhackFailureReportRequest = 7604,
1569    CEGWhackFailureReportResponse = 7605,
1570    DRMSFetchVersionSet = 7606,
1571    DRMSFetchVersionSetResponse = 7607,
1572    EconBase = 7700,
1573    EconTrading_InitiateTradeRequest = 7701,
1574    EconTrading_InitiateTradeProposed = 7702,
1575    EconTrading_InitiateTradeResponse = 7703,
1576    EconTrading_InitiateTradeResult = 7704,
1577    EconTrading_StartSession = 7705,
1578    EconTrading_CancelTradeRequest = 7706,
1579    EconFlushInventoryCache = 7707,
1580    EconFlushInventoryCacheResponse = 7708,
1581    EconCDKeyProcessTransaction = 7711,
1582    EconCDKeyProcessTransactionResponse = 7712,
1583    EconGetErrorLogs = 7713,
1584    EconGetErrorLogsResponse = 7714,
1585    RMRange = 7800,
1586    RMTestVerisignOTPResponse = 7801,
1587    RMDeleteMemcachedKeys = 7803,
1588    RMRemoteInvoke = 7804,
1589    BadLoginIPList = 7805,
1590    RMMsgTraceAddTrigger = 7806,
1591    RMMsgTraceRemoveTrigger = 7807,
1592    RMMsgTraceEvent = 7808,
1593    UGSBase = 7900,
1594    ClientUGSGetGlobalStats = 7901,
1595    ClientUGSGetGlobalStatsResponse = 7902,
1596    StoreBase = 8000,
1597    UMQBase = 8100,
1598    UMQLogonResponse = 8101,
1599    UMQLogoffRequest = 8102,
1600    UMQLogoffResponse = 8103,
1601    UMQSendChatMessage = 8104,
1602    UMQIncomingChatMessage = 8105,
1603    UMQPoll = 8106,
1604    UMQPollResults = 8107,
1605    UMQ2AM_ClientMsgBatch = 8108,
1606    WorkshopBase = 8200,
1607    WebAPIBase = 8300,
1608    WebAPIValidateOAuth2TokenResponse = 8301,
1609    WebAPIRegisterGCInterfaces = 8303,
1610    WebAPIInvalidateOAuthClientCache = 8304,
1611    WebAPIInvalidateOAuthTokenCache = 8305,
1612    WebAPISetSecrets = 8306,
1613    BackpackBase = 8400,
1614    BackpackAddToCurrency = 8401,
1615    BackpackAddToCurrencyResponse = 8402,
1616    CREBase = 8500,
1617    CREItemVoteSummary = 8503,
1618    CREItemVoteSummaryResponse = 8504,
1619    CREUpdateUserPublishedItemVote = 8507,
1620    CREUpdateUserPublishedItemVoteResponse = 8508,
1621    CREGetUserPublishedItemVoteDetails = 8509,
1622    CREGetUserPublishedItemVoteDetailsResponse = 8510,
1623    CREEnumeratePublishedFiles = 8511,
1624    CREEnumeratePublishedFilesResponse = 8512,
1625    CREPublishedFileVoteAdded = 8513,
1626    SecretsBase = 8600,
1627    SecretsCredentialPairResponse = 8601,
1628    BoxMonitorBase = 8700,
1629    BoxMonitorReportResponse = 8701,
1630    LogsinkBase = 8800,
1631    PICSBase = 8900,
1632    ClientPICSChangesSinceRequest = 8901,
1633    ClientPICSChangesSinceResponse = 8902,
1634    ClientPICSProductInfoRequest = 8903,
1635    ClientPICSProductInfoResponse = 8904,
1636    ClientPICSAccessTokenRequest = 8905,
1637    ClientPICSAccessTokenResponse = 8906,
1638    ClientPICSPrivateBetaRequest = 8907,
1639    ClientPICSPrivateBetaResponse = 8908,
1640    WorkerProcess = 9000,
1641    WorkerProcessPingResponse = 9001,
1642    WorkerProcessShutdown = 9002,
1643    DRMWorkerProcess = 9100,
1644    DRMWorkerProcessDRMAndSignResponse = 9101,
1645    DRMWorkerProcessSteamworksInfoRequest = 9102,
1646    DRMWorkerProcessSteamworksInfoResponse = 9103,
1647    DRMWorkerProcessInstallDRMDLLRequest = 9104,
1648    DRMWorkerProcessInstallDRMDLLResponse = 9105,
1649    DRMWorkerProcessSecretIdStringRequest = 9106,
1650    DRMWorkerProcessSecretIdStringResponse = 9107,
1651    DRMWorkerProcessInstallProcessedFilesRequest = 9110,
1652    DRMWorkerProcessInstallProcessedFilesResponse = 9111,
1653    DRMWorkerProcessExamineBlobRequest = 9112,
1654    DRMWorkerProcessExamineBlobResponse = 9113,
1655    DRMWorkerProcessDescribeSecretRequest = 9114,
1656    DRMWorkerProcessDescribeSecretResponse = 9115,
1657    DRMWorkerProcessBackfillOriginalRequest = 9116,
1658    DRMWorkerProcessBackfillOriginalResponse = 9117,
1659    DRMWorkerProcessValidateDRMDLLRequest = 9118,
1660    DRMWorkerProcessValidateDRMDLLResponse = 9119,
1661    DRMWorkerProcessValidateFileRequest = 9120,
1662    DRMWorkerProcessValidateFileResponse = 9121,
1663    DRMWorkerProcessSplitAndInstallRequest = 9122,
1664    DRMWorkerProcessSplitAndInstallResponse = 9123,
1665    DRMWorkerProcessGetBlobRequest = 9124,
1666    DRMWorkerProcessGetBlobResponse = 9125,
1667    DRMWorkerProcessEvaluateCrashRequest = 9126,
1668    DRMWorkerProcessEvaluateCrashResponse = 9127,
1669    DRMWorkerProcessAnalyzeFileRequest = 9128,
1670    DRMWorkerProcessAnalyzeFileResponse = 9129,
1671    DRMWorkerProcessUnpackBlobRequest = 9130,
1672    DRMWorkerProcessUnpackBlobResponse = 9131,
1673    DRMWorkerProcessInstallAllRequest = 9132,
1674    DRMWorkerProcessInstallAllResponse = 9133,
1675    DRMWorkerProcessSignFile = 9134,
1676    DRMWorkerProcessSignFileResponse = 9135,
1677    TestWorkerProcess = 9200,
1678    TestWorkerProcessLoadUnloadModuleResponse = 9201,
1679    TestWorkerProcessServiceModuleCallRequest = 9202,
1680    TestWorkerProcessServiceModuleCallResponse = 9203,
1681    QuestServerBase = 9300,
1682    ClientGetEmoticonList = 9330,
1683    ClientEmoticonList = 9331,
1684    SLCBase = 9400,
1685    SLCRequestUserSessionStatus = 9401,
1686    SLCSharedLicensesLockStatus = 9402,
1687    ClientSharedLibraryLockStatus = 9405,
1688    ClientSharedLibraryStopPlaying = 9406,
1689    SLCOwnerLibraryChanged = 9407,
1690    SLCSharedLibraryChanged = 9408,
1691    RemoteClientBase = 9500,
1692    #[deprecated]
1693    RemoteClientAuthResponse = 9501,
1694    RemoteClientAppStatus = 9502,
1695    RemoteClientStartStream = 9503,
1696    RemoteClientStartStreamResponse = 9504,
1697    RemoteClientPing = 9505,
1698    RemoteClientPingResponse = 9506,
1699    ClientUnlockStreaming = 9507,
1700    ClientUnlockStreamingResponse = 9508,
1701    RemoteClientAcceptEULA = 9509,
1702    RemoteClientGetControllerConfig = 9510,
1703    RemoteClientGetControllerConfigResponse = 9511,
1704    RemoteClientStreamingEnabled = 9512,
1705    ClientUnlockHEVC = 9513,
1706    ClientUnlockHEVCResponse = 9514,
1707    RemoteClientStatusRequest = 9515,
1708    RemoteClientStatusResponse = 9516,
1709    RemoteClientAuthorizationRequest = 9517,
1710    RemoteClientAuthorizationResponse = 9518,
1711    RemoteClientAuthorizationCancelRequest = 9519,
1712    RemoteClientAuthorizationConfirmed = 9520,
1713    RemoteClientProofRequest = 9521,
1714    RemoteClientProofResponse = 9522,
1715    ClientConcurrentSessionsBase = 9600,
1716    ClientKickPlayingSession = 9601,
1717    ClientBroadcastBase = 9700,
1718    ClientBroadcastFrames = 9701,
1719    ClientBroadcastDisconnect = 9702,
1720    ClientBroadcastScreenshot = 9703,
1721    ClientBroadcastUploadConfig = 9704,
1722    BaseClient3 = 9800,
1723    ClientVoiceCallPreAuthorizeResponse = 9801,
1724    ClientServerTimestampRequest = 9802,
1725    ClientServerTimestampResponse = 9803,
1726    ServiceMethodCallFromClientNonAuthed = 9804,
1727    ClientHello = 9805,
1728    ClientEnableOrDisableDownloads = 9806,
1729    ClientEnableOrDisableDownloadsResponse = 9807,
1730    ClientFeatureGroupInfo = 9808,
1731    ClientLANP2PBase = 9900,
1732    ClientLANP2PRequestChunkResponse = 9901,
1733    ClientPeerChunkRequest = 9902,
1734    ClientPeerChunkResponse = 9903,
1735    ClientLANP2PMax = 9999,
1736    BaseWatchdogServer = 10000,
1737    ClientSiteLicenseBase = 10100,
1738    ClientSiteLicenseCheckout = 10101,
1739    ClientSiteLicenseCheckoutResponse = 10102,
1740    ClientSiteLicenseGetAvailableSeats = 10103,
1741    ClientSiteLicenseGetAvailableSeatsResponse = 10104,
1742    ClientSiteLicenseGetContentCacheInfo = 10105,
1743    ClientSiteLicenseGetContentCacheInfoResponse = 10106,
1744    BaseChatServer = 12000,
1745    ChatServerGetPendingNotificationCountResponse = 12001,
1746    BaseSecretServer = 12100,
1747    BaseWG = 12200,
1748    WGConnectionValidateUserToken = 12201,
1749    WGConnectionValidateUserTokenResponse = 12202,
1750    WGConnectionLegacyWGRequest = 12203,
1751    WGConnectionLegacyWGResponse = 12204,
1752    ClientPendingGameLaunch = 12300,
1753    ClientPendingGameLaunchResponse = 12301,
1754}
1755
1756#[allow(deprecated)]
1757impl EMsg {
1758    /// Alias of [`EMsg::BaseGeneral`].
1759    pub const GenericReply: EMsg = EMsg::BaseGeneral;
1760    /// Alias of [`EMsg::BaseShell`].
1761    pub const AssignSysID: EMsg = EMsg::BaseShell;
1762    /// Alias of [`EMsg::BaseGM`].
1763    pub const Heartbeat: EMsg = EMsg::BaseGM;
1764    /// Alias of [`EMsg::BaseVS`].
1765    pub const ReqChallenge: EMsg = EMsg::BaseVS;
1766    /// Alias of [`EMsg::BaseAdmin`].
1767    pub const AdminCmd: EMsg = EMsg::BaseAdmin;
1768    /// Alias of [`EMsg::BaseFBS`].
1769    pub const FBSReqVersion: EMsg = EMsg::BaseFBS;
1770    /// Alias of [`EMsg::BaseFileXfer`].
1771    pub const FileXferRequest: EMsg = EMsg::BaseFileXfer;
1772    /// Alias of [`EMsg::BaseChannelAuth`].
1773    pub const ChannelAuthChallenge: EMsg = EMsg::BaseChannelAuth;
1774    /// Alias of [`EMsg::BaseTest`].
1775    pub const FailServer: EMsg = EMsg::BaseTest;
1776    /// Alias of [`EMsg::DRMRange2`].
1777    pub const CEGVersionSetEnableDisableRequest: EMsg = EMsg::DRMRange2;
1778    /// Alias of [`EMsg::RMRange`].
1779    pub const RMTestVerisignOTP: EMsg = EMsg::RMRange;
1780    /// Alias of [`EMsg::UGSBase`].
1781    pub const UGSUpdateGlobalStats: EMsg = EMsg::UGSBase;
1782    /// Alias of [`EMsg::UMQBase`].
1783    pub const UMQLogonRequest: EMsg = EMsg::UMQBase;
1784    /// Alias of [`EMsg::WebAPIBase`].
1785    pub const WebAPIValidateOAuth2Token: EMsg = EMsg::WebAPIBase;
1786    /// Alias of [`EMsg::SecretsBase`].
1787    pub const SecretsRequestCredentialPair: EMsg = EMsg::SecretsBase;
1788    /// Alias of [`EMsg::BoxMonitorBase`].
1789    pub const BoxMonitorReportRequest: EMsg = EMsg::BoxMonitorBase;
1790    /// Alias of [`EMsg::LogsinkBase`].
1791    pub const LogsinkWriteReport: EMsg = EMsg::LogsinkBase;
1792    /// Alias of [`EMsg::WorkerProcess`].
1793    pub const WorkerProcessPingRequest: EMsg = EMsg::WorkerProcess;
1794    /// Alias of [`EMsg::DRMWorkerProcess`].
1795    pub const DRMWorkerProcessDRMAndSign: EMsg = EMsg::DRMWorkerProcess;
1796    /// Alias of [`EMsg::TestWorkerProcess`].
1797    pub const TestWorkerProcessLoadUnloadModuleRequest: EMsg = EMsg::TestWorkerProcess;
1798    /// Alias of [`EMsg::SLCBase`].
1799    pub const SLCUserSessionStatus: EMsg = EMsg::SLCBase;
1800    /// Alias of [`EMsg::RemoteClientBase`].
1801    pub const RemoteClientAuth: EMsg = EMsg::RemoteClientBase;
1802    /// Alias of [`EMsg::ClientConcurrentSessionsBase`].
1803    pub const ClientPlayingSessionState: EMsg = EMsg::ClientConcurrentSessionsBase;
1804    /// Alias of [`EMsg::ClientBroadcastBase`].
1805    pub const ClientBroadcastInit: EMsg = EMsg::ClientBroadcastBase;
1806    /// Alias of [`EMsg::BaseClient3`].
1807    pub const ClientVoiceCallPreAuthorize: EMsg = EMsg::BaseClient3;
1808    /// Alias of [`EMsg::ClientLANP2PBase`].
1809    pub const ClientLANP2PRequestChunk: EMsg = EMsg::ClientLANP2PBase;
1810    /// Alias of [`EMsg::BaseWatchdogServer`].
1811    pub const NotifyWatchdog: EMsg = EMsg::BaseWatchdogServer;
1812    /// Alias of [`EMsg::ClientSiteLicenseBase`].
1813    pub const ClientSiteLicenseSiteInfoNotification: EMsg = EMsg::ClientSiteLicenseBase;
1814    /// Alias of [`EMsg::BaseChatServer`].
1815    pub const ChatServerGetPendingNotificationCount: EMsg = EMsg::BaseChatServer;
1816    /// Alias of [`EMsg::BaseSecretServer`].
1817    pub const ServerSecretChanged: EMsg = EMsg::BaseSecretServer;
1818    /// Alias of [`EMsg::BaseWG`].
1819    pub const WGConnectionProtocolError: EMsg = EMsg::BaseWG;
1820
1821    /// Every variant of `EMsg`.
1822    pub const ALL: &'static [EMsg] = &[
1823        EMsg::Invalid,
1824        EMsg::Multi,
1825        EMsg::ProtobufWrapped,
1826        EMsg::BaseGeneral,
1827        EMsg::GenericReply,
1828        EMsg::DestJobFailed,
1829        EMsg::Alert,
1830        EMsg::SCIDRequest,
1831        EMsg::SCIDResponse,
1832        EMsg::JobHeartbeat,
1833        EMsg::HubConnect,
1834        EMsg::Subscribe,
1835        EMsg::RouteMessage,
1836        EMsg::AMCreateAccountResponse,
1837        EMsg::WGRequest,
1838        EMsg::WGResponse,
1839        EMsg::KeepAlive,
1840        EMsg::WebAPIJobRequest,
1841        EMsg::WebAPIJobResponse,
1842        EMsg::ClientSessionStart,
1843        EMsg::ClientSessionEnd,
1844        EMsg::ClientSessionUpdate,
1845        EMsg::Ping,
1846        EMsg::PingResponse,
1847        EMsg::Stats,
1848        EMsg::RequestFullStatsBlock,
1849        EMsg::LoadDBOCacheItem,
1850        EMsg::LoadDBOCacheItemResponse,
1851        EMsg::InvalidateDBOCacheItems,
1852        EMsg::ServiceMethod,
1853        EMsg::ServiceMethodResponse,
1854        EMsg::ClientPackageVersions,
1855        EMsg::TimestampRequest,
1856        EMsg::TimestampResponse,
1857        EMsg::ServiceMethodCallFromClient,
1858        EMsg::ServiceMethodSendToClient,
1859        EMsg::BaseShell,
1860        EMsg::AssignSysID,
1861        EMsg::Exit,
1862        EMsg::DirRequest,
1863        EMsg::DirResponse,
1864        EMsg::ZipRequest,
1865        EMsg::ZipResponse,
1866        EMsg::UpdateRecordResponse,
1867        EMsg::UpdateCreditCardRequest,
1868        EMsg::UpdateUserBanResponse,
1869        EMsg::PrepareToExit,
1870        EMsg::ContentDescriptionUpdate,
1871        EMsg::TestResetServer,
1872        EMsg::UniverseChanged,
1873        EMsg::ShellConfigInfoUpdate,
1874        EMsg::RequestWindowsEventLogEntries,
1875        EMsg::ProvideWindowsEventLogEntries,
1876        EMsg::ShellSearchLogs,
1877        EMsg::ShellSearchLogsResponse,
1878        EMsg::ShellCheckWindowsUpdates,
1879        EMsg::ShellCheckWindowsUpdatesResponse,
1880        EMsg::TestFlushDelayedSQL,
1881        EMsg::TestFlushDelayedSQLResponse,
1882        EMsg::EnsureExecuteScheduledTask_TEST,
1883        EMsg::EnsureExecuteScheduledTaskResponse_TEST,
1884        EMsg::UpdateScheduledTaskEnableState_TEST,
1885        EMsg::UpdateScheduledTaskEnableStateResponse_TEST,
1886        EMsg::ContentDescriptionDeltaUpdate,
1887        EMsg::GMShellAndServerAddressUpdates,
1888        EMsg::BaseGM,
1889        EMsg::Heartbeat,
1890        EMsg::ShellFailed,
1891        EMsg::ExitShells,
1892        EMsg::ExitShell,
1893        EMsg::GracefulExitShell,
1894        EMsg::LicenseProcessingComplete,
1895        EMsg::SetTestFlag,
1896        EMsg::QueuedEmailsComplete,
1897        EMsg::GMReportPHPError,
1898        EMsg::GMDRMSync,
1899        EMsg::PhysicalBoxInventory,
1900        EMsg::UpdateConfigFile,
1901        EMsg::TestInitDB,
1902        EMsg::GMWriteConfigToSQL,
1903        EMsg::GMLoadActivationCodes,
1904        EMsg::GMQueueForFBS,
1905        EMsg::GMSchemaConversionResults,
1906        EMsg::GMWriteShellFailureToSQL,
1907        EMsg::GMWriteStatsToSOS,
1908        EMsg::GMGetServiceMethodRouting,
1909        EMsg::GMGetServiceMethodRoutingResponse,
1910        EMsg::GMConvertUserWallets,
1911        EMsg::GMTestNextBuildSchemaConversion,
1912        EMsg::GMTestNextBuildSchemaConversionResponse,
1913        EMsg::ExpectShellRestart,
1914        EMsg::HotFixProgress,
1915        EMsg::GMStatsForwardToAdminConnections,
1916        EMsg::GMGetModifiedConVars,
1917        EMsg::GMGetModifiedConVarsResponse,
1918        EMsg::BaseAIS,
1919        EMsg::AISRequestContentDescription,
1920        EMsg::AISUpdateAppInfo,
1921        EMsg::AISUpdatePackageCosts,
1922        EMsg::AISGetPackageChangeNumber,
1923        EMsg::AISGetPackageChangeNumberResponse,
1924        EMsg::AISUpdatePackageCostsResponse,
1925        EMsg::AISCreateMarketingMessage,
1926        EMsg::AISCreateMarketingMessageResponse,
1927        EMsg::AISGetMarketingMessage,
1928        EMsg::AISGetMarketingMessageResponse,
1929        EMsg::AISUpdateMarketingMessage,
1930        EMsg::AISUpdateMarketingMessageResponse,
1931        EMsg::AISRequestMarketingMessageUpdate,
1932        EMsg::AISDeleteMarketingMessage,
1933        EMsg::AIGetAppGCFlags,
1934        EMsg::AIGetAppGCFlagsResponse,
1935        EMsg::AIGetAppList,
1936        EMsg::AIGetAppListResponse,
1937        EMsg::AISGetCouponDefinition,
1938        EMsg::AISGetCouponDefinitionResponse,
1939        EMsg::AISUpdateSlaveContentDescription,
1940        EMsg::AISUpdateSlaveContentDescriptionResponse,
1941        EMsg::AISTestEnableGC,
1942        EMsg::BaseAM,
1943        EMsg::AMUpdateUserBanRequest,
1944        EMsg::AMAddLicense,
1945        EMsg::AMSendSystemIMToUser,
1946        EMsg::AMExtendLicense,
1947        EMsg::AMAddMinutesToLicense,
1948        EMsg::AMCancelLicense,
1949        EMsg::AMInitPurchase,
1950        EMsg::AMPurchaseResponse,
1951        EMsg::AMGetFinalPrice,
1952        EMsg::AMGetFinalPriceResponse,
1953        EMsg::AMGetLegacyGameKey,
1954        EMsg::AMGetLegacyGameKeyResponse,
1955        EMsg::AMFindHungTransactions,
1956        EMsg::AMSetAccountTrustedRequest,
1957        EMsg::AMCompletePurchase,
1958        EMsg::AMCancelPurchase,
1959        EMsg::AMNewChallenge,
1960        EMsg::AMLoadOEMTickets,
1961        EMsg::AMFixPendingPurchase,
1962        EMsg::AMFixPendingPurchaseResponse,
1963        EMsg::AMIsUserBanned,
1964        EMsg::AMRegisterKey,
1965        EMsg::AMLoadActivationCodes,
1966        EMsg::AMLoadActivationCodesResponse,
1967        EMsg::AMLookupKeyResponse,
1968        EMsg::AMLookupKey,
1969        EMsg::AMChatCleanup,
1970        EMsg::AMClanCleanup,
1971        EMsg::AMFixPendingRefund,
1972        EMsg::AMReverseChargeback,
1973        EMsg::AMReverseChargebackResponse,
1974        EMsg::AMClanCleanupList,
1975        EMsg::AMGetLicenses,
1976        EMsg::AMGetLicensesResponse,
1977        EMsg::AMSendCartRepurchase,
1978        EMsg::AMSendCartRepurchaseResponse,
1979        EMsg::AllowUserToPlayQuery,
1980        EMsg::AllowUserToPlayResponse,
1981        EMsg::AMVerfiyUser,
1982        EMsg::AMClientNotPlaying,
1983        EMsg::AMClientRequestFriendship,
1984        EMsg::AMRelayPublishStatus,
1985        EMsg::AMInitPurchaseResponse,
1986        EMsg::AMRevokePurchaseResponse,
1987        EMsg::AMRefreshGuestPasses,
1988        EMsg::AMInviteUserToClan,
1989        EMsg::AMAcknowledgeClanInvite,
1990        EMsg::AMGrantGuestPasses,
1991        EMsg::AMClanDataUpdated,
1992        EMsg::AMReloadAccount,
1993        EMsg::AMClientChatMsgRelay,
1994        EMsg::AMChatMulti,
1995        EMsg::AMClientChatInviteRelay,
1996        EMsg::AMChatInvite,
1997        EMsg::AMClientJoinChatRelay,
1998        EMsg::AMClientChatMemberInfoRelay,
1999        EMsg::AMPublishChatMemberInfo,
2000        EMsg::AMClientAcceptFriendInvite,
2001        EMsg::AMChatEnter,
2002        EMsg::AMClientPublishRemovalFromSource,
2003        EMsg::AMChatActionResult,
2004        EMsg::AMFindAccounts,
2005        EMsg::AMFindAccountsResponse,
2006        EMsg::AMRequestAccountData,
2007        EMsg::AMRequestAccountDataResponse,
2008        EMsg::AMSetAccountFlags,
2009        EMsg::AMCreateClan,
2010        EMsg::AMCreateClanResponse,
2011        EMsg::AMGetClanDetails,
2012        EMsg::AMGetClanDetailsResponse,
2013        EMsg::AMSetPersonaName,
2014        EMsg::AMSetAvatar,
2015        EMsg::AMAuthenticateUser,
2016        EMsg::AMAuthenticateUserResponse,
2017        EMsg::AMP2PIntroducerMessage,
2018        EMsg::ClientChatAction,
2019        EMsg::AMClientChatActionRelay,
2020        EMsg::BaseVS,
2021        EMsg::ReqChallenge,
2022        EMsg::VACResponse,
2023        EMsg::ReqChallengeTest,
2024        EMsg::VSMarkCheat,
2025        EMsg::VSAddCheat,
2026        EMsg::VSPurgeCodeModDB,
2027        EMsg::VSGetChallengeResults,
2028        EMsg::VSChallengeResultText,
2029        EMsg::VSReportLingerer,
2030        EMsg::VSRequestManagedChallenge,
2031        EMsg::VSLoadDBFinished,
2032        EMsg::BaseDRMS,
2033        EMsg::DRMBuildBlobRequest,
2034        EMsg::DRMBuildBlobResponse,
2035        EMsg::DRMResolveGuidRequest,
2036        EMsg::DRMResolveGuidResponse,
2037        EMsg::DRMVariabilityReport,
2038        EMsg::DRMVariabilityReportResponse,
2039        EMsg::DRMStabilityReport,
2040        EMsg::DRMStabilityReportResponse,
2041        EMsg::DRMDetailsReportRequest,
2042        EMsg::DRMDetailsReportResponse,
2043        EMsg::DRMProcessFile,
2044        EMsg::DRMAdminUpdate,
2045        EMsg::DRMAdminUpdateResponse,
2046        EMsg::DRMSync,
2047        EMsg::DRMSyncResponse,
2048        EMsg::DRMProcessFileResponse,
2049        EMsg::DRMEmptyGuidCache,
2050        EMsg::DRMEmptyGuidCacheResponse,
2051        EMsg::BaseCS,
2052        EMsg::BaseClient,
2053        EMsg::ClientHeartBeat,
2054        EMsg::ClientVACResponse,
2055        EMsg::ClientLogOff,
2056        EMsg::ClientNoUDPConnectivity,
2057        EMsg::ClientInformOfCreateAccount,
2058        EMsg::ClientConnectionStats,
2059        EMsg::ClientPingResponse,
2060        EMsg::ClientRemoveFriend,
2061        EMsg::ClientGamesPlayedNoDataBlob,
2062        EMsg::ClientChangeStatus,
2063        EMsg::ClientVacStatusResponse,
2064        EMsg::ClientFriendMsg,
2065        EMsg::ClientSystemIM,
2066        EMsg::ClientSystemIMAck,
2067        EMsg::ClientGetLicenses,
2068        EMsg::ClientGetLegacyGameKey,
2069        EMsg::ClientAckVACBan2,
2070        EMsg::ClientGetPurchaseReceipts,
2071        EMsg::ClientAckGuestPass,
2072        EMsg::ClientRedeemGuestPass,
2073        EMsg::ClientGamesPlayed,
2074        EMsg::ClientRegisterKey,
2075        EMsg::ClientInviteUserToClan,
2076        EMsg::ClientAcknowledgeClanInvite,
2077        EMsg::ClientPurchaseWithMachineID,
2078        EMsg::ClientAppUsageEvent,
2079        EMsg::ClientLogOnResponse,
2080        EMsg::ClientSetHeartbeatRate,
2081        EMsg::ClientLoggedOff,
2082        EMsg::GSApprove,
2083        EMsg::GSDeny,
2084        EMsg::GSKick,
2085        EMsg::ClientCreateAcctResponse,
2086        EMsg::ClientPurchaseResponse,
2087        EMsg::ClientPing,
2088        EMsg::ClientNOP,
2089        EMsg::ClientPersonaState,
2090        EMsg::ClientFriendsList,
2091        EMsg::ClientAccountInfo,
2092        EMsg::ClientNewsUpdate,
2093        EMsg::ClientGameConnectDeny,
2094        EMsg::GSStatusReply,
2095        EMsg::ClientGameConnectTokens,
2096        EMsg::ClientLicenseList,
2097        EMsg::ClientVACBanStatus,
2098        EMsg::ClientEncryptPct,
2099        EMsg::ClientGetLegacyGameKeyResponse,
2100        EMsg::ClientAddFriend,
2101        EMsg::ClientAddFriendResponse,
2102        EMsg::ClientAckGuestPassResponse,
2103        EMsg::ClientRedeemGuestPassResponse,
2104        EMsg::ClientUpdateGuestPassesList,
2105        EMsg::ClientChatMsg,
2106        EMsg::ClientChatInvite,
2107        EMsg::ClientJoinChat,
2108        EMsg::ClientChatMemberInfo,
2109        EMsg::ClientPasswordChangeResponse,
2110        EMsg::ClientChatEnter,
2111        EMsg::ClientFriendRemovedFromSource,
2112        EMsg::ClientCreateChat,
2113        EMsg::ClientCreateChatResponse,
2114        EMsg::ClientP2PIntroducerMessage,
2115        EMsg::ClientChatActionResult,
2116        EMsg::ClientRequestFriendData,
2117        EMsg::ClientGetUserStats,
2118        EMsg::ClientGetUserStatsResponse,
2119        EMsg::ClientStoreUserStats,
2120        EMsg::ClientStoreUserStatsResponse,
2121        EMsg::ClientClanState,
2122        EMsg::ClientServiceModule,
2123        EMsg::ClientServiceCall,
2124        EMsg::ClientServiceCallResponse,
2125        EMsg::ClientNatTraversalStatEvent,
2126        EMsg::ClientSteamUsageEvent,
2127        EMsg::ClientCheckPassword,
2128        EMsg::ClientResetPassword,
2129        EMsg::ClientCheckPasswordResponse,
2130        EMsg::ClientResetPasswordResponse,
2131        EMsg::ClientSessionToken,
2132        EMsg::ClientDRMProblemReport,
2133        EMsg::ClientSetIgnoreFriend,
2134        EMsg::ClientSetIgnoreFriendResponse,
2135        EMsg::ClientGetAppOwnershipTicket,
2136        EMsg::ClientGetAppOwnershipTicketResponse,
2137        EMsg::ClientGetLobbyListResponse,
2138        EMsg::ClientServerList,
2139        EMsg::ClientEmailChangeResponse,
2140        EMsg::ClientSecretQAChangeResponse,
2141        EMsg::ClientDRMBlobRequest,
2142        EMsg::ClientDRMBlobResponse,
2143        EMsg::BaseGameServer,
2144        EMsg::GSDisconnectNotice,
2145        EMsg::GSStatus,
2146        EMsg::GSUserPlaying,
2147        EMsg::GSStatus2,
2148        EMsg::GSStatusUpdate_Unused,
2149        EMsg::GSServerType,
2150        EMsg::GSPlayerList,
2151        EMsg::GSGetUserAchievementStatus,
2152        EMsg::GSGetUserAchievementStatusResponse,
2153        EMsg::GSGetPlayStats,
2154        EMsg::GSGetPlayStatsResponse,
2155        EMsg::GSGetUserGroupStatus,
2156        EMsg::AMGetUserGroupStatus,
2157        EMsg::AMGetUserGroupStatusResponse,
2158        EMsg::GSGetUserGroupStatusResponse,
2159        EMsg::GSGetReputation,
2160        EMsg::GSGetReputationResponse,
2161        EMsg::GSAssociateWithClan,
2162        EMsg::GSAssociateWithClanResponse,
2163        EMsg::GSComputeNewPlayerCompatibility,
2164        EMsg::GSComputeNewPlayerCompatibilityResponse,
2165        EMsg::BaseAdmin,
2166        EMsg::AdminCmd,
2167        EMsg::AdminCmdResponse,
2168        EMsg::AdminLogListenRequest,
2169        EMsg::AdminLogEvent,
2170        EMsg::UniverseData,
2171        EMsg::AdminSpew,
2172        EMsg::AdminConsoleTitle,
2173        EMsg::AdminGCSpew,
2174        EMsg::AdminGCCommand,
2175        EMsg::AdminGCGetCommandList,
2176        EMsg::AdminGCGetCommandListResponse,
2177        EMsg::FBSConnectionData,
2178        EMsg::AdminMsgSpew,
2179        EMsg::BaseFBS,
2180        EMsg::FBSReqVersion,
2181        EMsg::FBSVersionInfo,
2182        EMsg::FBSForceRefresh,
2183        EMsg::FBSForceBounce,
2184        EMsg::FBSDeployPackage,
2185        EMsg::FBSDeployResponse,
2186        EMsg::FBSUpdateBootstrapper,
2187        EMsg::FBSSetState,
2188        EMsg::FBSApplyOSUpdates,
2189        EMsg::FBSRunCMDScript,
2190        EMsg::FBSRebootBox,
2191        EMsg::FBSSetBigBrotherMode,
2192        EMsg::FBSMinidumpServer,
2193        EMsg::FBSDeployHotFixPackage,
2194        EMsg::FBSDeployHotFixResponse,
2195        EMsg::FBSDownloadHotFix,
2196        EMsg::FBSDownloadHotFixResponse,
2197        EMsg::FBSUpdateTargetConfigFile,
2198        EMsg::FBSApplyAccountCred,
2199        EMsg::FBSApplyAccountCredResponse,
2200        EMsg::FBSSetShellCount,
2201        EMsg::FBSTerminateShell,
2202        EMsg::FBSQueryGMForRequest,
2203        EMsg::FBSQueryGMResponse,
2204        EMsg::FBSTerminateZombies,
2205        EMsg::FBSInfoFromBootstrapper,
2206        EMsg::FBSRebootBoxResponse,
2207        EMsg::FBSBootstrapperPackageRequest,
2208        EMsg::FBSBootstrapperPackageResponse,
2209        EMsg::FBSBootstrapperGetPackageChunk,
2210        EMsg::FBSBootstrapperGetPackageChunkResponse,
2211        EMsg::FBSBootstrapperPackageTransferProgress,
2212        EMsg::FBSRestartBootstrapper,
2213        EMsg::FBSPauseFrozenDumps,
2214        EMsg::BaseFileXfer,
2215        EMsg::FileXferRequest,
2216        EMsg::FileXferResponse,
2217        EMsg::FileXferData,
2218        EMsg::FileXferEnd,
2219        EMsg::FileXferDataAck,
2220        EMsg::BaseChannelAuth,
2221        EMsg::ChannelAuthChallenge,
2222        EMsg::ChannelAuthResponse,
2223        EMsg::ChannelAuthResult,
2224        EMsg::ChannelEncryptRequest,
2225        EMsg::ChannelEncryptResponse,
2226        EMsg::ChannelEncryptResult,
2227        EMsg::BaseBS,
2228        EMsg::BSPurchaseStart,
2229        EMsg::BSPurchaseResponse,
2230        EMsg::BSAuthenticateCCTrans,
2231        EMsg::BSAuthenticateCCTransResponse,
2232        EMsg::BSSettleComplete,
2233        EMsg::BSInitPayPalTxn,
2234        EMsg::BSInitPayPalTxnResponse,
2235        EMsg::BSGetPayPalUserInfo,
2236        EMsg::BSGetPayPalUserInfoResponse,
2237        EMsg::BSPaymentInstrBan,
2238        EMsg::BSPaymentInstrBanResponse,
2239        EMsg::BSInitGCBankXferTxn,
2240        EMsg::BSInitGCBankXferTxnResponse,
2241        EMsg::BSCommitGCTxn,
2242        EMsg::BSQueryTransactionStatus,
2243        EMsg::BSQueryTransactionStatusResponse,
2244        EMsg::BSQueryPaymentInstUsage,
2245        EMsg::BSQueryPaymentInstResponse,
2246        EMsg::BSQueryTxnExtendedInfo,
2247        EMsg::BSQueryTxnExtendedInfoResponse,
2248        EMsg::BSUpdateConversionRates,
2249        EMsg::BSPurchaseRunFraudChecks,
2250        EMsg::BSPurchaseRunFraudChecksResponse,
2251        EMsg::BSQueryBankInformation,
2252        EMsg::BSQueryBankInformationResponse,
2253        EMsg::BSValidateXsollaSignature,
2254        EMsg::BSValidateXsollaSignatureResponse,
2255        EMsg::BSQiwiWalletInvoice,
2256        EMsg::BSQiwiWalletInvoiceResponse,
2257        EMsg::BSUpdateInventoryFromProPack,
2258        EMsg::BSUpdateInventoryFromProPackResponse,
2259        EMsg::BSSendShippingRequest,
2260        EMsg::BSSendShippingRequestResponse,
2261        EMsg::BSGetProPackOrderStatus,
2262        EMsg::BSGetProPackOrderStatusResponse,
2263        EMsg::BSCheckJobRunning,
2264        EMsg::BSCheckJobRunningResponse,
2265        EMsg::BSResetPackagePurchaseRateLimit,
2266        EMsg::BSResetPackagePurchaseRateLimitResponse,
2267        EMsg::BSUpdatePaymentData,
2268        EMsg::BSUpdatePaymentDataResponse,
2269        EMsg::BSGetBillingAddress,
2270        EMsg::BSGetBillingAddressResponse,
2271        EMsg::BSGetCreditCardInfo,
2272        EMsg::BSGetCreditCardInfoResponse,
2273        EMsg::BSRemoveExpiredPaymentData,
2274        EMsg::BSRemoveExpiredPaymentDataResponse,
2275        EMsg::BSConvertToCurrentKeys,
2276        EMsg::BSConvertToCurrentKeysResponse,
2277        EMsg::BSInitPurchase,
2278        EMsg::BSInitPurchaseResponse,
2279        EMsg::BSCompletePurchase,
2280        EMsg::BSCompletePurchaseResponse,
2281        EMsg::BSPruneCardUsageStats,
2282        EMsg::BSPruneCardUsageStatsResponse,
2283        EMsg::BSStoreBankInformation,
2284        EMsg::BSStoreBankInformationResponse,
2285        EMsg::BSVerifyPOSAKey,
2286        EMsg::BSVerifyPOSAKeyResponse,
2287        EMsg::BSReverseRedeemPOSAKey,
2288        EMsg::BSReverseRedeemPOSAKeyResponse,
2289        EMsg::BSQueryFindCreditCard,
2290        EMsg::BSQueryFindCreditCardResponse,
2291        EMsg::BSStatusInquiryPOSAKey,
2292        EMsg::BSStatusInquiryPOSAKeyResponse,
2293        EMsg::BSValidateMoPaySignature,
2294        EMsg::BSValidateMoPaySignatureResponse,
2295        EMsg::BSMoPayConfirmProductDelivery,
2296        EMsg::BSMoPayConfirmProductDeliveryResponse,
2297        EMsg::BSGenerateMoPayMD5,
2298        EMsg::BSGenerateMoPayMD5Response,
2299        EMsg::BSBoaCompraConfirmProductDelivery,
2300        EMsg::BSBoaCompraConfirmProductDeliveryResponse,
2301        EMsg::BSGenerateBoaCompraMD5,
2302        EMsg::BSGenerateBoaCompraMD5Response,
2303        EMsg::BSCommitWPTxn,
2304        EMsg::BSCommitAdyenTxn,
2305        EMsg::BaseATS,
2306        EMsg::ATSStartStressTest,
2307        EMsg::ATSStopStressTest,
2308        EMsg::ATSRunFailServerTest,
2309        EMsg::ATSUFSPerfTestTask,
2310        EMsg::ATSUFSPerfTestResponse,
2311        EMsg::ATSCycleTCM,
2312        EMsg::ATSInitDRMSStressTest,
2313        EMsg::ATSCallTest,
2314        EMsg::ATSCallTestReply,
2315        EMsg::ATSStartExternalStress,
2316        EMsg::ATSExternalStressJobStart,
2317        EMsg::ATSExternalStressJobQueued,
2318        EMsg::ATSExternalStressJobRunning,
2319        EMsg::ATSExternalStressJobStopped,
2320        EMsg::ATSExternalStressJobStopAll,
2321        EMsg::ATSExternalStressActionResult,
2322        EMsg::ATSStarted,
2323        EMsg::ATSCSPerfTestTask,
2324        EMsg::ATSCSPerfTestResponse,
2325        EMsg::BaseDP,
2326        EMsg::DPSetPublishingState,
2327        EMsg::DPUniquePlayersStat,
2328        EMsg::DPStreamingUniquePlayersStat,
2329        EMsg::DPVacInfractionStats,
2330        EMsg::DPVacBanStats,
2331        EMsg::DPBlockingStats,
2332        EMsg::DPNatTraversalStats,
2333        EMsg::DPVacCertBanStats,
2334        EMsg::DPVacCafeBanStats,
2335        EMsg::DPCloudStats,
2336        EMsg::DPAchievementStats,
2337        EMsg::DPAccountCreationStats,
2338        EMsg::DPGetPlayerCount,
2339        EMsg::DPGetPlayerCountResponse,
2340        EMsg::DPGameServersPlayersStats,
2341        EMsg::DPFacebookStatistics,
2342        EMsg::ClientDPCheckSpecialSurvey,
2343        EMsg::ClientDPCheckSpecialSurveyResponse,
2344        EMsg::ClientDPSendSpecialSurveyResponse,
2345        EMsg::ClientDPSendSpecialSurveyResponseReply,
2346        EMsg::DPStoreSaleStatistics,
2347        EMsg::ClientDPUpdateAppJobReport,
2348        EMsg::DPUpdateContentEvent,
2349        EMsg::ClientDPUnsignedInstallScript,
2350        EMsg::DPPartnerMicroTxns,
2351        EMsg::DPPartnerMicroTxnsResponse,
2352        EMsg::ClientDPContentStatsReport,
2353        EMsg::DPVRUniquePlayersStat,
2354        EMsg::BaseCM,
2355        EMsg::CMSetAllowState,
2356        EMsg::CMSpewAllowState,
2357        EMsg::CMSessionRejected,
2358        EMsg::CMSetSecrets,
2359        EMsg::CMGetSecrets,
2360        EMsg::CMRemotePlayReplyPacket,
2361        EMsg::BaseGC,
2362        EMsg::GCCmdRevive,
2363        EMsg::GCCmdDown,
2364        EMsg::GCCmdDeploy,
2365        EMsg::GCCmdDeployResponse,
2366        EMsg::GCCmdSwitch,
2367        EMsg::AMRefreshSessions,
2368        EMsg::GCAchievementAwarded,
2369        EMsg::GCSystemMessage,
2370        EMsg::GCCmdStatus,
2371        EMsg::GCInterAppMessage,
2372        EMsg::GCGetEmailTemplate,
2373        EMsg::GCGetEmailTemplateResponse,
2374        EMsg::GCHRelay,
2375        EMsg::GCHRelayToClient,
2376        EMsg::GCHUpdateSession,
2377        EMsg::GCHRequestUpdateSession,
2378        EMsg::GCHRequestStatus,
2379        EMsg::GCHRequestStatusResponse,
2380        EMsg::GCHAccountVacStatusChange,
2381        EMsg::GCHSpawnGC,
2382        EMsg::GCHSpawnGCResponse,
2383        EMsg::GCHKillGC,
2384        EMsg::GCHKillGCResponse,
2385        EMsg::GCHAccountTradeBanStatusChange,
2386        EMsg::GCHAccountLockStatusChange,
2387        EMsg::GCHVacVerificationChange,
2388        EMsg::GCHAccountPhoneNumberChange,
2389        EMsg::GCHAccountTwoFactorChange,
2390        EMsg::GCHInviteUserToLobby,
2391        EMsg::GCHUpdateMultipleSessions,
2392        EMsg::GCHMarkAppSessionsAuthoritative,
2393        EMsg::GCHRecurringSubscriptionStatusChange,
2394        EMsg::GCHAppCheersReceived,
2395        EMsg::GCHAppCheersGetAllowedTypes,
2396        EMsg::GCHAppCheersGetAllowedTypesResponse,
2397        EMsg::GCHRoutingRulesFromGCHtoGM,
2398        EMsg::GCHRoutingRulesToGCHfromGM,
2399        EMsg::UpdateCMMessageRateRules,
2400        EMsg::BaseP2P,
2401        EMsg::P2PIntroducerMessage,
2402        EMsg::BaseSM,
2403        EMsg::SMExpensiveReport,
2404        EMsg::SMHourlyReport,
2405        EMsg::SMFishingReport,
2406        EMsg::SMPartitionRenames,
2407        EMsg::SMMonitorSpace,
2408        EMsg::SMTestNextBuildSchemaConversion,
2409        EMsg::SMTestNextBuildSchemaConversionResponse,
2410        EMsg::BaseTest,
2411        EMsg::FailServer,
2412        EMsg::JobHeartbeatTest,
2413        EMsg::JobHeartbeatTestResponse,
2414        EMsg::BaseFTSRange,
2415        EMsg::BaseCCSRange,
2416        EMsg::CCSDeleteAllCommentsByAuthor,
2417        EMsg::CCSDeleteAllCommentsByAuthorResponse,
2418        EMsg::BaseLBSRange,
2419        EMsg::LBSSetScore,
2420        EMsg::LBSSetScoreResponse,
2421        EMsg::LBSFindOrCreateLB,
2422        EMsg::LBSFindOrCreateLBResponse,
2423        EMsg::LBSGetLBEntries,
2424        EMsg::LBSGetLBEntriesResponse,
2425        EMsg::LBSGetLBList,
2426        EMsg::LBSGetLBListResponse,
2427        EMsg::LBSSetLBDetails,
2428        EMsg::LBSDeleteLB,
2429        EMsg::LBSDeleteLBEntry,
2430        EMsg::LBSResetLB,
2431        EMsg::LBSResetLBResponse,
2432        EMsg::LBSDeleteLBResponse,
2433        EMsg::BaseOGS,
2434        EMsg::OGSBeginSession,
2435        EMsg::OGSBeginSessionResponse,
2436        EMsg::OGSEndSession,
2437        EMsg::OGSEndSessionResponse,
2438        EMsg::OGSWriteAppSessionRow,
2439        EMsg::BaseBRP,
2440        EMsg::BRPStartShippingJobs,
2441        EMsg::BRPProcessUSBankReports,
2442        EMsg::BRPProcessGCReports,
2443        EMsg::BRPProcessPPReports,
2444        EMsg::BRPCommitGC,
2445        EMsg::BRPCommitGCResponse,
2446        EMsg::BRPFindHungTransactions,
2447        EMsg::BRPCheckFinanceCloseOutDate,
2448        EMsg::BRPProcessLicenses,
2449        EMsg::BRPProcessLicensesResponse,
2450        EMsg::BRPRemoveExpiredPaymentData,
2451        EMsg::BRPRemoveExpiredPaymentDataResponse,
2452        EMsg::BRPConvertToCurrentKeys,
2453        EMsg::BRPConvertToCurrentKeysResponse,
2454        EMsg::BRPPruneCardUsageStats,
2455        EMsg::BRPPruneCardUsageStatsResponse,
2456        EMsg::BRPCheckActivationCodes,
2457        EMsg::BRPCheckActivationCodesResponse,
2458        EMsg::BRPCommitWP,
2459        EMsg::BRPCommitWPResponse,
2460        EMsg::BRPProcessWPReports,
2461        EMsg::BRPProcessPaymentRules,
2462        EMsg::BRPProcessPartnerPayments,
2463        EMsg::BRPCheckSettlementReports,
2464        EMsg::BRPPostTaxToAvalara,
2465        EMsg::BRPPostTransactionTax,
2466        EMsg::BRPPostTransactionTaxResponse,
2467        EMsg::BRPProcessIMReports,
2468        EMsg::BaseAMRange2,
2469        EMsg::AMCreateChat,
2470        EMsg::AMCreateChatResponse,
2471        EMsg::AMSetProfileURL,
2472        EMsg::AMGetAccountEmailAddress,
2473        EMsg::AMGetAccountEmailAddressResponse,
2474        EMsg::AMRequestClanData,
2475        EMsg::AMRouteToClients,
2476        EMsg::AMLeaveClan,
2477        EMsg::AMClanPermissions,
2478        EMsg::AMClanPermissionsResponse,
2479        EMsg::AMCreateClanEventDummyForRateLimiting,
2480        EMsg::AMCreateClanEventResponse,
2481        EMsg::AMUpdateClanEventDummyForRateLimiting,
2482        EMsg::AMUpdateClanEventResponse,
2483        EMsg::AMGetClanEvents,
2484        EMsg::AMGetClanEventsResponse,
2485        EMsg::AMDeleteClanEvent,
2486        EMsg::AMDeleteClanEventResponse,
2487        EMsg::AMSetClanPermissionSettings,
2488        EMsg::AMSetClanPermissionSettingsResponse,
2489        EMsg::AMGetClanPermissionSettings,
2490        EMsg::AMGetClanPermissionSettingsResponse,
2491        EMsg::AMPublishChatRoomInfo,
2492        EMsg::ClientChatRoomInfo,
2493        EMsg::AMGetClanHistory,
2494        EMsg::AMGetClanHistoryResponse,
2495        EMsg::AMGetClanPermissionBits,
2496        EMsg::AMGetClanPermissionBitsResponse,
2497        EMsg::AMSetClanPermissionBits,
2498        EMsg::AMSetClanPermissionBitsResponse,
2499        EMsg::AMSessionInfoRequest,
2500        EMsg::AMSessionInfoResponse,
2501        EMsg::AMValidateWGToken,
2502        EMsg::AMGetSingleClanEvent,
2503        EMsg::AMGetSingleClanEventResponse,
2504        EMsg::AMGetClanRank,
2505        EMsg::AMGetClanRankResponse,
2506        EMsg::AMSetClanRank,
2507        EMsg::AMSetClanRankResponse,
2508        EMsg::AMGetClanPOTW,
2509        EMsg::AMGetClanPOTWResponse,
2510        EMsg::AMSetClanPOTW,
2511        EMsg::AMSetClanPOTWResponse,
2512        EMsg::AMDumpUser,
2513        EMsg::AMKickUserFromClan,
2514        EMsg::AMAddFounderToClan,
2515        EMsg::AMValidateWGTokenResponse,
2516        EMsg::AMSetCommunityState,
2517        EMsg::AMSetAccountDetails,
2518        EMsg::AMGetChatBanList,
2519        EMsg::AMGetChatBanListResponse,
2520        EMsg::AMUnBanFromChat,
2521        EMsg::AMSetClanDetails,
2522        EMsg::AMGetAccountLinks,
2523        EMsg::AMGetAccountLinksResponse,
2524        EMsg::AMSetAccountLinks,
2525        EMsg::AMSetAccountLinksResponse,
2526        EMsg::UGSGetUserGameStats,
2527        EMsg::UGSGetUserGameStatsResponse,
2528        EMsg::AMCheckClanMembership,
2529        EMsg::AMGetClanMembers,
2530        EMsg::AMGetClanMembersResponse,
2531        EMsg::AMJoinPublicClan,
2532        EMsg::AMNotifyChatOfClanChange,
2533        EMsg::AMResubmitPurchase,
2534        EMsg::AMAddFriend,
2535        EMsg::AMAddFriendResponse,
2536        EMsg::AMRemoveFriend,
2537        EMsg::AMDumpClan,
2538        EMsg::AMChangeClanOwner,
2539        EMsg::AMCancelEasyCollect,
2540        EMsg::AMCancelEasyCollectResponse,
2541        EMsg::AMClansInCommon,
2542        EMsg::AMClansInCommonResponse,
2543        EMsg::AMIsValidAccountID,
2544        EMsg::AMConvertClan,
2545        EMsg::AMWipeFriendsList,
2546        EMsg::AMSetIgnored,
2547        EMsg::AMClansInCommonCountResponse,
2548        EMsg::AMFriendsList,
2549        EMsg::AMFriendsListResponse,
2550        EMsg::AMFriendsInCommon,
2551        EMsg::AMFriendsInCommonResponse,
2552        EMsg::AMFriendsInCommonCountResponse,
2553        EMsg::AMClansInCommonCount,
2554        EMsg::AMChallengeVerdict,
2555        EMsg::AMChallengeNotification,
2556        EMsg::AMFindGSByIP,
2557        EMsg::AMFoundGSByIP,
2558        EMsg::AMGiftRevoked,
2559        EMsg::AMCreateAccountRecord,
2560        EMsg::AMUserClanList,
2561        EMsg::AMUserClanListResponse,
2562        EMsg::AMGetAccountDetails2,
2563        EMsg::AMGetAccountDetailsResponse2,
2564        EMsg::AMSetCommunityProfileSettings,
2565        EMsg::AMSetCommunityProfileSettingsResponse,
2566        EMsg::AMGetCommunityPrivacyState,
2567        EMsg::AMGetCommunityPrivacyStateResponse,
2568        EMsg::AMCheckClanInviteRateLimiting,
2569        EMsg::UGSGetUserAchievementStatus,
2570        EMsg::AMGetIgnored,
2571        EMsg::AMGetIgnoredResponse,
2572        EMsg::AMSetIgnoredResponse,
2573        EMsg::AMSetFriendRelationshipNone,
2574        EMsg::AMGetFriendRelationship,
2575        EMsg::AMGetFriendRelationshipResponse,
2576        EMsg::AMServiceModulesCache,
2577        EMsg::AMServiceModulesCall,
2578        EMsg::AMServiceModulesCallResponse,
2579        EMsg::AMGetCaptchaDataForIP,
2580        EMsg::AMGetCaptchaDataForIPResponse,
2581        EMsg::AMValidateCaptchaDataForIP,
2582        EMsg::AMValidateCaptchaDataForIPResponse,
2583        EMsg::AMTrackFailedAuthByIP,
2584        EMsg::AMGetCaptchaDataByGID,
2585        EMsg::AMGetCaptchaDataByGIDResponse,
2586        EMsg::CommunityAddFriendNews,
2587        EMsg::AMFindClanUser,
2588        EMsg::AMFindClanUserResponse,
2589        EMsg::AMBanFromChat,
2590        EMsg::AMGetUserNewsSubscriptions,
2591        EMsg::AMGetUserNewsSubscriptionsResponse,
2592        EMsg::AMSetUserNewsSubscriptions,
2593        EMsg::AMSendQueuedEmails,
2594        EMsg::AMSetLicenseFlags,
2595        EMsg::CommunityDeleteUserNews,
2596        EMsg::AMAllowUserFilesRequest,
2597        EMsg::AMAllowUserFilesResponse,
2598        EMsg::AMGetAccountStatus,
2599        EMsg::AMGetAccountStatusResponse,
2600        EMsg::AMEditBanReason,
2601        EMsg::AMCheckClanMembershipResponse,
2602        EMsg::AMProbeClanMembershipList,
2603        EMsg::AMProbeClanMembershipListResponse,
2604        EMsg::UGSGetUserAchievementStatusResponse,
2605        EMsg::AMGetFriendsLobbies,
2606        EMsg::AMGetFriendsLobbiesResponse,
2607        EMsg::AMGetUserFriendNewsResponse,
2608        EMsg::CommunityGetUserFriendNews,
2609        EMsg::AMGetUserClansNewsResponse,
2610        EMsg::AMGetUserClansNews,
2611        EMsg::AMGetPreviousCBAccount,
2612        EMsg::AMGetPreviousCBAccountResponse,
2613        EMsg::AMGetUserLicenseHistory,
2614        EMsg::AMGetUserLicenseHistoryResponse,
2615        EMsg::AMSupportChangePassword,
2616        EMsg::AMSupportChangeEmail,
2617        EMsg::AMResetUserVerificationGSByIP,
2618        EMsg::AMUpdateGSPlayStats,
2619        EMsg::AMSupportEnableOrDisable,
2620        EMsg::AMGetPurchaseStatus,
2621        EMsg::AMSupportIsAccountEnabled,
2622        EMsg::AMSupportIsAccountEnabledResponse,
2623        EMsg::UGSGetUserStats,
2624        EMsg::AMSupportKickSession,
2625        EMsg::AMGSSearch,
2626        EMsg::MarketingMessageUpdate,
2627        EMsg::ChatServerRouteFriendMsg,
2628        EMsg::AMTicketAuthRequestOrResponse,
2629        EMsg::AMVerifyDepotManagementRights,
2630        EMsg::AMVerifyDepotManagementRightsResponse,
2631        EMsg::AMAddFreeLicense,
2632        EMsg::AMValidateEmailLink,
2633        EMsg::AMValidateEmailLinkResponse,
2634        EMsg::UGSStoreUserStats,
2635        EMsg::AMDeleteStoredCard,
2636        EMsg::AMRevokeLegacyGameKeys,
2637        EMsg::AMGetWalletDetails,
2638        EMsg::AMGetWalletDetailsResponse,
2639        EMsg::AMDeleteStoredPaymentInfo,
2640        EMsg::AMGetStoredPaymentSummary,
2641        EMsg::AMGetStoredPaymentSummaryResponse,
2642        EMsg::AMGetWalletConversionRate,
2643        EMsg::AMGetWalletConversionRateResponse,
2644        EMsg::AMConvertWallet,
2645        EMsg::AMConvertWalletResponse,
2646        EMsg::AMSetPreApproval,
2647        EMsg::AMSetPreApprovalResponse,
2648        EMsg::AMCreateRefund,
2649        EMsg::AMCreateRefundResponse,
2650        EMsg::AMCreateChargeback,
2651        EMsg::AMCreateChargebackResponse,
2652        EMsg::AMCreateDispute,
2653        EMsg::AMCreateDisputeResponse,
2654        EMsg::AMClearDispute,
2655        EMsg::AMCreateFinancialAdjustment,
2656        EMsg::AMPlayerNicknameList,
2657        EMsg::AMPlayerNicknameListResponse,
2658        EMsg::AMSetDRMTestConfig,
2659        EMsg::AMGetUserCurrentGameInfo,
2660        EMsg::AMGetUserCurrentGameInfoResponse,
2661        EMsg::AMGetGSPlayerList,
2662        EMsg::AMGetGSPlayerListResponse,
2663        EMsg::AMGetGameMembers,
2664        EMsg::AMGetGameMembersResponse,
2665        EMsg::AMGetSteamIDForMicroTxn,
2666        EMsg::AMGetSteamIDForMicroTxnResponse,
2667        EMsg::AMSetPartnerMember,
2668        EMsg::AMRemovePublisherUser,
2669        EMsg::AMGetUserLicenseList,
2670        EMsg::AMGetUserLicenseListResponse,
2671        EMsg::AMReloadGameGroupPolicy,
2672        EMsg::AMAddFreeLicenseResponse,
2673        EMsg::AMVACStatusUpdate,
2674        EMsg::AMGetAccountDetails,
2675        EMsg::AMGetAccountDetailsResponse,
2676        EMsg::AMGetPlayerLinkDetails,
2677        EMsg::AMGetPlayerLinkDetailsResponse,
2678        EMsg::AMGetAccountFlagsForWGSpoofing,
2679        EMsg::AMGetAccountFlagsForWGSpoofingResponse,
2680        EMsg::AMGetClanOfficers,
2681        EMsg::AMGetClanOfficersResponse,
2682        EMsg::AMNameChange,
2683        EMsg::AMGetNameHistory,
2684        EMsg::AMGetNameHistoryResponse,
2685        EMsg::AMUpdateProviderStatus,
2686        EMsg::AMSupportRemoveAccountSecurity,
2687        EMsg::AMIsAccountInCaptchaGracePeriod,
2688        EMsg::AMIsAccountInCaptchaGracePeriodResponse,
2689        EMsg::AMAccountPS3Unlink,
2690        EMsg::AMAccountPS3UnlinkResponse,
2691        EMsg::UGSStoreUserStatsResponse,
2692        EMsg::AMGetAccountPSNInfo,
2693        EMsg::AMGetAccountPSNInfoResponse,
2694        EMsg::AMAuthenticatedPlayerList,
2695        EMsg::AMGetUserGifts,
2696        EMsg::AMGetUserGiftsResponse,
2697        EMsg::AMTransferLockedGifts,
2698        EMsg::AMTransferLockedGiftsResponse,
2699        EMsg::AMPlayerHostedOnGameServer,
2700        EMsg::AMGetAccountBanInfo,
2701        EMsg::AMGetAccountBanInfoResponse,
2702        EMsg::AMRecordBanEnforcement,
2703        EMsg::AMRollbackGiftTransfer,
2704        EMsg::AMRollbackGiftTransferResponse,
2705        EMsg::AMHandlePendingTransaction,
2706        EMsg::AMRequestClanDetails,
2707        EMsg::AMDeleteStoredPaypalAgreement,
2708        EMsg::AMGameServerUpdate,
2709        EMsg::AMGameServerRemove,
2710        EMsg::AMGetPaypalAgreements,
2711        EMsg::AMGetPaypalAgreementsResponse,
2712        EMsg::AMGameServerPlayerCompatibilityCheck,
2713        EMsg::AMGameServerPlayerCompatibilityCheckResponse,
2714        EMsg::AMRenewLicense,
2715        EMsg::AMGetAccountCommunityBanInfo,
2716        EMsg::AMGetAccountCommunityBanInfoResponse,
2717        EMsg::AMGameServerAccountChangePassword,
2718        EMsg::AMGameServerAccountDeleteAccount,
2719        EMsg::AMRenewAgreement,
2720        EMsg::AMXsollaPayment,
2721        EMsg::AMXsollaPaymentResponse,
2722        EMsg::AMAcctAllowedToPurchase,
2723        EMsg::AMAcctAllowedToPurchaseResponse,
2724        EMsg::AMSwapKioskDeposit,
2725        EMsg::AMSwapKioskDepositResponse,
2726        EMsg::AMSetUserGiftUnowned,
2727        EMsg::AMSetUserGiftUnownedResponse,
2728        EMsg::AMClaimUnownedUserGift,
2729        EMsg::AMClaimUnownedUserGiftResponse,
2730        EMsg::AMSetClanName,
2731        EMsg::AMSetClanNameResponse,
2732        EMsg::AMGrantCoupon,
2733        EMsg::AMGrantCouponResponse,
2734        EMsg::AMIsPackageRestrictedInUserCountry,
2735        EMsg::AMIsPackageRestrictedInUserCountryResponse,
2736        EMsg::AMHandlePendingTransactionResponse,
2737        EMsg::AMGrantGuestPasses2,
2738        EMsg::AMGrantGuestPasses2Response,
2739        EMsg::AMSessionQuery,
2740        EMsg::AMSessionQueryResponse,
2741        EMsg::AMGetPlayerBanDetails,
2742        EMsg::AMGetPlayerBanDetailsResponse,
2743        EMsg::AMFinalizePurchase,
2744        EMsg::AMFinalizePurchaseResponse,
2745        EMsg::AMPersonaChangeResponse,
2746        EMsg::AMGetClanDetailsForForumCreation,
2747        EMsg::AMGetClanDetailsForForumCreationResponse,
2748        EMsg::AMGetPendingNotificationCount,
2749        EMsg::AMGetPendingNotificationCountResponse,
2750        EMsg::AMPasswordHashUpgrade,
2751        EMsg::AMMoPayPayment,
2752        EMsg::AMMoPayPaymentResponse,
2753        EMsg::AMBoaCompraPayment,
2754        EMsg::AMBoaCompraPaymentResponse,
2755        EMsg::AMExpireCaptchaByGID,
2756        EMsg::AMCompleteExternalPurchase,
2757        EMsg::AMCompleteExternalPurchaseResponse,
2758        EMsg::AMResolveNegativeWalletCredits,
2759        EMsg::AMResolveNegativeWalletCreditsResponse,
2760        EMsg::AMPayelpPayment,
2761        EMsg::AMPayelpPaymentResponse,
2762        EMsg::AMPlayerGetClanBasicDetails,
2763        EMsg::AMPlayerGetClanBasicDetailsResponse,
2764        EMsg::AMMOLPayment,
2765        EMsg::AMMOLPaymentResponse,
2766        EMsg::GetUserIPCountry,
2767        EMsg::GetUserIPCountryResponse,
2768        EMsg::NotificationOfSuspiciousActivity,
2769        EMsg::AMDegicaPayment,
2770        EMsg::AMDegicaPaymentResponse,
2771        EMsg::AMEClubPayment,
2772        EMsg::AMEClubPaymentResponse,
2773        EMsg::AMPayPalPaymentsHubPayment,
2774        EMsg::AMPayPalPaymentsHubPaymentResponse,
2775        EMsg::AMTwoFactorRecoverAuthenticatorRequest,
2776        EMsg::AMTwoFactorRecoverAuthenticatorResponse,
2777        EMsg::AMSmart2PayPayment,
2778        EMsg::AMSmart2PayPaymentResponse,
2779        EMsg::AMValidatePasswordResetCodeAndSendSmsRequest,
2780        EMsg::AMValidatePasswordResetCodeAndSendSmsResponse,
2781        EMsg::AMGetAccountResetDetailsRequest,
2782        EMsg::AMGetAccountResetDetailsResponse,
2783        EMsg::AMBitPayPayment,
2784        EMsg::AMBitPayPaymentResponse,
2785        EMsg::AMSendAccountInfoUpdate,
2786        EMsg::AMSendScheduledGift,
2787        EMsg::AMNodwinPayment,
2788        EMsg::AMNodwinPaymentResponse,
2789        EMsg::AMResolveWalletRevoke,
2790        EMsg::AMResolveWalletReverseRevoke,
2791        EMsg::AMFundedPayment,
2792        EMsg::AMFundedPaymentResponse,
2793        EMsg::AMRequestPersonaUpdateForChatServer,
2794        EMsg::AMPerfectWorldPayment,
2795        EMsg::AMPerfectWorldPaymentResponse,
2796        EMsg::AMECommPayPayment,
2797        EMsg::AMECommPayPaymentResponse,
2798        EMsg::AMSetRemoteClientID,
2799        EMsg::BasePSRange,
2800        EMsg::PSCreateShoppingCart,
2801        EMsg::PSCreateShoppingCartResponse,
2802        EMsg::PSIsValidShoppingCart,
2803        EMsg::PSIsValidShoppingCartResponse,
2804        EMsg::PSAddPackageToShoppingCart,
2805        EMsg::PSAddPackageToShoppingCartResponse,
2806        EMsg::PSRemoveLineItemFromShoppingCart,
2807        EMsg::PSRemoveLineItemFromShoppingCartResponse,
2808        EMsg::PSGetShoppingCartContents,
2809        EMsg::PSGetShoppingCartContentsResponse,
2810        EMsg::PSAddWalletCreditToShoppingCart,
2811        EMsg::PSAddWalletCreditToShoppingCartResponse,
2812        EMsg::PSGetAccountCartContents,
2813        EMsg::PSGetAccountCartContentsResponse,
2814        EMsg::BaseUFSRange,
2815        EMsg::ClientUFSUploadFileRequest,
2816        EMsg::ClientUFSUploadFileResponse,
2817        EMsg::ClientUFSUploadFileChunk,
2818        EMsg::ClientUFSUploadFileFinished,
2819        EMsg::ClientUFSGetFileListForApp,
2820        EMsg::ClientUFSGetFileListForAppResponse,
2821        EMsg::ClientUFSDownloadRequest,
2822        EMsg::ClientUFSDownloadResponse,
2823        EMsg::ClientUFSDownloadChunk,
2824        EMsg::ClientUFSLoginRequest,
2825        EMsg::ClientUFSLoginResponse,
2826        EMsg::UFSReloadPartitionInfo,
2827        EMsg::ClientUFSTransferHeartbeat,
2828        EMsg::UFSSynchronizeFile,
2829        EMsg::UFSSynchronizeFileResponse,
2830        EMsg::ClientUFSDeleteFileRequest,
2831        EMsg::ClientUFSDeleteFileResponse,
2832        EMsg::ClientUFSGetUGCDetails,
2833        EMsg::ClientUFSGetUGCDetailsResponse,
2834        EMsg::UFSUpdateFileFlags,
2835        EMsg::UFSUpdateFileFlagsResponse,
2836        EMsg::ClientUFSGetSingleFileInfo,
2837        EMsg::ClientUFSGetSingleFileInfoResponse,
2838        EMsg::ClientUFSShareFile,
2839        EMsg::ClientUFSShareFileResponse,
2840        EMsg::UFSReloadAccount,
2841        EMsg::UFSReloadAccountResponse,
2842        EMsg::UFSUpdateRecordBatched,
2843        EMsg::UFSUpdateRecordBatchedResponse,
2844        EMsg::UFSMigrateFile,
2845        EMsg::UFSMigrateFileResponse,
2846        EMsg::UFSGetUGCURLs,
2847        EMsg::UFSGetUGCURLsResponse,
2848        EMsg::UFSHttpUploadFileFinishRequest,
2849        EMsg::UFSHttpUploadFileFinishResponse,
2850        EMsg::UFSDownloadStartRequest,
2851        EMsg::UFSDownloadStartResponse,
2852        EMsg::UFSDownloadChunkRequest,
2853        EMsg::UFSDownloadChunkResponse,
2854        EMsg::UFSDownloadFinishRequest,
2855        EMsg::UFSDownloadFinishResponse,
2856        EMsg::UFSFlushURLCache,
2857        EMsg::ClientUFSUploadCommit,
2858        EMsg::ClientUFSUploadCommitResponse,
2859        EMsg::UFSMigrateFileAppID,
2860        EMsg::UFSMigrateFileAppIDResponse,
2861        EMsg::BaseClient2,
2862        EMsg::ClientRequestForgottenPasswordEmail,
2863        EMsg::ClientRequestForgottenPasswordEmailResponse,
2864        EMsg::ClientCreateAccountResponse,
2865        EMsg::ClientResetForgottenPassword,
2866        EMsg::ClientResetForgottenPasswordResponse,
2867        EMsg::ClientCreateAccount2,
2868        EMsg::ClientInformOfResetForgottenPassword,
2869        EMsg::ClientInformOfResetForgottenPasswordResponse,
2870        EMsg::ClientGamesPlayedWithDataBlob,
2871        EMsg::ClientUpdateUserGameInfo,
2872        EMsg::ClientFileToDownload,
2873        EMsg::ClientFileToDownloadResponse,
2874        EMsg::ClientLBSSetScore,
2875        EMsg::ClientLBSSetScoreResponse,
2876        EMsg::ClientLBSFindOrCreateLB,
2877        EMsg::ClientLBSFindOrCreateLBResponse,
2878        EMsg::ClientLBSGetLBEntries,
2879        EMsg::ClientLBSGetLBEntriesResponse,
2880        EMsg::ClientChatDeclined,
2881        EMsg::ClientFriendMsgIncoming,
2882        EMsg::ClientTicketAuthComplete,
2883        EMsg::ClientIsLimitedAccount,
2884        EMsg::ClientRequestAuthList,
2885        EMsg::ClientAuthList,
2886        EMsg::ClientStat,
2887        EMsg::ClientP2PConnectionInfo,
2888        EMsg::ClientP2PConnectionFailInfo,
2889        EMsg::ClientGetDepotDecryptionKey,
2890        EMsg::ClientGetDepotDecryptionKeyResponse,
2891        EMsg::GSPerformHardwareSurvey,
2892        EMsg::ClientEnableTestLicense,
2893        EMsg::ClientEnableTestLicenseResponse,
2894        EMsg::ClientDisableTestLicense,
2895        EMsg::ClientDisableTestLicenseResponse,
2896        EMsg::ClientRequestValidationMail,
2897        EMsg::ClientRequestValidationMailResponse,
2898        EMsg::ClientCheckAppBetaPassword,
2899        EMsg::ClientCheckAppBetaPasswordResponse,
2900        EMsg::ClientToGC,
2901        EMsg::ClientFromGC,
2902        EMsg::ClientRequestChangeMail,
2903        EMsg::ClientRequestChangeMailResponse,
2904        EMsg::ClientEmailAddrInfo,
2905        EMsg::ClientPasswordChange3,
2906        EMsg::ClientEmailChange3,
2907        EMsg::ClientPersonalQAChange3,
2908        EMsg::ClientResetForgottenPassword3,
2909        EMsg::ClientRequestForgottenPasswordEmail3,
2910        EMsg::ClientNewLoginKey,
2911        EMsg::ClientNewLoginKeyAccepted,
2912        EMsg::ClientStoreUserStats2,
2913        EMsg::ClientStatsUpdated,
2914        EMsg::ClientActivateOEMLicense,
2915        EMsg::ClientRegisterOEMMachine,
2916        EMsg::ClientRegisterOEMMachineResponse,
2917        EMsg::ClientRequestedClientStats,
2918        EMsg::ClientStat2Int32,
2919        EMsg::ClientStat2,
2920        EMsg::ClientVerifyPassword,
2921        EMsg::ClientVerifyPasswordResponse,
2922        EMsg::ClientDRMDownloadRequest,
2923        EMsg::ClientDRMDownloadResponse,
2924        EMsg::ClientDRMFinalResult,
2925        EMsg::ClientGetFriendsWhoPlayGame,
2926        EMsg::ClientGetFriendsWhoPlayGameResponse,
2927        EMsg::ClientOGSBeginSession,
2928        EMsg::ClientOGSBeginSessionResponse,
2929        EMsg::ClientOGSEndSession,
2930        EMsg::ClientOGSEndSessionResponse,
2931        EMsg::ClientOGSWriteRow,
2932        EMsg::ClientDRMTest,
2933        EMsg::ClientDRMTestResult,
2934        EMsg::ClientStartPeerContentServer,
2935        EMsg::ClientStartPeerContentServerResponse,
2936        EMsg::ClientServerUnavailable,
2937        EMsg::ClientServersAvailable,
2938        EMsg::ClientRegisterAuthTicketWithCM,
2939        EMsg::ClientGCMsgFailed,
2940        EMsg::ClientMicroTxnAuthRequest,
2941        EMsg::ClientMicroTxnAuthorize,
2942        EMsg::ClientMicroTxnAuthorizeResponse,
2943        EMsg::ClientAppMinutesPlayedData,
2944        EMsg::ClientGetMicroTxnInfo,
2945        EMsg::ClientGetMicroTxnInfoResponse,
2946        EMsg::ClientMarketingMessageUpdate2,
2947        EMsg::ClientDeregisterWithServer,
2948        EMsg::ClientSubscribeToPersonaFeed,
2949        EMsg::ClientLogon,
2950        EMsg::ClientGetClientDetails,
2951        EMsg::ClientGetClientDetailsResponse,
2952        EMsg::ClientReportOverlayDetourFailure,
2953        EMsg::ClientGetClientAppList,
2954        EMsg::ClientGetClientAppListResponse,
2955        EMsg::ClientInstallClientApp,
2956        EMsg::ClientInstallClientAppResponse,
2957        EMsg::ClientUninstallClientApp,
2958        EMsg::ClientUninstallClientAppResponse,
2959        EMsg::ClientSetClientAppUpdateState,
2960        EMsg::ClientSetClientAppUpdateStateResponse,
2961        EMsg::ClientRequestEncryptedAppTicket,
2962        EMsg::ClientRequestEncryptedAppTicketResponse,
2963        EMsg::ClientWalletInfoUpdate,
2964        EMsg::ClientLBSSetUGC,
2965        EMsg::ClientLBSSetUGCResponse,
2966        EMsg::ClientAMGetClanOfficers,
2967        EMsg::ClientAMGetClanOfficersResponse,
2968        EMsg::ClientFriendProfileInfo,
2969        EMsg::ClientFriendProfileInfoResponse,
2970        EMsg::ClientUpdateMachineAuth,
2971        EMsg::ClientUpdateMachineAuthResponse,
2972        EMsg::ClientReadMachineAuth,
2973        EMsg::ClientReadMachineAuthResponse,
2974        EMsg::ClientRequestMachineAuth,
2975        EMsg::ClientRequestMachineAuthResponse,
2976        EMsg::ClientScreenshotsChanged,
2977        EMsg::ClientEmailChange4,
2978        EMsg::ClientEmailChangeResponse4,
2979        EMsg::ClientGetCDNAuthToken,
2980        EMsg::ClientGetCDNAuthTokenResponse,
2981        EMsg::ClientDownloadRateStatistics,
2982        EMsg::ClientRequestAccountData,
2983        EMsg::ClientRequestAccountDataResponse,
2984        EMsg::ClientResetForgottenPassword4,
2985        EMsg::ClientHideFriend,
2986        EMsg::ClientFriendsGroupsList,
2987        EMsg::ClientGetClanActivityCounts,
2988        EMsg::ClientGetClanActivityCountsResponse,
2989        EMsg::ClientOGSReportString,
2990        EMsg::ClientOGSReportBug,
2991        EMsg::ClientSentLogs,
2992        EMsg::ClientLogonGameServer,
2993        EMsg::AMClientCreateFriendsGroup,
2994        EMsg::AMClientCreateFriendsGroupResponse,
2995        EMsg::AMClientDeleteFriendsGroup,
2996        EMsg::AMClientDeleteFriendsGroupResponse,
2997        EMsg::AMClientManageFriendsGroup,
2998        EMsg::AMClientManageFriendsGroupResponse,
2999        EMsg::AMClientAddFriendToGroup,
3000        EMsg::AMClientAddFriendToGroupResponse,
3001        EMsg::AMClientRemoveFriendFromGroup,
3002        EMsg::AMClientRemoveFriendFromGroupResponse,
3003        EMsg::ClientAMGetPersonaNameHistory,
3004        EMsg::ClientAMGetPersonaNameHistoryResponse,
3005        EMsg::ClientRequestFreeLicense,
3006        EMsg::ClientRequestFreeLicenseResponse,
3007        EMsg::ClientDRMDownloadRequestWithCrashData,
3008        EMsg::ClientAuthListAck,
3009        EMsg::ClientItemAnnouncements,
3010        EMsg::ClientRequestItemAnnouncements,
3011        EMsg::ClientFriendMsgEchoToSender,
3012        EMsg::ClientOGSGameServerPingSample,
3013        EMsg::ClientCommentNotifications,
3014        EMsg::ClientRequestCommentNotifications,
3015        EMsg::ClientPersonaChangeResponse,
3016        EMsg::ClientRequestWebAPIAuthenticateUserNonce,
3017        EMsg::ClientRequestWebAPIAuthenticateUserNonceResponse,
3018        EMsg::ClientPlayerNicknameList,
3019        EMsg::AMClientSetPlayerNickname,
3020        EMsg::AMClientSetPlayerNicknameResponse,
3021        EMsg::ClientCreateAccountProto,
3022        EMsg::ClientCreateAccountProtoResponse,
3023        EMsg::ClientGetNumberOfCurrentPlayersDP,
3024        EMsg::ClientGetNumberOfCurrentPlayersDPResponse,
3025        EMsg::ClientServiceMethodLegacy,
3026        EMsg::ClientServiceMethodLegacyResponse,
3027        EMsg::ClientFriendUserStatusPublished,
3028        EMsg::ClientCurrentUIMode,
3029        EMsg::ClientVanityURLChangedNotification,
3030        EMsg::ClientUserNotifications,
3031        EMsg::BaseDFS,
3032        EMsg::DFSGetFile,
3033        EMsg::DFSInstallLocalFile,
3034        EMsg::DFSConnection,
3035        EMsg::DFSConnectionReply,
3036        EMsg::ClientDFSAuthenticateRequest,
3037        EMsg::ClientDFSAuthenticateResponse,
3038        EMsg::ClientDFSEndSession,
3039        EMsg::DFSPurgeFile,
3040        EMsg::DFSRouteFile,
3041        EMsg::DFSGetFileFromServer,
3042        EMsg::DFSAcceptedResponse,
3043        EMsg::DFSRequestPingback,
3044        EMsg::DFSRecvTransmitFile,
3045        EMsg::DFSSendTransmitFile,
3046        EMsg::DFSRequestPingback2,
3047        EMsg::DFSResponsePingback2,
3048        EMsg::ClientDFSDownloadStatus,
3049        EMsg::DFSStartTransfer,
3050        EMsg::DFSTransferComplete,
3051        EMsg::DFSRouteFileResponse,
3052        EMsg::ClientNetworkingCertRequest,
3053        EMsg::ClientNetworkingCertRequestResponse,
3054        EMsg::ClientChallengeRequest,
3055        EMsg::ClientChallengeResponse,
3056        EMsg::BadgeCraftedNotification,
3057        EMsg::ClientNetworkingMobileCertRequest,
3058        EMsg::ClientNetworkingMobileCertRequestResponse,
3059        EMsg::BaseMDS,
3060        EMsg::AMToMDSGetDepotDecryptionKey,
3061        EMsg::MDSToAMGetDepotDecryptionKeyResponse,
3062        EMsg::MDSContentServerConfigRequest,
3063        EMsg::MDSContentServerConfig,
3064        EMsg::MDSGetDepotManifest,
3065        EMsg::MDSGetDepotManifestResponse,
3066        EMsg::MDSGetDepotManifestChunk,
3067        EMsg::MDSGetDepotChunk,
3068        EMsg::MDSGetDepotChunkResponse,
3069        EMsg::MDSGetDepotChunkChunk,
3070        EMsg::MDSGetServerListForUser,
3071        EMsg::MDSGetServerListForUserResponse,
3072        EMsg::MDSToCSFlushChunk,
3073        EMsg::MDSMigrateChunk,
3074        EMsg::MDSMigrateChunkResponse,
3075        EMsg::MDSToCSFlushManifest,
3076        EMsg::CSBase,
3077        EMsg::CSPing,
3078        EMsg::CSPingResponse,
3079        EMsg::GMSBase,
3080        EMsg::GMSGameServerReplicate,
3081        EMsg::ClientGMSServerQuery,
3082        EMsg::GMSClientServerQueryResponse,
3083        EMsg::AMGMSGameServerUpdate,
3084        EMsg::AMGMSGameServerRemove,
3085        EMsg::GameServerOutOfDate,
3086        EMsg::DeviceAuthorizationBase,
3087        EMsg::ClientAuthorizeLocalDeviceRequest,
3088        EMsg::ClientAuthorizeLocalDeviceResponse,
3089        EMsg::ClientDeauthorizeDeviceRequest,
3090        EMsg::ClientDeauthorizeDevice,
3091        EMsg::ClientUseLocalDeviceAuthorizations,
3092        EMsg::ClientGetAuthorizedDevices,
3093        EMsg::ClientGetAuthorizedDevicesResponse,
3094        EMsg::AMNotifySessionDeviceAuthorized,
3095        EMsg::ClientAuthorizeLocalDeviceNotification,
3096        EMsg::MMSBase,
3097        EMsg::ClientMMSCreateLobby,
3098        EMsg::ClientMMSCreateLobbyResponse,
3099        EMsg::ClientMMSJoinLobby,
3100        EMsg::ClientMMSJoinLobbyResponse,
3101        EMsg::ClientMMSLeaveLobby,
3102        EMsg::ClientMMSLeaveLobbyResponse,
3103        EMsg::ClientMMSGetLobbyList,
3104        EMsg::ClientMMSGetLobbyListResponse,
3105        EMsg::ClientMMSSetLobbyData,
3106        EMsg::ClientMMSSetLobbyDataResponse,
3107        EMsg::ClientMMSGetLobbyData,
3108        EMsg::ClientMMSLobbyData,
3109        EMsg::ClientMMSSendLobbyChatMsg,
3110        EMsg::ClientMMSLobbyChatMsg,
3111        EMsg::ClientMMSSetLobbyOwner,
3112        EMsg::ClientMMSSetLobbyOwnerResponse,
3113        EMsg::ClientMMSSetLobbyGameServer,
3114        EMsg::ClientMMSLobbyGameServerSet,
3115        EMsg::ClientMMSUserJoinedLobby,
3116        EMsg::ClientMMSUserLeftLobby,
3117        EMsg::ClientMMSInviteToLobby,
3118        EMsg::ClientMMSFlushFrenemyListCache,
3119        EMsg::ClientMMSFlushFrenemyListCacheResponse,
3120        EMsg::ClientMMSSetLobbyLinked,
3121        EMsg::ClientMMSSetRatelimitPolicyOnClient,
3122        EMsg::ClientMMSGetLobbyStatus,
3123        EMsg::ClientMMSGetLobbyStatusResponse,
3124        EMsg::MMSGetLobbyList,
3125        EMsg::MMSGetLobbyListResponse,
3126        EMsg::NonStdMsgBase,
3127        EMsg::NonStdMsgMemcached,
3128        EMsg::NonStdMsgHTTPServer,
3129        EMsg::NonStdMsgHTTPClient,
3130        EMsg::NonStdMsgWGResponse,
3131        EMsg::NonStdMsgPHPSimulator,
3132        EMsg::NonStdMsgChase,
3133        EMsg::NonStdMsgDFSTransfer,
3134        EMsg::NonStdMsgTests,
3135        EMsg::NonStdMsgUMQpipeAAPL,
3136        EMsg::NonStdMsgSyslog,
3137        EMsg::NonStdMsgLogsink,
3138        EMsg::NonStdMsgSteam2Emulator,
3139        EMsg::NonStdMsgRTMPServer,
3140        EMsg::NonStdMsgWebSocket,
3141        EMsg::NonStdMsgRedis,
3142        EMsg::UDSBase,
3143        EMsg::ClientUDSP2PSessionStarted,
3144        EMsg::ClientUDSP2PSessionEnded,
3145        EMsg::UDSRenderUserAuth,
3146        EMsg::UDSRenderUserAuthResponse,
3147        EMsg::ClientInviteToGame,
3148        EMsg::UDSHasSession,
3149        EMsg::UDSHasSessionResponse,
3150        EMsg::MPASBase,
3151        EMsg::MPASVacBanReset,
3152        EMsg::KGSBase,
3153        EMsg::UCMBase,
3154        EMsg::ClientUCMAddScreenshot,
3155        EMsg::ClientUCMAddScreenshotResponse,
3156        EMsg::UCMResetCommunityContent,
3157        EMsg::UCMResetCommunityContentResponse,
3158        EMsg::ClientUCMDeleteScreenshot,
3159        EMsg::ClientUCMDeleteScreenshotResponse,
3160        EMsg::ClientUCMPublishFile,
3161        EMsg::ClientUCMPublishFileResponse,
3162        EMsg::ClientUCMDeletePublishedFile,
3163        EMsg::ClientUCMDeletePublishedFileResponse,
3164        EMsg::ClientUCMEnumerateUserPublishedFiles,
3165        EMsg::ClientUCMEnumerateUserPublishedFilesResponse,
3166        EMsg::ClientUCMEnumerateUserSubscribedFiles,
3167        EMsg::ClientUCMEnumerateUserSubscribedFilesResponse,
3168        EMsg::ClientUCMUpdatePublishedFile,
3169        EMsg::ClientUCMUpdatePublishedFileResponse,
3170        EMsg::UCMUpdatePublishedFile,
3171        EMsg::UCMUpdatePublishedFileResponse,
3172        EMsg::UCMDeletePublishedFile,
3173        EMsg::UCMDeletePublishedFileResponse,
3174        EMsg::UCMUpdatePublishedFileStat,
3175        EMsg::UCMUpdatePublishedFileBan,
3176        EMsg::UCMUpdatePublishedFileBanResponse,
3177        EMsg::UCMReloadPublishedFile,
3178        EMsg::UCMReloadUserFileListCaches,
3179        EMsg::UCMPublishedFileReported,
3180        EMsg::UCMUpdatePublishedFileIncompatibleStatus,
3181        EMsg::UCMPublishedFilePreviewAdd,
3182        EMsg::UCMPublishedFilePreviewAddResponse,
3183        EMsg::UCMPublishedFilePreviewRemove,
3184        EMsg::UCMPublishedFilePreviewRemoveResponse,
3185        EMsg::ClientUCMPublishedFileSubscribed,
3186        EMsg::ClientUCMPublishedFileUnsubscribed,
3187        EMsg::UCMPublishedFileSubscribed,
3188        EMsg::UCMPublishedFileUnsubscribed,
3189        EMsg::UCMPublishFile,
3190        EMsg::UCMPublishFileResponse,
3191        EMsg::UCMPublishedFileChildAdd,
3192        EMsg::UCMPublishedFileChildAddResponse,
3193        EMsg::UCMPublishedFileChildRemove,
3194        EMsg::UCMPublishedFileChildRemoveResponse,
3195        EMsg::UCMPublishedFileParentChanged,
3196        EMsg::ClientUCMGetPublishedFilesForUser,
3197        EMsg::ClientUCMGetPublishedFilesForUserResponse,
3198        EMsg::ClientUCMSetUserPublishedFileAction,
3199        EMsg::ClientUCMSetUserPublishedFileActionResponse,
3200        EMsg::ClientUCMEnumeratePublishedFilesByUserAction,
3201        EMsg::ClientUCMEnumeratePublishedFilesByUserActionResponse,
3202        EMsg::ClientUCMPublishedFileDeleted,
3203        EMsg::UCMGetUserSubscribedFiles,
3204        EMsg::UCMGetUserSubscribedFilesResponse,
3205        EMsg::UCMFixStatsPublishedFile,
3206        EMsg::ClientUCMEnumerateUserSubscribedFilesWithUpdates,
3207        EMsg::ClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse,
3208        EMsg::UCMPublishedFileContentUpdated,
3209        EMsg::ClientUCMPublishedFileUpdated,
3210        EMsg::ClientWorkshopItemChangesRequest,
3211        EMsg::ClientWorkshopItemChangesResponse,
3212        EMsg::ClientWorkshopItemInfoRequest,
3213        EMsg::ClientWorkshopItemInfoResponse,
3214        EMsg::FSBase,
3215        EMsg::ClientRichPresenceUpload,
3216        EMsg::ClientRichPresenceRequest,
3217        EMsg::ClientRichPresenceInfo,
3218        EMsg::FSRichPresenceRequest,
3219        EMsg::FSRichPresenceResponse,
3220        EMsg::FSComputeFrenematrix,
3221        EMsg::FSComputeFrenematrixResponse,
3222        EMsg::FSPlayStatusNotification,
3223        EMsg::FSPublishPersonaStatus,
3224        EMsg::FSAddOrRemoveFollower,
3225        EMsg::FSAddOrRemoveFollowerResponse,
3226        EMsg::FSUpdateFollowingList,
3227        EMsg::FSCommentNotification,
3228        EMsg::FSCommentNotificationViewed,
3229        EMsg::ClientFSGetFollowerCount,
3230        EMsg::ClientFSGetFollowerCountResponse,
3231        EMsg::ClientFSGetIsFollowing,
3232        EMsg::ClientFSGetIsFollowingResponse,
3233        EMsg::ClientFSEnumerateFollowingList,
3234        EMsg::ClientFSEnumerateFollowingListResponse,
3235        EMsg::FSGetPendingNotificationCount,
3236        EMsg::FSGetPendingNotificationCountResponse,
3237        EMsg::ClientChatOfflineMessageNotification,
3238        EMsg::ClientChatRequestOfflineMessageCount,
3239        EMsg::ClientChatGetFriendMessageHistory,
3240        EMsg::ClientChatGetFriendMessageHistoryResponse,
3241        EMsg::ClientChatGetFriendMessageHistoryForOfflineMessages,
3242        EMsg::ClientFSGetFriendsSteamLevels,
3243        EMsg::ClientFSGetFriendsSteamLevelsResponse,
3244        EMsg::AMRequestFriendData,
3245        EMsg::DRMRange2,
3246        EMsg::CEGVersionSetEnableDisableRequest,
3247        EMsg::CEGVersionSetEnableDisableResponse,
3248        EMsg::CEGPropStatusDRMSRequest,
3249        EMsg::CEGPropStatusDRMSResponse,
3250        EMsg::CEGWhackFailureReportRequest,
3251        EMsg::CEGWhackFailureReportResponse,
3252        EMsg::DRMSFetchVersionSet,
3253        EMsg::DRMSFetchVersionSetResponse,
3254        EMsg::EconBase,
3255        EMsg::EconTrading_InitiateTradeRequest,
3256        EMsg::EconTrading_InitiateTradeProposed,
3257        EMsg::EconTrading_InitiateTradeResponse,
3258        EMsg::EconTrading_InitiateTradeResult,
3259        EMsg::EconTrading_StartSession,
3260        EMsg::EconTrading_CancelTradeRequest,
3261        EMsg::EconFlushInventoryCache,
3262        EMsg::EconFlushInventoryCacheResponse,
3263        EMsg::EconCDKeyProcessTransaction,
3264        EMsg::EconCDKeyProcessTransactionResponse,
3265        EMsg::EconGetErrorLogs,
3266        EMsg::EconGetErrorLogsResponse,
3267        EMsg::RMRange,
3268        EMsg::RMTestVerisignOTP,
3269        EMsg::RMTestVerisignOTPResponse,
3270        EMsg::RMDeleteMemcachedKeys,
3271        EMsg::RMRemoteInvoke,
3272        EMsg::BadLoginIPList,
3273        EMsg::RMMsgTraceAddTrigger,
3274        EMsg::RMMsgTraceRemoveTrigger,
3275        EMsg::RMMsgTraceEvent,
3276        EMsg::UGSBase,
3277        EMsg::UGSUpdateGlobalStats,
3278        EMsg::ClientUGSGetGlobalStats,
3279        EMsg::ClientUGSGetGlobalStatsResponse,
3280        EMsg::StoreBase,
3281        EMsg::UMQBase,
3282        EMsg::UMQLogonRequest,
3283        EMsg::UMQLogonResponse,
3284        EMsg::UMQLogoffRequest,
3285        EMsg::UMQLogoffResponse,
3286        EMsg::UMQSendChatMessage,
3287        EMsg::UMQIncomingChatMessage,
3288        EMsg::UMQPoll,
3289        EMsg::UMQPollResults,
3290        EMsg::UMQ2AM_ClientMsgBatch,
3291        EMsg::WorkshopBase,
3292        EMsg::WebAPIBase,
3293        EMsg::WebAPIValidateOAuth2Token,
3294        EMsg::WebAPIValidateOAuth2TokenResponse,
3295        EMsg::WebAPIRegisterGCInterfaces,
3296        EMsg::WebAPIInvalidateOAuthClientCache,
3297        EMsg::WebAPIInvalidateOAuthTokenCache,
3298        EMsg::WebAPISetSecrets,
3299        EMsg::BackpackBase,
3300        EMsg::BackpackAddToCurrency,
3301        EMsg::BackpackAddToCurrencyResponse,
3302        EMsg::CREBase,
3303        EMsg::CREItemVoteSummary,
3304        EMsg::CREItemVoteSummaryResponse,
3305        EMsg::CREUpdateUserPublishedItemVote,
3306        EMsg::CREUpdateUserPublishedItemVoteResponse,
3307        EMsg::CREGetUserPublishedItemVoteDetails,
3308        EMsg::CREGetUserPublishedItemVoteDetailsResponse,
3309        EMsg::CREEnumeratePublishedFiles,
3310        EMsg::CREEnumeratePublishedFilesResponse,
3311        EMsg::CREPublishedFileVoteAdded,
3312        EMsg::SecretsBase,
3313        EMsg::SecretsRequestCredentialPair,
3314        EMsg::SecretsCredentialPairResponse,
3315        EMsg::BoxMonitorBase,
3316        EMsg::BoxMonitorReportRequest,
3317        EMsg::BoxMonitorReportResponse,
3318        EMsg::LogsinkBase,
3319        EMsg::LogsinkWriteReport,
3320        EMsg::PICSBase,
3321        EMsg::ClientPICSChangesSinceRequest,
3322        EMsg::ClientPICSChangesSinceResponse,
3323        EMsg::ClientPICSProductInfoRequest,
3324        EMsg::ClientPICSProductInfoResponse,
3325        EMsg::ClientPICSAccessTokenRequest,
3326        EMsg::ClientPICSAccessTokenResponse,
3327        EMsg::ClientPICSPrivateBetaRequest,
3328        EMsg::ClientPICSPrivateBetaResponse,
3329        EMsg::WorkerProcess,
3330        EMsg::WorkerProcessPingRequest,
3331        EMsg::WorkerProcessPingResponse,
3332        EMsg::WorkerProcessShutdown,
3333        EMsg::DRMWorkerProcess,
3334        EMsg::DRMWorkerProcessDRMAndSign,
3335        EMsg::DRMWorkerProcessDRMAndSignResponse,
3336        EMsg::DRMWorkerProcessSteamworksInfoRequest,
3337        EMsg::DRMWorkerProcessSteamworksInfoResponse,
3338        EMsg::DRMWorkerProcessInstallDRMDLLRequest,
3339        EMsg::DRMWorkerProcessInstallDRMDLLResponse,
3340        EMsg::DRMWorkerProcessSecretIdStringRequest,
3341        EMsg::DRMWorkerProcessSecretIdStringResponse,
3342        EMsg::DRMWorkerProcessInstallProcessedFilesRequest,
3343        EMsg::DRMWorkerProcessInstallProcessedFilesResponse,
3344        EMsg::DRMWorkerProcessExamineBlobRequest,
3345        EMsg::DRMWorkerProcessExamineBlobResponse,
3346        EMsg::DRMWorkerProcessDescribeSecretRequest,
3347        EMsg::DRMWorkerProcessDescribeSecretResponse,
3348        EMsg::DRMWorkerProcessBackfillOriginalRequest,
3349        EMsg::DRMWorkerProcessBackfillOriginalResponse,
3350        EMsg::DRMWorkerProcessValidateDRMDLLRequest,
3351        EMsg::DRMWorkerProcessValidateDRMDLLResponse,
3352        EMsg::DRMWorkerProcessValidateFileRequest,
3353        EMsg::DRMWorkerProcessValidateFileResponse,
3354        EMsg::DRMWorkerProcessSplitAndInstallRequest,
3355        EMsg::DRMWorkerProcessSplitAndInstallResponse,
3356        EMsg::DRMWorkerProcessGetBlobRequest,
3357        EMsg::DRMWorkerProcessGetBlobResponse,
3358        EMsg::DRMWorkerProcessEvaluateCrashRequest,
3359        EMsg::DRMWorkerProcessEvaluateCrashResponse,
3360        EMsg::DRMWorkerProcessAnalyzeFileRequest,
3361        EMsg::DRMWorkerProcessAnalyzeFileResponse,
3362        EMsg::DRMWorkerProcessUnpackBlobRequest,
3363        EMsg::DRMWorkerProcessUnpackBlobResponse,
3364        EMsg::DRMWorkerProcessInstallAllRequest,
3365        EMsg::DRMWorkerProcessInstallAllResponse,
3366        EMsg::DRMWorkerProcessSignFile,
3367        EMsg::DRMWorkerProcessSignFileResponse,
3368        EMsg::TestWorkerProcess,
3369        EMsg::TestWorkerProcessLoadUnloadModuleRequest,
3370        EMsg::TestWorkerProcessLoadUnloadModuleResponse,
3371        EMsg::TestWorkerProcessServiceModuleCallRequest,
3372        EMsg::TestWorkerProcessServiceModuleCallResponse,
3373        EMsg::QuestServerBase,
3374        EMsg::ClientGetEmoticonList,
3375        EMsg::ClientEmoticonList,
3376        EMsg::SLCBase,
3377        EMsg::SLCUserSessionStatus,
3378        EMsg::SLCRequestUserSessionStatus,
3379        EMsg::SLCSharedLicensesLockStatus,
3380        EMsg::ClientSharedLibraryLockStatus,
3381        EMsg::ClientSharedLibraryStopPlaying,
3382        EMsg::SLCOwnerLibraryChanged,
3383        EMsg::SLCSharedLibraryChanged,
3384        EMsg::RemoteClientBase,
3385        EMsg::RemoteClientAuth,
3386        EMsg::RemoteClientAuthResponse,
3387        EMsg::RemoteClientAppStatus,
3388        EMsg::RemoteClientStartStream,
3389        EMsg::RemoteClientStartStreamResponse,
3390        EMsg::RemoteClientPing,
3391        EMsg::RemoteClientPingResponse,
3392        EMsg::ClientUnlockStreaming,
3393        EMsg::ClientUnlockStreamingResponse,
3394        EMsg::RemoteClientAcceptEULA,
3395        EMsg::RemoteClientGetControllerConfig,
3396        EMsg::RemoteClientGetControllerConfigResponse,
3397        EMsg::RemoteClientStreamingEnabled,
3398        EMsg::ClientUnlockHEVC,
3399        EMsg::ClientUnlockHEVCResponse,
3400        EMsg::RemoteClientStatusRequest,
3401        EMsg::RemoteClientStatusResponse,
3402        EMsg::RemoteClientAuthorizationRequest,
3403        EMsg::RemoteClientAuthorizationResponse,
3404        EMsg::RemoteClientAuthorizationCancelRequest,
3405        EMsg::RemoteClientAuthorizationConfirmed,
3406        EMsg::RemoteClientProofRequest,
3407        EMsg::RemoteClientProofResponse,
3408        EMsg::ClientConcurrentSessionsBase,
3409        EMsg::ClientPlayingSessionState,
3410        EMsg::ClientKickPlayingSession,
3411        EMsg::ClientBroadcastBase,
3412        EMsg::ClientBroadcastInit,
3413        EMsg::ClientBroadcastFrames,
3414        EMsg::ClientBroadcastDisconnect,
3415        EMsg::ClientBroadcastScreenshot,
3416        EMsg::ClientBroadcastUploadConfig,
3417        EMsg::BaseClient3,
3418        EMsg::ClientVoiceCallPreAuthorize,
3419        EMsg::ClientVoiceCallPreAuthorizeResponse,
3420        EMsg::ClientServerTimestampRequest,
3421        EMsg::ClientServerTimestampResponse,
3422        EMsg::ServiceMethodCallFromClientNonAuthed,
3423        EMsg::ClientHello,
3424        EMsg::ClientEnableOrDisableDownloads,
3425        EMsg::ClientEnableOrDisableDownloadsResponse,
3426        EMsg::ClientFeatureGroupInfo,
3427        EMsg::ClientLANP2PBase,
3428        EMsg::ClientLANP2PRequestChunk,
3429        EMsg::ClientLANP2PRequestChunkResponse,
3430        EMsg::ClientPeerChunkRequest,
3431        EMsg::ClientPeerChunkResponse,
3432        EMsg::ClientLANP2PMax,
3433        EMsg::BaseWatchdogServer,
3434        EMsg::NotifyWatchdog,
3435        EMsg::ClientSiteLicenseBase,
3436        EMsg::ClientSiteLicenseSiteInfoNotification,
3437        EMsg::ClientSiteLicenseCheckout,
3438        EMsg::ClientSiteLicenseCheckoutResponse,
3439        EMsg::ClientSiteLicenseGetAvailableSeats,
3440        EMsg::ClientSiteLicenseGetAvailableSeatsResponse,
3441        EMsg::ClientSiteLicenseGetContentCacheInfo,
3442        EMsg::ClientSiteLicenseGetContentCacheInfoResponse,
3443        EMsg::BaseChatServer,
3444        EMsg::ChatServerGetPendingNotificationCount,
3445        EMsg::ChatServerGetPendingNotificationCountResponse,
3446        EMsg::BaseSecretServer,
3447        EMsg::ServerSecretChanged,
3448        EMsg::BaseWG,
3449        EMsg::WGConnectionProtocolError,
3450        EMsg::WGConnectionValidateUserToken,
3451        EMsg::WGConnectionValidateUserTokenResponse,
3452        EMsg::WGConnectionLegacyWGRequest,
3453        EMsg::WGConnectionLegacyWGResponse,
3454        EMsg::ClientPendingGameLaunch,
3455        EMsg::ClientPendingGameLaunchResponse,
3456    ];
3457
3458    /// The numeric value of this variant.
3459    pub const fn value(self) -> i32 {
3460        self as i32
3461    }
3462
3463    /// Builds a variant from its numeric value.
3464    ///
3465    /// When several variants share a value, the first declared one is returned.
3466    pub fn from_value(value: i32) -> Option<Self> {
3467        match value {
3468            0 => Some(EMsg::Invalid),
3469            1 => Some(EMsg::Multi),
3470            2 => Some(EMsg::ProtobufWrapped),
3471            100 => Some(EMsg::BaseGeneral),
3472            113 => Some(EMsg::DestJobFailed),
3473            115 => Some(EMsg::Alert),
3474            120 => Some(EMsg::SCIDRequest),
3475            121 => Some(EMsg::SCIDResponse),
3476            123 => Some(EMsg::JobHeartbeat),
3477            124 => Some(EMsg::HubConnect),
3478            126 => Some(EMsg::Subscribe),
3479            127 => Some(EMsg::RouteMessage),
3480            129 => Some(EMsg::AMCreateAccountResponse),
3481            130 => Some(EMsg::WGRequest),
3482            131 => Some(EMsg::WGResponse),
3483            132 => Some(EMsg::KeepAlive),
3484            133 => Some(EMsg::WebAPIJobRequest),
3485            134 => Some(EMsg::WebAPIJobResponse),
3486            135 => Some(EMsg::ClientSessionStart),
3487            136 => Some(EMsg::ClientSessionEnd),
3488            137 => Some(EMsg::ClientSessionUpdate),
3489            139 => Some(EMsg::Ping),
3490            140 => Some(EMsg::PingResponse),
3491            141 => Some(EMsg::Stats),
3492            142 => Some(EMsg::RequestFullStatsBlock),
3493            143 => Some(EMsg::LoadDBOCacheItem),
3494            144 => Some(EMsg::LoadDBOCacheItemResponse),
3495            145 => Some(EMsg::InvalidateDBOCacheItems),
3496            146 => Some(EMsg::ServiceMethod),
3497            147 => Some(EMsg::ServiceMethodResponse),
3498            148 => Some(EMsg::ClientPackageVersions),
3499            149 => Some(EMsg::TimestampRequest),
3500            150 => Some(EMsg::TimestampResponse),
3501            151 => Some(EMsg::ServiceMethodCallFromClient),
3502            152 => Some(EMsg::ServiceMethodSendToClient),
3503            200 => Some(EMsg::BaseShell),
3504            201 => Some(EMsg::Exit),
3505            202 => Some(EMsg::DirRequest),
3506            203 => Some(EMsg::DirResponse),
3507            204 => Some(EMsg::ZipRequest),
3508            205 => Some(EMsg::ZipResponse),
3509            215 => Some(EMsg::UpdateRecordResponse),
3510            221 => Some(EMsg::UpdateCreditCardRequest),
3511            225 => Some(EMsg::UpdateUserBanResponse),
3512            226 => Some(EMsg::PrepareToExit),
3513            227 => Some(EMsg::ContentDescriptionUpdate),
3514            228 => Some(EMsg::TestResetServer),
3515            229 => Some(EMsg::UniverseChanged),
3516            230 => Some(EMsg::ShellConfigInfoUpdate),
3517            233 => Some(EMsg::RequestWindowsEventLogEntries),
3518            234 => Some(EMsg::ProvideWindowsEventLogEntries),
3519            235 => Some(EMsg::ShellSearchLogs),
3520            236 => Some(EMsg::ShellSearchLogsResponse),
3521            237 => Some(EMsg::ShellCheckWindowsUpdates),
3522            238 => Some(EMsg::ShellCheckWindowsUpdatesResponse),
3523            240 => Some(EMsg::TestFlushDelayedSQL),
3524            241 => Some(EMsg::TestFlushDelayedSQLResponse),
3525            242 => Some(EMsg::EnsureExecuteScheduledTask_TEST),
3526            243 => Some(EMsg::EnsureExecuteScheduledTaskResponse_TEST),
3527            244 => Some(EMsg::UpdateScheduledTaskEnableState_TEST),
3528            245 => Some(EMsg::UpdateScheduledTaskEnableStateResponse_TEST),
3529            246 => Some(EMsg::ContentDescriptionDeltaUpdate),
3530            247 => Some(EMsg::GMShellAndServerAddressUpdates),
3531            300 => Some(EMsg::BaseGM),
3532            301 => Some(EMsg::ShellFailed),
3533            307 => Some(EMsg::ExitShells),
3534            308 => Some(EMsg::ExitShell),
3535            309 => Some(EMsg::GracefulExitShell),
3536            316 => Some(EMsg::LicenseProcessingComplete),
3537            317 => Some(EMsg::SetTestFlag),
3538            318 => Some(EMsg::QueuedEmailsComplete),
3539            319 => Some(EMsg::GMReportPHPError),
3540            320 => Some(EMsg::GMDRMSync),
3541            321 => Some(EMsg::PhysicalBoxInventory),
3542            322 => Some(EMsg::UpdateConfigFile),
3543            323 => Some(EMsg::TestInitDB),
3544            324 => Some(EMsg::GMWriteConfigToSQL),
3545            325 => Some(EMsg::GMLoadActivationCodes),
3546            326 => Some(EMsg::GMQueueForFBS),
3547            327 => Some(EMsg::GMSchemaConversionResults),
3548            329 => Some(EMsg::GMWriteShellFailureToSQL),
3549            330 => Some(EMsg::GMWriteStatsToSOS),
3550            331 => Some(EMsg::GMGetServiceMethodRouting),
3551            332 => Some(EMsg::GMGetServiceMethodRoutingResponse),
3552            333 => Some(EMsg::GMConvertUserWallets),
3553            334 => Some(EMsg::GMTestNextBuildSchemaConversion),
3554            335 => Some(EMsg::GMTestNextBuildSchemaConversionResponse),
3555            336 => Some(EMsg::ExpectShellRestart),
3556            337 => Some(EMsg::HotFixProgress),
3557            338 => Some(EMsg::GMStatsForwardToAdminConnections),
3558            339 => Some(EMsg::GMGetModifiedConVars),
3559            340 => Some(EMsg::GMGetModifiedConVarsResponse),
3560            400 => Some(EMsg::BaseAIS),
3561            402 => Some(EMsg::AISRequestContentDescription),
3562            403 => Some(EMsg::AISUpdateAppInfo),
3563            404 => Some(EMsg::AISUpdatePackageCosts),
3564            405 => Some(EMsg::AISGetPackageChangeNumber),
3565            406 => Some(EMsg::AISGetPackageChangeNumberResponse),
3566            408 => Some(EMsg::AISUpdatePackageCostsResponse),
3567            409 => Some(EMsg::AISCreateMarketingMessage),
3568            410 => Some(EMsg::AISCreateMarketingMessageResponse),
3569            411 => Some(EMsg::AISGetMarketingMessage),
3570            412 => Some(EMsg::AISGetMarketingMessageResponse),
3571            413 => Some(EMsg::AISUpdateMarketingMessage),
3572            414 => Some(EMsg::AISUpdateMarketingMessageResponse),
3573            415 => Some(EMsg::AISRequestMarketingMessageUpdate),
3574            416 => Some(EMsg::AISDeleteMarketingMessage),
3575            423 => Some(EMsg::AIGetAppGCFlags),
3576            424 => Some(EMsg::AIGetAppGCFlagsResponse),
3577            425 => Some(EMsg::AIGetAppList),
3578            426 => Some(EMsg::AIGetAppListResponse),
3579            429 => Some(EMsg::AISGetCouponDefinition),
3580            430 => Some(EMsg::AISGetCouponDefinitionResponse),
3581            431 => Some(EMsg::AISUpdateSlaveContentDescription),
3582            432 => Some(EMsg::AISUpdateSlaveContentDescriptionResponse),
3583            433 => Some(EMsg::AISTestEnableGC),
3584            500 => Some(EMsg::BaseAM),
3585            504 => Some(EMsg::AMUpdateUserBanRequest),
3586            505 => Some(EMsg::AMAddLicense),
3587            508 => Some(EMsg::AMSendSystemIMToUser),
3588            509 => Some(EMsg::AMExtendLicense),
3589            510 => Some(EMsg::AMAddMinutesToLicense),
3590            511 => Some(EMsg::AMCancelLicense),
3591            512 => Some(EMsg::AMInitPurchase),
3592            513 => Some(EMsg::AMPurchaseResponse),
3593            514 => Some(EMsg::AMGetFinalPrice),
3594            515 => Some(EMsg::AMGetFinalPriceResponse),
3595            516 => Some(EMsg::AMGetLegacyGameKey),
3596            517 => Some(EMsg::AMGetLegacyGameKeyResponse),
3597            518 => Some(EMsg::AMFindHungTransactions),
3598            519 => Some(EMsg::AMSetAccountTrustedRequest),
3599            521 => Some(EMsg::AMCompletePurchase),
3600            522 => Some(EMsg::AMCancelPurchase),
3601            523 => Some(EMsg::AMNewChallenge),
3602            524 => Some(EMsg::AMLoadOEMTickets),
3603            525 => Some(EMsg::AMFixPendingPurchase),
3604            526 => Some(EMsg::AMFixPendingPurchaseResponse),
3605            527 => Some(EMsg::AMIsUserBanned),
3606            528 => Some(EMsg::AMRegisterKey),
3607            529 => Some(EMsg::AMLoadActivationCodes),
3608            530 => Some(EMsg::AMLoadActivationCodesResponse),
3609            531 => Some(EMsg::AMLookupKeyResponse),
3610            532 => Some(EMsg::AMLookupKey),
3611            533 => Some(EMsg::AMChatCleanup),
3612            534 => Some(EMsg::AMClanCleanup),
3613            535 => Some(EMsg::AMFixPendingRefund),
3614            536 => Some(EMsg::AMReverseChargeback),
3615            537 => Some(EMsg::AMReverseChargebackResponse),
3616            538 => Some(EMsg::AMClanCleanupList),
3617            539 => Some(EMsg::AMGetLicenses),
3618            540 => Some(EMsg::AMGetLicensesResponse),
3619            541 => Some(EMsg::AMSendCartRepurchase),
3620            542 => Some(EMsg::AMSendCartRepurchaseResponse),
3621            550 => Some(EMsg::AllowUserToPlayQuery),
3622            551 => Some(EMsg::AllowUserToPlayResponse),
3623            552 => Some(EMsg::AMVerfiyUser),
3624            553 => Some(EMsg::AMClientNotPlaying),
3625            554 => Some(EMsg::AMClientRequestFriendship),
3626            555 => Some(EMsg::AMRelayPublishStatus),
3627            560 => Some(EMsg::AMInitPurchaseResponse),
3628            561 => Some(EMsg::AMRevokePurchaseResponse),
3629            563 => Some(EMsg::AMRefreshGuestPasses),
3630            564 => Some(EMsg::AMInviteUserToClan),
3631            565 => Some(EMsg::AMAcknowledgeClanInvite),
3632            566 => Some(EMsg::AMGrantGuestPasses),
3633            567 => Some(EMsg::AMClanDataUpdated),
3634            568 => Some(EMsg::AMReloadAccount),
3635            569 => Some(EMsg::AMClientChatMsgRelay),
3636            570 => Some(EMsg::AMChatMulti),
3637            571 => Some(EMsg::AMClientChatInviteRelay),
3638            572 => Some(EMsg::AMChatInvite),
3639            573 => Some(EMsg::AMClientJoinChatRelay),
3640            574 => Some(EMsg::AMClientChatMemberInfoRelay),
3641            575 => Some(EMsg::AMPublishChatMemberInfo),
3642            576 => Some(EMsg::AMClientAcceptFriendInvite),
3643            577 => Some(EMsg::AMChatEnter),
3644            578 => Some(EMsg::AMClientPublishRemovalFromSource),
3645            579 => Some(EMsg::AMChatActionResult),
3646            580 => Some(EMsg::AMFindAccounts),
3647            581 => Some(EMsg::AMFindAccountsResponse),
3648            582 => Some(EMsg::AMRequestAccountData),
3649            583 => Some(EMsg::AMRequestAccountDataResponse),
3650            584 => Some(EMsg::AMSetAccountFlags),
3651            586 => Some(EMsg::AMCreateClan),
3652            587 => Some(EMsg::AMCreateClanResponse),
3653            588 => Some(EMsg::AMGetClanDetails),
3654            589 => Some(EMsg::AMGetClanDetailsResponse),
3655            590 => Some(EMsg::AMSetPersonaName),
3656            591 => Some(EMsg::AMSetAvatar),
3657            592 => Some(EMsg::AMAuthenticateUser),
3658            593 => Some(EMsg::AMAuthenticateUserResponse),
3659            596 => Some(EMsg::AMP2PIntroducerMessage),
3660            597 => Some(EMsg::ClientChatAction),
3661            598 => Some(EMsg::AMClientChatActionRelay),
3662            600 => Some(EMsg::BaseVS),
3663            601 => Some(EMsg::VACResponse),
3664            602 => Some(EMsg::ReqChallengeTest),
3665            604 => Some(EMsg::VSMarkCheat),
3666            605 => Some(EMsg::VSAddCheat),
3667            606 => Some(EMsg::VSPurgeCodeModDB),
3668            607 => Some(EMsg::VSGetChallengeResults),
3669            608 => Some(EMsg::VSChallengeResultText),
3670            609 => Some(EMsg::VSReportLingerer),
3671            610 => Some(EMsg::VSRequestManagedChallenge),
3672            611 => Some(EMsg::VSLoadDBFinished),
3673            625 => Some(EMsg::BaseDRMS),
3674            628 => Some(EMsg::DRMBuildBlobRequest),
3675            629 => Some(EMsg::DRMBuildBlobResponse),
3676            630 => Some(EMsg::DRMResolveGuidRequest),
3677            631 => Some(EMsg::DRMResolveGuidResponse),
3678            633 => Some(EMsg::DRMVariabilityReport),
3679            634 => Some(EMsg::DRMVariabilityReportResponse),
3680            635 => Some(EMsg::DRMStabilityReport),
3681            636 => Some(EMsg::DRMStabilityReportResponse),
3682            637 => Some(EMsg::DRMDetailsReportRequest),
3683            638 => Some(EMsg::DRMDetailsReportResponse),
3684            639 => Some(EMsg::DRMProcessFile),
3685            640 => Some(EMsg::DRMAdminUpdate),
3686            641 => Some(EMsg::DRMAdminUpdateResponse),
3687            642 => Some(EMsg::DRMSync),
3688            643 => Some(EMsg::DRMSyncResponse),
3689            644 => Some(EMsg::DRMProcessFileResponse),
3690            645 => Some(EMsg::DRMEmptyGuidCache),
3691            646 => Some(EMsg::DRMEmptyGuidCacheResponse),
3692            650 => Some(EMsg::BaseCS),
3693            700 => Some(EMsg::BaseClient),
3694            703 => Some(EMsg::ClientHeartBeat),
3695            704 => Some(EMsg::ClientVACResponse),
3696            706 => Some(EMsg::ClientLogOff),
3697            707 => Some(EMsg::ClientNoUDPConnectivity),
3698            708 => Some(EMsg::ClientInformOfCreateAccount),
3699            710 => Some(EMsg::ClientConnectionStats),
3700            712 => Some(EMsg::ClientPingResponse),
3701            714 => Some(EMsg::ClientRemoveFriend),
3702            715 => Some(EMsg::ClientGamesPlayedNoDataBlob),
3703            716 => Some(EMsg::ClientChangeStatus),
3704            717 => Some(EMsg::ClientVacStatusResponse),
3705            718 => Some(EMsg::ClientFriendMsg),
3706            726 => Some(EMsg::ClientSystemIM),
3707            727 => Some(EMsg::ClientSystemIMAck),
3708            728 => Some(EMsg::ClientGetLicenses),
3709            730 => Some(EMsg::ClientGetLegacyGameKey),
3710            732 => Some(EMsg::ClientAckVACBan2),
3711            736 => Some(EMsg::ClientGetPurchaseReceipts),
3712            740 => Some(EMsg::ClientAckGuestPass),
3713            741 => Some(EMsg::ClientRedeemGuestPass),
3714            742 => Some(EMsg::ClientGamesPlayed),
3715            743 => Some(EMsg::ClientRegisterKey),
3716            744 => Some(EMsg::ClientInviteUserToClan),
3717            745 => Some(EMsg::ClientAcknowledgeClanInvite),
3718            746 => Some(EMsg::ClientPurchaseWithMachineID),
3719            747 => Some(EMsg::ClientAppUsageEvent),
3720            751 => Some(EMsg::ClientLogOnResponse),
3721            755 => Some(EMsg::ClientSetHeartbeatRate),
3722            757 => Some(EMsg::ClientLoggedOff),
3723            758 => Some(EMsg::GSApprove),
3724            759 => Some(EMsg::GSDeny),
3725            760 => Some(EMsg::GSKick),
3726            761 => Some(EMsg::ClientCreateAcctResponse),
3727            763 => Some(EMsg::ClientPurchaseResponse),
3728            764 => Some(EMsg::ClientPing),
3729            765 => Some(EMsg::ClientNOP),
3730            766 => Some(EMsg::ClientPersonaState),
3731            767 => Some(EMsg::ClientFriendsList),
3732            768 => Some(EMsg::ClientAccountInfo),
3733            771 => Some(EMsg::ClientNewsUpdate),
3734            773 => Some(EMsg::ClientGameConnectDeny),
3735            774 => Some(EMsg::GSStatusReply),
3736            779 => Some(EMsg::ClientGameConnectTokens),
3737            780 => Some(EMsg::ClientLicenseList),
3738            782 => Some(EMsg::ClientVACBanStatus),
3739            784 => Some(EMsg::ClientEncryptPct),
3740            785 => Some(EMsg::ClientGetLegacyGameKeyResponse),
3741            791 => Some(EMsg::ClientAddFriend),
3742            792 => Some(EMsg::ClientAddFriendResponse),
3743            796 => Some(EMsg::ClientAckGuestPassResponse),
3744            797 => Some(EMsg::ClientRedeemGuestPassResponse),
3745            798 => Some(EMsg::ClientUpdateGuestPassesList),
3746            799 => Some(EMsg::ClientChatMsg),
3747            800 => Some(EMsg::ClientChatInvite),
3748            801 => Some(EMsg::ClientJoinChat),
3749            802 => Some(EMsg::ClientChatMemberInfo),
3750            805 => Some(EMsg::ClientPasswordChangeResponse),
3751            807 => Some(EMsg::ClientChatEnter),
3752            808 => Some(EMsg::ClientFriendRemovedFromSource),
3753            809 => Some(EMsg::ClientCreateChat),
3754            810 => Some(EMsg::ClientCreateChatResponse),
3755            813 => Some(EMsg::ClientP2PIntroducerMessage),
3756            814 => Some(EMsg::ClientChatActionResult),
3757            815 => Some(EMsg::ClientRequestFriendData),
3758            818 => Some(EMsg::ClientGetUserStats),
3759            819 => Some(EMsg::ClientGetUserStatsResponse),
3760            820 => Some(EMsg::ClientStoreUserStats),
3761            821 => Some(EMsg::ClientStoreUserStatsResponse),
3762            822 => Some(EMsg::ClientClanState),
3763            830 => Some(EMsg::ClientServiceModule),
3764            831 => Some(EMsg::ClientServiceCall),
3765            832 => Some(EMsg::ClientServiceCallResponse),
3766            839 => Some(EMsg::ClientNatTraversalStatEvent),
3767            842 => Some(EMsg::ClientSteamUsageEvent),
3768            845 => Some(EMsg::ClientCheckPassword),
3769            846 => Some(EMsg::ClientResetPassword),
3770            848 => Some(EMsg::ClientCheckPasswordResponse),
3771            849 => Some(EMsg::ClientResetPasswordResponse),
3772            850 => Some(EMsg::ClientSessionToken),
3773            851 => Some(EMsg::ClientDRMProblemReport),
3774            855 => Some(EMsg::ClientSetIgnoreFriend),
3775            856 => Some(EMsg::ClientSetIgnoreFriendResponse),
3776            857 => Some(EMsg::ClientGetAppOwnershipTicket),
3777            858 => Some(EMsg::ClientGetAppOwnershipTicketResponse),
3778            860 => Some(EMsg::ClientGetLobbyListResponse),
3779            880 => Some(EMsg::ClientServerList),
3780            891 => Some(EMsg::ClientEmailChangeResponse),
3781            892 => Some(EMsg::ClientSecretQAChangeResponse),
3782            896 => Some(EMsg::ClientDRMBlobRequest),
3783            897 => Some(EMsg::ClientDRMBlobResponse),
3784            900 => Some(EMsg::BaseGameServer),
3785            901 => Some(EMsg::GSDisconnectNotice),
3786            903 => Some(EMsg::GSStatus),
3787            905 => Some(EMsg::GSUserPlaying),
3788            906 => Some(EMsg::GSStatus2),
3789            907 => Some(EMsg::GSStatusUpdate_Unused),
3790            908 => Some(EMsg::GSServerType),
3791            909 => Some(EMsg::GSPlayerList),
3792            910 => Some(EMsg::GSGetUserAchievementStatus),
3793            911 => Some(EMsg::GSGetUserAchievementStatusResponse),
3794            918 => Some(EMsg::GSGetPlayStats),
3795            919 => Some(EMsg::GSGetPlayStatsResponse),
3796            920 => Some(EMsg::GSGetUserGroupStatus),
3797            921 => Some(EMsg::AMGetUserGroupStatus),
3798            922 => Some(EMsg::AMGetUserGroupStatusResponse),
3799            923 => Some(EMsg::GSGetUserGroupStatusResponse),
3800            936 => Some(EMsg::GSGetReputation),
3801            937 => Some(EMsg::GSGetReputationResponse),
3802            938 => Some(EMsg::GSAssociateWithClan),
3803            939 => Some(EMsg::GSAssociateWithClanResponse),
3804            940 => Some(EMsg::GSComputeNewPlayerCompatibility),
3805            941 => Some(EMsg::GSComputeNewPlayerCompatibilityResponse),
3806            1000 => Some(EMsg::BaseAdmin),
3807            1004 => Some(EMsg::AdminCmdResponse),
3808            1005 => Some(EMsg::AdminLogListenRequest),
3809            1006 => Some(EMsg::AdminLogEvent),
3810            1010 => Some(EMsg::UniverseData),
3811            1019 => Some(EMsg::AdminSpew),
3812            1020 => Some(EMsg::AdminConsoleTitle),
3813            1023 => Some(EMsg::AdminGCSpew),
3814            1024 => Some(EMsg::AdminGCCommand),
3815            1025 => Some(EMsg::AdminGCGetCommandList),
3816            1026 => Some(EMsg::AdminGCGetCommandListResponse),
3817            1027 => Some(EMsg::FBSConnectionData),
3818            1028 => Some(EMsg::AdminMsgSpew),
3819            1100 => Some(EMsg::BaseFBS),
3820            1101 => Some(EMsg::FBSVersionInfo),
3821            1102 => Some(EMsg::FBSForceRefresh),
3822            1103 => Some(EMsg::FBSForceBounce),
3823            1104 => Some(EMsg::FBSDeployPackage),
3824            1105 => Some(EMsg::FBSDeployResponse),
3825            1106 => Some(EMsg::FBSUpdateBootstrapper),
3826            1107 => Some(EMsg::FBSSetState),
3827            1108 => Some(EMsg::FBSApplyOSUpdates),
3828            1109 => Some(EMsg::FBSRunCMDScript),
3829            1110 => Some(EMsg::FBSRebootBox),
3830            1111 => Some(EMsg::FBSSetBigBrotherMode),
3831            1112 => Some(EMsg::FBSMinidumpServer),
3832            1114 => Some(EMsg::FBSDeployHotFixPackage),
3833            1115 => Some(EMsg::FBSDeployHotFixResponse),
3834            1116 => Some(EMsg::FBSDownloadHotFix),
3835            1117 => Some(EMsg::FBSDownloadHotFixResponse),
3836            1118 => Some(EMsg::FBSUpdateTargetConfigFile),
3837            1119 => Some(EMsg::FBSApplyAccountCred),
3838            1120 => Some(EMsg::FBSApplyAccountCredResponse),
3839            1121 => Some(EMsg::FBSSetShellCount),
3840            1122 => Some(EMsg::FBSTerminateShell),
3841            1123 => Some(EMsg::FBSQueryGMForRequest),
3842            1124 => Some(EMsg::FBSQueryGMResponse),
3843            1125 => Some(EMsg::FBSTerminateZombies),
3844            1126 => Some(EMsg::FBSInfoFromBootstrapper),
3845            1127 => Some(EMsg::FBSRebootBoxResponse),
3846            1128 => Some(EMsg::FBSBootstrapperPackageRequest),
3847            1129 => Some(EMsg::FBSBootstrapperPackageResponse),
3848            1130 => Some(EMsg::FBSBootstrapperGetPackageChunk),
3849            1131 => Some(EMsg::FBSBootstrapperGetPackageChunkResponse),
3850            1132 => Some(EMsg::FBSBootstrapperPackageTransferProgress),
3851            1133 => Some(EMsg::FBSRestartBootstrapper),
3852            1134 => Some(EMsg::FBSPauseFrozenDumps),
3853            1200 => Some(EMsg::BaseFileXfer),
3854            1201 => Some(EMsg::FileXferResponse),
3855            1202 => Some(EMsg::FileXferData),
3856            1203 => Some(EMsg::FileXferEnd),
3857            1204 => Some(EMsg::FileXferDataAck),
3858            1300 => Some(EMsg::BaseChannelAuth),
3859            1301 => Some(EMsg::ChannelAuthResponse),
3860            1302 => Some(EMsg::ChannelAuthResult),
3861            1303 => Some(EMsg::ChannelEncryptRequest),
3862            1304 => Some(EMsg::ChannelEncryptResponse),
3863            1305 => Some(EMsg::ChannelEncryptResult),
3864            1400 => Some(EMsg::BaseBS),
3865            1401 => Some(EMsg::BSPurchaseStart),
3866            1402 => Some(EMsg::BSPurchaseResponse),
3867            1403 => Some(EMsg::BSAuthenticateCCTrans),
3868            1404 => Some(EMsg::BSAuthenticateCCTransResponse),
3869            1406 => Some(EMsg::BSSettleComplete),
3870            1408 => Some(EMsg::BSInitPayPalTxn),
3871            1409 => Some(EMsg::BSInitPayPalTxnResponse),
3872            1410 => Some(EMsg::BSGetPayPalUserInfo),
3873            1411 => Some(EMsg::BSGetPayPalUserInfoResponse),
3874            1417 => Some(EMsg::BSPaymentInstrBan),
3875            1418 => Some(EMsg::BSPaymentInstrBanResponse),
3876            1421 => Some(EMsg::BSInitGCBankXferTxn),
3877            1422 => Some(EMsg::BSInitGCBankXferTxnResponse),
3878            1425 => Some(EMsg::BSCommitGCTxn),
3879            1426 => Some(EMsg::BSQueryTransactionStatus),
3880            1427 => Some(EMsg::BSQueryTransactionStatusResponse),
3881            1431 => Some(EMsg::BSQueryPaymentInstUsage),
3882            1432 => Some(EMsg::BSQueryPaymentInstResponse),
3883            1433 => Some(EMsg::BSQueryTxnExtendedInfo),
3884            1434 => Some(EMsg::BSQueryTxnExtendedInfoResponse),
3885            1435 => Some(EMsg::BSUpdateConversionRates),
3886            1437 => Some(EMsg::BSPurchaseRunFraudChecks),
3887            1438 => Some(EMsg::BSPurchaseRunFraudChecksResponse),
3888            1440 => Some(EMsg::BSQueryBankInformation),
3889            1441 => Some(EMsg::BSQueryBankInformationResponse),
3890            1445 => Some(EMsg::BSValidateXsollaSignature),
3891            1446 => Some(EMsg::BSValidateXsollaSignatureResponse),
3892            1448 => Some(EMsg::BSQiwiWalletInvoice),
3893            1449 => Some(EMsg::BSQiwiWalletInvoiceResponse),
3894            1450 => Some(EMsg::BSUpdateInventoryFromProPack),
3895            1451 => Some(EMsg::BSUpdateInventoryFromProPackResponse),
3896            1452 => Some(EMsg::BSSendShippingRequest),
3897            1453 => Some(EMsg::BSSendShippingRequestResponse),
3898            1454 => Some(EMsg::BSGetProPackOrderStatus),
3899            1455 => Some(EMsg::BSGetProPackOrderStatusResponse),
3900            1456 => Some(EMsg::BSCheckJobRunning),
3901            1457 => Some(EMsg::BSCheckJobRunningResponse),
3902            1458 => Some(EMsg::BSResetPackagePurchaseRateLimit),
3903            1459 => Some(EMsg::BSResetPackagePurchaseRateLimitResponse),
3904            1460 => Some(EMsg::BSUpdatePaymentData),
3905            1461 => Some(EMsg::BSUpdatePaymentDataResponse),
3906            1462 => Some(EMsg::BSGetBillingAddress),
3907            1463 => Some(EMsg::BSGetBillingAddressResponse),
3908            1464 => Some(EMsg::BSGetCreditCardInfo),
3909            1465 => Some(EMsg::BSGetCreditCardInfoResponse),
3910            1468 => Some(EMsg::BSRemoveExpiredPaymentData),
3911            1469 => Some(EMsg::BSRemoveExpiredPaymentDataResponse),
3912            1470 => Some(EMsg::BSConvertToCurrentKeys),
3913            1471 => Some(EMsg::BSConvertToCurrentKeysResponse),
3914            1472 => Some(EMsg::BSInitPurchase),
3915            1473 => Some(EMsg::BSInitPurchaseResponse),
3916            1474 => Some(EMsg::BSCompletePurchase),
3917            1475 => Some(EMsg::BSCompletePurchaseResponse),
3918            1476 => Some(EMsg::BSPruneCardUsageStats),
3919            1477 => Some(EMsg::BSPruneCardUsageStatsResponse),
3920            1478 => Some(EMsg::BSStoreBankInformation),
3921            1479 => Some(EMsg::BSStoreBankInformationResponse),
3922            1480 => Some(EMsg::BSVerifyPOSAKey),
3923            1481 => Some(EMsg::BSVerifyPOSAKeyResponse),
3924            1482 => Some(EMsg::BSReverseRedeemPOSAKey),
3925            1483 => Some(EMsg::BSReverseRedeemPOSAKeyResponse),
3926            1484 => Some(EMsg::BSQueryFindCreditCard),
3927            1485 => Some(EMsg::BSQueryFindCreditCardResponse),
3928            1486 => Some(EMsg::BSStatusInquiryPOSAKey),
3929            1487 => Some(EMsg::BSStatusInquiryPOSAKeyResponse),
3930            1488 => Some(EMsg::BSValidateMoPaySignature),
3931            1489 => Some(EMsg::BSValidateMoPaySignatureResponse),
3932            1490 => Some(EMsg::BSMoPayConfirmProductDelivery),
3933            1491 => Some(EMsg::BSMoPayConfirmProductDeliveryResponse),
3934            1492 => Some(EMsg::BSGenerateMoPayMD5),
3935            1493 => Some(EMsg::BSGenerateMoPayMD5Response),
3936            1494 => Some(EMsg::BSBoaCompraConfirmProductDelivery),
3937            1495 => Some(EMsg::BSBoaCompraConfirmProductDeliveryResponse),
3938            1496 => Some(EMsg::BSGenerateBoaCompraMD5),
3939            1497 => Some(EMsg::BSGenerateBoaCompraMD5Response),
3940            1498 => Some(EMsg::BSCommitWPTxn),
3941            1499 => Some(EMsg::BSCommitAdyenTxn),
3942            1500 => Some(EMsg::BaseATS),
3943            1501 => Some(EMsg::ATSStartStressTest),
3944            1502 => Some(EMsg::ATSStopStressTest),
3945            1503 => Some(EMsg::ATSRunFailServerTest),
3946            1504 => Some(EMsg::ATSUFSPerfTestTask),
3947            1505 => Some(EMsg::ATSUFSPerfTestResponse),
3948            1506 => Some(EMsg::ATSCycleTCM),
3949            1507 => Some(EMsg::ATSInitDRMSStressTest),
3950            1508 => Some(EMsg::ATSCallTest),
3951            1509 => Some(EMsg::ATSCallTestReply),
3952            1510 => Some(EMsg::ATSStartExternalStress),
3953            1511 => Some(EMsg::ATSExternalStressJobStart),
3954            1512 => Some(EMsg::ATSExternalStressJobQueued),
3955            1513 => Some(EMsg::ATSExternalStressJobRunning),
3956            1514 => Some(EMsg::ATSExternalStressJobStopped),
3957            1515 => Some(EMsg::ATSExternalStressJobStopAll),
3958            1516 => Some(EMsg::ATSExternalStressActionResult),
3959            1517 => Some(EMsg::ATSStarted),
3960            1518 => Some(EMsg::ATSCSPerfTestTask),
3961            1519 => Some(EMsg::ATSCSPerfTestResponse),
3962            1600 => Some(EMsg::BaseDP),
3963            1601 => Some(EMsg::DPSetPublishingState),
3964            1603 => Some(EMsg::DPUniquePlayersStat),
3965            1604 => Some(EMsg::DPStreamingUniquePlayersStat),
3966            1605 => Some(EMsg::DPVacInfractionStats),
3967            1606 => Some(EMsg::DPVacBanStats),
3968            1607 => Some(EMsg::DPBlockingStats),
3969            1608 => Some(EMsg::DPNatTraversalStats),
3970            1610 => Some(EMsg::DPVacCertBanStats),
3971            1611 => Some(EMsg::DPVacCafeBanStats),
3972            1612 => Some(EMsg::DPCloudStats),
3973            1613 => Some(EMsg::DPAchievementStats),
3974            1614 => Some(EMsg::DPAccountCreationStats),
3975            1615 => Some(EMsg::DPGetPlayerCount),
3976            1616 => Some(EMsg::DPGetPlayerCountResponse),
3977            1617 => Some(EMsg::DPGameServersPlayersStats),
3978            1619 => Some(EMsg::DPFacebookStatistics),
3979            1620 => Some(EMsg::ClientDPCheckSpecialSurvey),
3980            1621 => Some(EMsg::ClientDPCheckSpecialSurveyResponse),
3981            1622 => Some(EMsg::ClientDPSendSpecialSurveyResponse),
3982            1623 => Some(EMsg::ClientDPSendSpecialSurveyResponseReply),
3983            1624 => Some(EMsg::DPStoreSaleStatistics),
3984            1625 => Some(EMsg::ClientDPUpdateAppJobReport),
3985            1626 => Some(EMsg::DPUpdateContentEvent),
3986            1627 => Some(EMsg::ClientDPUnsignedInstallScript),
3987            1628 => Some(EMsg::DPPartnerMicroTxns),
3988            1629 => Some(EMsg::DPPartnerMicroTxnsResponse),
3989            1630 => Some(EMsg::ClientDPContentStatsReport),
3990            1631 => Some(EMsg::DPVRUniquePlayersStat),
3991            1700 => Some(EMsg::BaseCM),
3992            1701 => Some(EMsg::CMSetAllowState),
3993            1702 => Some(EMsg::CMSpewAllowState),
3994            1703 => Some(EMsg::CMSessionRejected),
3995            1704 => Some(EMsg::CMSetSecrets),
3996            1705 => Some(EMsg::CMGetSecrets),
3997            1706 => Some(EMsg::CMRemotePlayReplyPacket),
3998            2200 => Some(EMsg::BaseGC),
3999            2203 => Some(EMsg::GCCmdRevive),
4000            2206 => Some(EMsg::GCCmdDown),
4001            2207 => Some(EMsg::GCCmdDeploy),
4002            2208 => Some(EMsg::GCCmdDeployResponse),
4003            2209 => Some(EMsg::GCCmdSwitch),
4004            2210 => Some(EMsg::AMRefreshSessions),
4005            2212 => Some(EMsg::GCAchievementAwarded),
4006            2213 => Some(EMsg::GCSystemMessage),
4007            2216 => Some(EMsg::GCCmdStatus),
4008            2219 => Some(EMsg::GCInterAppMessage),
4009            2220 => Some(EMsg::GCGetEmailTemplate),
4010            2221 => Some(EMsg::GCGetEmailTemplateResponse),
4011            2222 => Some(EMsg::GCHRelay),
4012            2223 => Some(EMsg::GCHRelayToClient),
4013            2224 => Some(EMsg::GCHUpdateSession),
4014            2225 => Some(EMsg::GCHRequestUpdateSession),
4015            2226 => Some(EMsg::GCHRequestStatus),
4016            2227 => Some(EMsg::GCHRequestStatusResponse),
4017            2228 => Some(EMsg::GCHAccountVacStatusChange),
4018            2229 => Some(EMsg::GCHSpawnGC),
4019            2230 => Some(EMsg::GCHSpawnGCResponse),
4020            2231 => Some(EMsg::GCHKillGC),
4021            2232 => Some(EMsg::GCHKillGCResponse),
4022            2233 => Some(EMsg::GCHAccountTradeBanStatusChange),
4023            2234 => Some(EMsg::GCHAccountLockStatusChange),
4024            2235 => Some(EMsg::GCHVacVerificationChange),
4025            2236 => Some(EMsg::GCHAccountPhoneNumberChange),
4026            2237 => Some(EMsg::GCHAccountTwoFactorChange),
4027            2238 => Some(EMsg::GCHInviteUserToLobby),
4028            2239 => Some(EMsg::GCHUpdateMultipleSessions),
4029            2240 => Some(EMsg::GCHMarkAppSessionsAuthoritative),
4030            2241 => Some(EMsg::GCHRecurringSubscriptionStatusChange),
4031            2242 => Some(EMsg::GCHAppCheersReceived),
4032            2243 => Some(EMsg::GCHAppCheersGetAllowedTypes),
4033            2244 => Some(EMsg::GCHAppCheersGetAllowedTypesResponse),
4034            2245 => Some(EMsg::GCHRoutingRulesFromGCHtoGM),
4035            2246 => Some(EMsg::GCHRoutingRulesToGCHfromGM),
4036            2247 => Some(EMsg::UpdateCMMessageRateRules),
4037            2500 => Some(EMsg::BaseP2P),
4038            2502 => Some(EMsg::P2PIntroducerMessage),
4039            2900 => Some(EMsg::BaseSM),
4040            2902 => Some(EMsg::SMExpensiveReport),
4041            2903 => Some(EMsg::SMHourlyReport),
4042            2904 => Some(EMsg::SMFishingReport),
4043            2905 => Some(EMsg::SMPartitionRenames),
4044            2906 => Some(EMsg::SMMonitorSpace),
4045            2907 => Some(EMsg::SMTestNextBuildSchemaConversion),
4046            2908 => Some(EMsg::SMTestNextBuildSchemaConversionResponse),
4047            3000 => Some(EMsg::BaseTest),
4048            3001 => Some(EMsg::JobHeartbeatTest),
4049            3002 => Some(EMsg::JobHeartbeatTestResponse),
4050            3100 => Some(EMsg::BaseFTSRange),
4051            3150 => Some(EMsg::BaseCCSRange),
4052            3161 => Some(EMsg::CCSDeleteAllCommentsByAuthor),
4053            3162 => Some(EMsg::CCSDeleteAllCommentsByAuthorResponse),
4054            3200 => Some(EMsg::BaseLBSRange),
4055            3201 => Some(EMsg::LBSSetScore),
4056            3202 => Some(EMsg::LBSSetScoreResponse),
4057            3203 => Some(EMsg::LBSFindOrCreateLB),
4058            3204 => Some(EMsg::LBSFindOrCreateLBResponse),
4059            3205 => Some(EMsg::LBSGetLBEntries),
4060            3206 => Some(EMsg::LBSGetLBEntriesResponse),
4061            3207 => Some(EMsg::LBSGetLBList),
4062            3208 => Some(EMsg::LBSGetLBListResponse),
4063            3209 => Some(EMsg::LBSSetLBDetails),
4064            3210 => Some(EMsg::LBSDeleteLB),
4065            3211 => Some(EMsg::LBSDeleteLBEntry),
4066            3212 => Some(EMsg::LBSResetLB),
4067            3213 => Some(EMsg::LBSResetLBResponse),
4068            3214 => Some(EMsg::LBSDeleteLBResponse),
4069            3400 => Some(EMsg::BaseOGS),
4070            3401 => Some(EMsg::OGSBeginSession),
4071            3402 => Some(EMsg::OGSBeginSessionResponse),
4072            3403 => Some(EMsg::OGSEndSession),
4073            3404 => Some(EMsg::OGSEndSessionResponse),
4074            3406 => Some(EMsg::OGSWriteAppSessionRow),
4075            3600 => Some(EMsg::BaseBRP),
4076            3601 => Some(EMsg::BRPStartShippingJobs),
4077            3602 => Some(EMsg::BRPProcessUSBankReports),
4078            3603 => Some(EMsg::BRPProcessGCReports),
4079            3604 => Some(EMsg::BRPProcessPPReports),
4080            3607 => Some(EMsg::BRPCommitGC),
4081            3608 => Some(EMsg::BRPCommitGCResponse),
4082            3609 => Some(EMsg::BRPFindHungTransactions),
4083            3610 => Some(EMsg::BRPCheckFinanceCloseOutDate),
4084            3611 => Some(EMsg::BRPProcessLicenses),
4085            3612 => Some(EMsg::BRPProcessLicensesResponse),
4086            3613 => Some(EMsg::BRPRemoveExpiredPaymentData),
4087            3614 => Some(EMsg::BRPRemoveExpiredPaymentDataResponse),
4088            3615 => Some(EMsg::BRPConvertToCurrentKeys),
4089            3616 => Some(EMsg::BRPConvertToCurrentKeysResponse),
4090            3617 => Some(EMsg::BRPPruneCardUsageStats),
4091            3618 => Some(EMsg::BRPPruneCardUsageStatsResponse),
4092            3619 => Some(EMsg::BRPCheckActivationCodes),
4093            3620 => Some(EMsg::BRPCheckActivationCodesResponse),
4094            3621 => Some(EMsg::BRPCommitWP),
4095            3622 => Some(EMsg::BRPCommitWPResponse),
4096            3623 => Some(EMsg::BRPProcessWPReports),
4097            3624 => Some(EMsg::BRPProcessPaymentRules),
4098            3625 => Some(EMsg::BRPProcessPartnerPayments),
4099            3626 => Some(EMsg::BRPCheckSettlementReports),
4100            3628 => Some(EMsg::BRPPostTaxToAvalara),
4101            3629 => Some(EMsg::BRPPostTransactionTax),
4102            3630 => Some(EMsg::BRPPostTransactionTaxResponse),
4103            3631 => Some(EMsg::BRPProcessIMReports),
4104            4000 => Some(EMsg::BaseAMRange2),
4105            4001 => Some(EMsg::AMCreateChat),
4106            4002 => Some(EMsg::AMCreateChatResponse),
4107            4005 => Some(EMsg::AMSetProfileURL),
4108            4006 => Some(EMsg::AMGetAccountEmailAddress),
4109            4007 => Some(EMsg::AMGetAccountEmailAddressResponse),
4110            4008 => Some(EMsg::AMRequestClanData),
4111            4009 => Some(EMsg::AMRouteToClients),
4112            4010 => Some(EMsg::AMLeaveClan),
4113            4011 => Some(EMsg::AMClanPermissions),
4114            4012 => Some(EMsg::AMClanPermissionsResponse),
4115            4013 => Some(EMsg::AMCreateClanEventDummyForRateLimiting),
4116            4014 => Some(EMsg::AMCreateClanEventResponse),
4117            4015 => Some(EMsg::AMUpdateClanEventDummyForRateLimiting),
4118            4016 => Some(EMsg::AMUpdateClanEventResponse),
4119            4017 => Some(EMsg::AMGetClanEvents),
4120            4018 => Some(EMsg::AMGetClanEventsResponse),
4121            4019 => Some(EMsg::AMDeleteClanEvent),
4122            4020 => Some(EMsg::AMDeleteClanEventResponse),
4123            4021 => Some(EMsg::AMSetClanPermissionSettings),
4124            4022 => Some(EMsg::AMSetClanPermissionSettingsResponse),
4125            4023 => Some(EMsg::AMGetClanPermissionSettings),
4126            4024 => Some(EMsg::AMGetClanPermissionSettingsResponse),
4127            4025 => Some(EMsg::AMPublishChatRoomInfo),
4128            4026 => Some(EMsg::ClientChatRoomInfo),
4129            4039 => Some(EMsg::AMGetClanHistory),
4130            4040 => Some(EMsg::AMGetClanHistoryResponse),
4131            4041 => Some(EMsg::AMGetClanPermissionBits),
4132            4042 => Some(EMsg::AMGetClanPermissionBitsResponse),
4133            4043 => Some(EMsg::AMSetClanPermissionBits),
4134            4044 => Some(EMsg::AMSetClanPermissionBitsResponse),
4135            4045 => Some(EMsg::AMSessionInfoRequest),
4136            4046 => Some(EMsg::AMSessionInfoResponse),
4137            4047 => Some(EMsg::AMValidateWGToken),
4138            4048 => Some(EMsg::AMGetSingleClanEvent),
4139            4049 => Some(EMsg::AMGetSingleClanEventResponse),
4140            4050 => Some(EMsg::AMGetClanRank),
4141            4051 => Some(EMsg::AMGetClanRankResponse),
4142            4052 => Some(EMsg::AMSetClanRank),
4143            4053 => Some(EMsg::AMSetClanRankResponse),
4144            4054 => Some(EMsg::AMGetClanPOTW),
4145            4055 => Some(EMsg::AMGetClanPOTWResponse),
4146            4056 => Some(EMsg::AMSetClanPOTW),
4147            4057 => Some(EMsg::AMSetClanPOTWResponse),
4148            4059 => Some(EMsg::AMDumpUser),
4149            4060 => Some(EMsg::AMKickUserFromClan),
4150            4061 => Some(EMsg::AMAddFounderToClan),
4151            4062 => Some(EMsg::AMValidateWGTokenResponse),
4152            4063 => Some(EMsg::AMSetCommunityState),
4153            4064 => Some(EMsg::AMSetAccountDetails),
4154            4065 => Some(EMsg::AMGetChatBanList),
4155            4066 => Some(EMsg::AMGetChatBanListResponse),
4156            4067 => Some(EMsg::AMUnBanFromChat),
4157            4068 => Some(EMsg::AMSetClanDetails),
4158            4069 => Some(EMsg::AMGetAccountLinks),
4159            4070 => Some(EMsg::AMGetAccountLinksResponse),
4160            4071 => Some(EMsg::AMSetAccountLinks),
4161            4072 => Some(EMsg::AMSetAccountLinksResponse),
4162            4073 => Some(EMsg::UGSGetUserGameStats),
4163            4074 => Some(EMsg::UGSGetUserGameStatsResponse),
4164            4075 => Some(EMsg::AMCheckClanMembership),
4165            4076 => Some(EMsg::AMGetClanMembers),
4166            4077 => Some(EMsg::AMGetClanMembersResponse),
4167            4078 => Some(EMsg::AMJoinPublicClan),
4168            4079 => Some(EMsg::AMNotifyChatOfClanChange),
4169            4080 => Some(EMsg::AMResubmitPurchase),
4170            4081 => Some(EMsg::AMAddFriend),
4171            4082 => Some(EMsg::AMAddFriendResponse),
4172            4083 => Some(EMsg::AMRemoveFriend),
4173            4084 => Some(EMsg::AMDumpClan),
4174            4085 => Some(EMsg::AMChangeClanOwner),
4175            4086 => Some(EMsg::AMCancelEasyCollect),
4176            4087 => Some(EMsg::AMCancelEasyCollectResponse),
4177            4090 => Some(EMsg::AMClansInCommon),
4178            4091 => Some(EMsg::AMClansInCommonResponse),
4179            4092 => Some(EMsg::AMIsValidAccountID),
4180            4093 => Some(EMsg::AMConvertClan),
4181            4095 => Some(EMsg::AMWipeFriendsList),
4182            4096 => Some(EMsg::AMSetIgnored),
4183            4097 => Some(EMsg::AMClansInCommonCountResponse),
4184            4098 => Some(EMsg::AMFriendsList),
4185            4099 => Some(EMsg::AMFriendsListResponse),
4186            4100 => Some(EMsg::AMFriendsInCommon),
4187            4101 => Some(EMsg::AMFriendsInCommonResponse),
4188            4102 => Some(EMsg::AMFriendsInCommonCountResponse),
4189            4103 => Some(EMsg::AMClansInCommonCount),
4190            4104 => Some(EMsg::AMChallengeVerdict),
4191            4105 => Some(EMsg::AMChallengeNotification),
4192            4106 => Some(EMsg::AMFindGSByIP),
4193            4107 => Some(EMsg::AMFoundGSByIP),
4194            4108 => Some(EMsg::AMGiftRevoked),
4195            4109 => Some(EMsg::AMCreateAccountRecord),
4196            4110 => Some(EMsg::AMUserClanList),
4197            4111 => Some(EMsg::AMUserClanListResponse),
4198            4112 => Some(EMsg::AMGetAccountDetails2),
4199            4113 => Some(EMsg::AMGetAccountDetailsResponse2),
4200            4114 => Some(EMsg::AMSetCommunityProfileSettings),
4201            4115 => Some(EMsg::AMSetCommunityProfileSettingsResponse),
4202            4116 => Some(EMsg::AMGetCommunityPrivacyState),
4203            4117 => Some(EMsg::AMGetCommunityPrivacyStateResponse),
4204            4118 => Some(EMsg::AMCheckClanInviteRateLimiting),
4205            4119 => Some(EMsg::UGSGetUserAchievementStatus),
4206            4120 => Some(EMsg::AMGetIgnored),
4207            4121 => Some(EMsg::AMGetIgnoredResponse),
4208            4122 => Some(EMsg::AMSetIgnoredResponse),
4209            4123 => Some(EMsg::AMSetFriendRelationshipNone),
4210            4124 => Some(EMsg::AMGetFriendRelationship),
4211            4125 => Some(EMsg::AMGetFriendRelationshipResponse),
4212            4126 => Some(EMsg::AMServiceModulesCache),
4213            4127 => Some(EMsg::AMServiceModulesCall),
4214            4128 => Some(EMsg::AMServiceModulesCallResponse),
4215            4129 => Some(EMsg::AMGetCaptchaDataForIP),
4216            4130 => Some(EMsg::AMGetCaptchaDataForIPResponse),
4217            4131 => Some(EMsg::AMValidateCaptchaDataForIP),
4218            4132 => Some(EMsg::AMValidateCaptchaDataForIPResponse),
4219            4133 => Some(EMsg::AMTrackFailedAuthByIP),
4220            4134 => Some(EMsg::AMGetCaptchaDataByGID),
4221            4135 => Some(EMsg::AMGetCaptchaDataByGIDResponse),
4222            4140 => Some(EMsg::CommunityAddFriendNews),
4223            4143 => Some(EMsg::AMFindClanUser),
4224            4144 => Some(EMsg::AMFindClanUserResponse),
4225            4145 => Some(EMsg::AMBanFromChat),
4226            4147 => Some(EMsg::AMGetUserNewsSubscriptions),
4227            4148 => Some(EMsg::AMGetUserNewsSubscriptionsResponse),
4228            4149 => Some(EMsg::AMSetUserNewsSubscriptions),
4229            4152 => Some(EMsg::AMSendQueuedEmails),
4230            4153 => Some(EMsg::AMSetLicenseFlags),
4231            4155 => Some(EMsg::CommunityDeleteUserNews),
4232            4156 => Some(EMsg::AMAllowUserFilesRequest),
4233            4157 => Some(EMsg::AMAllowUserFilesResponse),
4234            4158 => Some(EMsg::AMGetAccountStatus),
4235            4159 => Some(EMsg::AMGetAccountStatusResponse),
4236            4160 => Some(EMsg::AMEditBanReason),
4237            4161 => Some(EMsg::AMCheckClanMembershipResponse),
4238            4162 => Some(EMsg::AMProbeClanMembershipList),
4239            4163 => Some(EMsg::AMProbeClanMembershipListResponse),
4240            4164 => Some(EMsg::UGSGetUserAchievementStatusResponse),
4241            4165 => Some(EMsg::AMGetFriendsLobbies),
4242            4166 => Some(EMsg::AMGetFriendsLobbiesResponse),
4243            4172 => Some(EMsg::AMGetUserFriendNewsResponse),
4244            4173 => Some(EMsg::CommunityGetUserFriendNews),
4245            4174 => Some(EMsg::AMGetUserClansNewsResponse),
4246            4175 => Some(EMsg::AMGetUserClansNews),
4247            4184 => Some(EMsg::AMGetPreviousCBAccount),
4248            4185 => Some(EMsg::AMGetPreviousCBAccountResponse),
4249            4190 => Some(EMsg::AMGetUserLicenseHistory),
4250            4191 => Some(EMsg::AMGetUserLicenseHistoryResponse),
4251            4194 => Some(EMsg::AMSupportChangePassword),
4252            4195 => Some(EMsg::AMSupportChangeEmail),
4253            4197 => Some(EMsg::AMResetUserVerificationGSByIP),
4254            4198 => Some(EMsg::AMUpdateGSPlayStats),
4255            4199 => Some(EMsg::AMSupportEnableOrDisable),
4256            4206 => Some(EMsg::AMGetPurchaseStatus),
4257            4209 => Some(EMsg::AMSupportIsAccountEnabled),
4258            4210 => Some(EMsg::AMSupportIsAccountEnabledResponse),
4259            4211 => Some(EMsg::UGSGetUserStats),
4260            4212 => Some(EMsg::AMSupportKickSession),
4261            4213 => Some(EMsg::AMGSSearch),
4262            4216 => Some(EMsg::MarketingMessageUpdate),
4263            4219 => Some(EMsg::ChatServerRouteFriendMsg),
4264            4220 => Some(EMsg::AMTicketAuthRequestOrResponse),
4265            4222 => Some(EMsg::AMVerifyDepotManagementRights),
4266            4223 => Some(EMsg::AMVerifyDepotManagementRightsResponse),
4267            4224 => Some(EMsg::AMAddFreeLicense),
4268            4231 => Some(EMsg::AMValidateEmailLink),
4269            4232 => Some(EMsg::AMValidateEmailLinkResponse),
4270            4236 => Some(EMsg::UGSStoreUserStats),
4271            4241 => Some(EMsg::AMDeleteStoredCard),
4272            4242 => Some(EMsg::AMRevokeLegacyGameKeys),
4273            4244 => Some(EMsg::AMGetWalletDetails),
4274            4245 => Some(EMsg::AMGetWalletDetailsResponse),
4275            4246 => Some(EMsg::AMDeleteStoredPaymentInfo),
4276            4247 => Some(EMsg::AMGetStoredPaymentSummary),
4277            4248 => Some(EMsg::AMGetStoredPaymentSummaryResponse),
4278            4249 => Some(EMsg::AMGetWalletConversionRate),
4279            4250 => Some(EMsg::AMGetWalletConversionRateResponse),
4280            4251 => Some(EMsg::AMConvertWallet),
4281            4252 => Some(EMsg::AMConvertWalletResponse),
4282            4255 => Some(EMsg::AMSetPreApproval),
4283            4256 => Some(EMsg::AMSetPreApprovalResponse),
4284            4258 => Some(EMsg::AMCreateRefund),
4285            4259 => Some(EMsg::AMCreateRefundResponse),
4286            4260 => Some(EMsg::AMCreateChargeback),
4287            4261 => Some(EMsg::AMCreateChargebackResponse),
4288            4262 => Some(EMsg::AMCreateDispute),
4289            4263 => Some(EMsg::AMCreateDisputeResponse),
4290            4264 => Some(EMsg::AMClearDispute),
4291            4265 => Some(EMsg::AMCreateFinancialAdjustment),
4292            4266 => Some(EMsg::AMPlayerNicknameList),
4293            4267 => Some(EMsg::AMPlayerNicknameListResponse),
4294            4268 => Some(EMsg::AMSetDRMTestConfig),
4295            4269 => Some(EMsg::AMGetUserCurrentGameInfo),
4296            4270 => Some(EMsg::AMGetUserCurrentGameInfoResponse),
4297            4271 => Some(EMsg::AMGetGSPlayerList),
4298            4272 => Some(EMsg::AMGetGSPlayerListResponse),
4299            4276 => Some(EMsg::AMGetGameMembers),
4300            4277 => Some(EMsg::AMGetGameMembersResponse),
4301            4278 => Some(EMsg::AMGetSteamIDForMicroTxn),
4302            4279 => Some(EMsg::AMGetSteamIDForMicroTxnResponse),
4303            4280 => Some(EMsg::AMSetPartnerMember),
4304            4281 => Some(EMsg::AMRemovePublisherUser),
4305            4282 => Some(EMsg::AMGetUserLicenseList),
4306            4283 => Some(EMsg::AMGetUserLicenseListResponse),
4307            4284 => Some(EMsg::AMReloadGameGroupPolicy),
4308            4285 => Some(EMsg::AMAddFreeLicenseResponse),
4309            4286 => Some(EMsg::AMVACStatusUpdate),
4310            4287 => Some(EMsg::AMGetAccountDetails),
4311            4288 => Some(EMsg::AMGetAccountDetailsResponse),
4312            4289 => Some(EMsg::AMGetPlayerLinkDetails),
4313            4290 => Some(EMsg::AMGetPlayerLinkDetailsResponse),
4314            4294 => Some(EMsg::AMGetAccountFlagsForWGSpoofing),
4315            4295 => Some(EMsg::AMGetAccountFlagsForWGSpoofingResponse),
4316            4298 => Some(EMsg::AMGetClanOfficers),
4317            4299 => Some(EMsg::AMGetClanOfficersResponse),
4318            4300 => Some(EMsg::AMNameChange),
4319            4301 => Some(EMsg::AMGetNameHistory),
4320            4302 => Some(EMsg::AMGetNameHistoryResponse),
4321            4305 => Some(EMsg::AMUpdateProviderStatus),
4322            4307 => Some(EMsg::AMSupportRemoveAccountSecurity),
4323            4308 => Some(EMsg::AMIsAccountInCaptchaGracePeriod),
4324            4309 => Some(EMsg::AMIsAccountInCaptchaGracePeriodResponse),
4325            4310 => Some(EMsg::AMAccountPS3Unlink),
4326            4311 => Some(EMsg::AMAccountPS3UnlinkResponse),
4327            4312 => Some(EMsg::UGSStoreUserStatsResponse),
4328            4313 => Some(EMsg::AMGetAccountPSNInfo),
4329            4314 => Some(EMsg::AMGetAccountPSNInfoResponse),
4330            4315 => Some(EMsg::AMAuthenticatedPlayerList),
4331            4316 => Some(EMsg::AMGetUserGifts),
4332            4317 => Some(EMsg::AMGetUserGiftsResponse),
4333            4320 => Some(EMsg::AMTransferLockedGifts),
4334            4321 => Some(EMsg::AMTransferLockedGiftsResponse),
4335            4322 => Some(EMsg::AMPlayerHostedOnGameServer),
4336            4323 => Some(EMsg::AMGetAccountBanInfo),
4337            4324 => Some(EMsg::AMGetAccountBanInfoResponse),
4338            4325 => Some(EMsg::AMRecordBanEnforcement),
4339            4326 => Some(EMsg::AMRollbackGiftTransfer),
4340            4327 => Some(EMsg::AMRollbackGiftTransferResponse),
4341            4328 => Some(EMsg::AMHandlePendingTransaction),
4342            4329 => Some(EMsg::AMRequestClanDetails),
4343            4330 => Some(EMsg::AMDeleteStoredPaypalAgreement),
4344            4331 => Some(EMsg::AMGameServerUpdate),
4345            4332 => Some(EMsg::AMGameServerRemove),
4346            4333 => Some(EMsg::AMGetPaypalAgreements),
4347            4334 => Some(EMsg::AMGetPaypalAgreementsResponse),
4348            4335 => Some(EMsg::AMGameServerPlayerCompatibilityCheck),
4349            4336 => Some(EMsg::AMGameServerPlayerCompatibilityCheckResponse),
4350            4337 => Some(EMsg::AMRenewLicense),
4351            4338 => Some(EMsg::AMGetAccountCommunityBanInfo),
4352            4339 => Some(EMsg::AMGetAccountCommunityBanInfoResponse),
4353            4340 => Some(EMsg::AMGameServerAccountChangePassword),
4354            4341 => Some(EMsg::AMGameServerAccountDeleteAccount),
4355            4342 => Some(EMsg::AMRenewAgreement),
4356            4344 => Some(EMsg::AMXsollaPayment),
4357            4345 => Some(EMsg::AMXsollaPaymentResponse),
4358            4346 => Some(EMsg::AMAcctAllowedToPurchase),
4359            4347 => Some(EMsg::AMAcctAllowedToPurchaseResponse),
4360            4348 => Some(EMsg::AMSwapKioskDeposit),
4361            4349 => Some(EMsg::AMSwapKioskDepositResponse),
4362            4350 => Some(EMsg::AMSetUserGiftUnowned),
4363            4351 => Some(EMsg::AMSetUserGiftUnownedResponse),
4364            4352 => Some(EMsg::AMClaimUnownedUserGift),
4365            4353 => Some(EMsg::AMClaimUnownedUserGiftResponse),
4366            4354 => Some(EMsg::AMSetClanName),
4367            4355 => Some(EMsg::AMSetClanNameResponse),
4368            4356 => Some(EMsg::AMGrantCoupon),
4369            4357 => Some(EMsg::AMGrantCouponResponse),
4370            4358 => Some(EMsg::AMIsPackageRestrictedInUserCountry),
4371            4359 => Some(EMsg::AMIsPackageRestrictedInUserCountryResponse),
4372            4360 => Some(EMsg::AMHandlePendingTransactionResponse),
4373            4361 => Some(EMsg::AMGrantGuestPasses2),
4374            4362 => Some(EMsg::AMGrantGuestPasses2Response),
4375            4363 => Some(EMsg::AMSessionQuery),
4376            4364 => Some(EMsg::AMSessionQueryResponse),
4377            4365 => Some(EMsg::AMGetPlayerBanDetails),
4378            4366 => Some(EMsg::AMGetPlayerBanDetailsResponse),
4379            4367 => Some(EMsg::AMFinalizePurchase),
4380            4368 => Some(EMsg::AMFinalizePurchaseResponse),
4381            4372 => Some(EMsg::AMPersonaChangeResponse),
4382            4373 => Some(EMsg::AMGetClanDetailsForForumCreation),
4383            4374 => Some(EMsg::AMGetClanDetailsForForumCreationResponse),
4384            4375 => Some(EMsg::AMGetPendingNotificationCount),
4385            4376 => Some(EMsg::AMGetPendingNotificationCountResponse),
4386            4377 => Some(EMsg::AMPasswordHashUpgrade),
4387            4378 => Some(EMsg::AMMoPayPayment),
4388            4379 => Some(EMsg::AMMoPayPaymentResponse),
4389            4380 => Some(EMsg::AMBoaCompraPayment),
4390            4381 => Some(EMsg::AMBoaCompraPaymentResponse),
4391            4382 => Some(EMsg::AMExpireCaptchaByGID),
4392            4383 => Some(EMsg::AMCompleteExternalPurchase),
4393            4384 => Some(EMsg::AMCompleteExternalPurchaseResponse),
4394            4385 => Some(EMsg::AMResolveNegativeWalletCredits),
4395            4386 => Some(EMsg::AMResolveNegativeWalletCreditsResponse),
4396            4387 => Some(EMsg::AMPayelpPayment),
4397            4388 => Some(EMsg::AMPayelpPaymentResponse),
4398            4389 => Some(EMsg::AMPlayerGetClanBasicDetails),
4399            4390 => Some(EMsg::AMPlayerGetClanBasicDetailsResponse),
4400            4391 => Some(EMsg::AMMOLPayment),
4401            4392 => Some(EMsg::AMMOLPaymentResponse),
4402            4393 => Some(EMsg::GetUserIPCountry),
4403            4394 => Some(EMsg::GetUserIPCountryResponse),
4404            4395 => Some(EMsg::NotificationOfSuspiciousActivity),
4405            4396 => Some(EMsg::AMDegicaPayment),
4406            4397 => Some(EMsg::AMDegicaPaymentResponse),
4407            4398 => Some(EMsg::AMEClubPayment),
4408            4399 => Some(EMsg::AMEClubPaymentResponse),
4409            4400 => Some(EMsg::AMPayPalPaymentsHubPayment),
4410            4401 => Some(EMsg::AMPayPalPaymentsHubPaymentResponse),
4411            4402 => Some(EMsg::AMTwoFactorRecoverAuthenticatorRequest),
4412            4403 => Some(EMsg::AMTwoFactorRecoverAuthenticatorResponse),
4413            4404 => Some(EMsg::AMSmart2PayPayment),
4414            4405 => Some(EMsg::AMSmart2PayPaymentResponse),
4415            4406 => Some(EMsg::AMValidatePasswordResetCodeAndSendSmsRequest),
4416            4407 => Some(EMsg::AMValidatePasswordResetCodeAndSendSmsResponse),
4417            4408 => Some(EMsg::AMGetAccountResetDetailsRequest),
4418            4409 => Some(EMsg::AMGetAccountResetDetailsResponse),
4419            4410 => Some(EMsg::AMBitPayPayment),
4420            4411 => Some(EMsg::AMBitPayPaymentResponse),
4421            4412 => Some(EMsg::AMSendAccountInfoUpdate),
4422            4413 => Some(EMsg::AMSendScheduledGift),
4423            4414 => Some(EMsg::AMNodwinPayment),
4424            4415 => Some(EMsg::AMNodwinPaymentResponse),
4425            4416 => Some(EMsg::AMResolveWalletRevoke),
4426            4417 => Some(EMsg::AMResolveWalletReverseRevoke),
4427            4418 => Some(EMsg::AMFundedPayment),
4428            4419 => Some(EMsg::AMFundedPaymentResponse),
4429            4420 => Some(EMsg::AMRequestPersonaUpdateForChatServer),
4430            4421 => Some(EMsg::AMPerfectWorldPayment),
4431            4422 => Some(EMsg::AMPerfectWorldPaymentResponse),
4432            4423 => Some(EMsg::AMECommPayPayment),
4433            4424 => Some(EMsg::AMECommPayPaymentResponse),
4434            4425 => Some(EMsg::AMSetRemoteClientID),
4435            5000 => Some(EMsg::BasePSRange),
4436            5001 => Some(EMsg::PSCreateShoppingCart),
4437            5002 => Some(EMsg::PSCreateShoppingCartResponse),
4438            5003 => Some(EMsg::PSIsValidShoppingCart),
4439            5004 => Some(EMsg::PSIsValidShoppingCartResponse),
4440            5005 => Some(EMsg::PSAddPackageToShoppingCart),
4441            5006 => Some(EMsg::PSAddPackageToShoppingCartResponse),
4442            5007 => Some(EMsg::PSRemoveLineItemFromShoppingCart),
4443            5008 => Some(EMsg::PSRemoveLineItemFromShoppingCartResponse),
4444            5009 => Some(EMsg::PSGetShoppingCartContents),
4445            5010 => Some(EMsg::PSGetShoppingCartContentsResponse),
4446            5011 => Some(EMsg::PSAddWalletCreditToShoppingCart),
4447            5012 => Some(EMsg::PSAddWalletCreditToShoppingCartResponse),
4448            5013 => Some(EMsg::PSGetAccountCartContents),
4449            5014 => Some(EMsg::PSGetAccountCartContentsResponse),
4450            5200 => Some(EMsg::BaseUFSRange),
4451            5202 => Some(EMsg::ClientUFSUploadFileRequest),
4452            5203 => Some(EMsg::ClientUFSUploadFileResponse),
4453            5204 => Some(EMsg::ClientUFSUploadFileChunk),
4454            5205 => Some(EMsg::ClientUFSUploadFileFinished),
4455            5206 => Some(EMsg::ClientUFSGetFileListForApp),
4456            5207 => Some(EMsg::ClientUFSGetFileListForAppResponse),
4457            5210 => Some(EMsg::ClientUFSDownloadRequest),
4458            5211 => Some(EMsg::ClientUFSDownloadResponse),
4459            5212 => Some(EMsg::ClientUFSDownloadChunk),
4460            5213 => Some(EMsg::ClientUFSLoginRequest),
4461            5214 => Some(EMsg::ClientUFSLoginResponse),
4462            5215 => Some(EMsg::UFSReloadPartitionInfo),
4463            5216 => Some(EMsg::ClientUFSTransferHeartbeat),
4464            5217 => Some(EMsg::UFSSynchronizeFile),
4465            5218 => Some(EMsg::UFSSynchronizeFileResponse),
4466            5219 => Some(EMsg::ClientUFSDeleteFileRequest),
4467            5220 => Some(EMsg::ClientUFSDeleteFileResponse),
4468            5226 => Some(EMsg::ClientUFSGetUGCDetails),
4469            5227 => Some(EMsg::ClientUFSGetUGCDetailsResponse),
4470            5228 => Some(EMsg::UFSUpdateFileFlags),
4471            5229 => Some(EMsg::UFSUpdateFileFlagsResponse),
4472            5230 => Some(EMsg::ClientUFSGetSingleFileInfo),
4473            5231 => Some(EMsg::ClientUFSGetSingleFileInfoResponse),
4474            5232 => Some(EMsg::ClientUFSShareFile),
4475            5233 => Some(EMsg::ClientUFSShareFileResponse),
4476            5234 => Some(EMsg::UFSReloadAccount),
4477            5235 => Some(EMsg::UFSReloadAccountResponse),
4478            5236 => Some(EMsg::UFSUpdateRecordBatched),
4479            5237 => Some(EMsg::UFSUpdateRecordBatchedResponse),
4480            5238 => Some(EMsg::UFSMigrateFile),
4481            5239 => Some(EMsg::UFSMigrateFileResponse),
4482            5240 => Some(EMsg::UFSGetUGCURLs),
4483            5241 => Some(EMsg::UFSGetUGCURLsResponse),
4484            5242 => Some(EMsg::UFSHttpUploadFileFinishRequest),
4485            5243 => Some(EMsg::UFSHttpUploadFileFinishResponse),
4486            5244 => Some(EMsg::UFSDownloadStartRequest),
4487            5245 => Some(EMsg::UFSDownloadStartResponse),
4488            5246 => Some(EMsg::UFSDownloadChunkRequest),
4489            5247 => Some(EMsg::UFSDownloadChunkResponse),
4490            5248 => Some(EMsg::UFSDownloadFinishRequest),
4491            5249 => Some(EMsg::UFSDownloadFinishResponse),
4492            5250 => Some(EMsg::UFSFlushURLCache),
4493            5251 => Some(EMsg::ClientUFSUploadCommit),
4494            5252 => Some(EMsg::ClientUFSUploadCommitResponse),
4495            5253 => Some(EMsg::UFSMigrateFileAppID),
4496            5254 => Some(EMsg::UFSMigrateFileAppIDResponse),
4497            5400 => Some(EMsg::BaseClient2),
4498            5401 => Some(EMsg::ClientRequestForgottenPasswordEmail),
4499            5402 => Some(EMsg::ClientRequestForgottenPasswordEmailResponse),
4500            5403 => Some(EMsg::ClientCreateAccountResponse),
4501            5404 => Some(EMsg::ClientResetForgottenPassword),
4502            5405 => Some(EMsg::ClientResetForgottenPasswordResponse),
4503            5406 => Some(EMsg::ClientCreateAccount2),
4504            5407 => Some(EMsg::ClientInformOfResetForgottenPassword),
4505            5408 => Some(EMsg::ClientInformOfResetForgottenPasswordResponse),
4506            5410 => Some(EMsg::ClientGamesPlayedWithDataBlob),
4507            5411 => Some(EMsg::ClientUpdateUserGameInfo),
4508            5412 => Some(EMsg::ClientFileToDownload),
4509            5413 => Some(EMsg::ClientFileToDownloadResponse),
4510            5414 => Some(EMsg::ClientLBSSetScore),
4511            5415 => Some(EMsg::ClientLBSSetScoreResponse),
4512            5416 => Some(EMsg::ClientLBSFindOrCreateLB),
4513            5417 => Some(EMsg::ClientLBSFindOrCreateLBResponse),
4514            5418 => Some(EMsg::ClientLBSGetLBEntries),
4515            5419 => Some(EMsg::ClientLBSGetLBEntriesResponse),
4516            5426 => Some(EMsg::ClientChatDeclined),
4517            5427 => Some(EMsg::ClientFriendMsgIncoming),
4518            5429 => Some(EMsg::ClientTicketAuthComplete),
4519            5430 => Some(EMsg::ClientIsLimitedAccount),
4520            5431 => Some(EMsg::ClientRequestAuthList),
4521            5432 => Some(EMsg::ClientAuthList),
4522            5433 => Some(EMsg::ClientStat),
4523            5434 => Some(EMsg::ClientP2PConnectionInfo),
4524            5435 => Some(EMsg::ClientP2PConnectionFailInfo),
4525            5438 => Some(EMsg::ClientGetDepotDecryptionKey),
4526            5439 => Some(EMsg::ClientGetDepotDecryptionKeyResponse),
4527            5440 => Some(EMsg::GSPerformHardwareSurvey),
4528            5443 => Some(EMsg::ClientEnableTestLicense),
4529            5444 => Some(EMsg::ClientEnableTestLicenseResponse),
4530            5445 => Some(EMsg::ClientDisableTestLicense),
4531            5446 => Some(EMsg::ClientDisableTestLicenseResponse),
4532            5448 => Some(EMsg::ClientRequestValidationMail),
4533            5449 => Some(EMsg::ClientRequestValidationMailResponse),
4534            5450 => Some(EMsg::ClientCheckAppBetaPassword),
4535            5451 => Some(EMsg::ClientCheckAppBetaPasswordResponse),
4536            5452 => Some(EMsg::ClientToGC),
4537            5453 => Some(EMsg::ClientFromGC),
4538            5454 => Some(EMsg::ClientRequestChangeMail),
4539            5455 => Some(EMsg::ClientRequestChangeMailResponse),
4540            5456 => Some(EMsg::ClientEmailAddrInfo),
4541            5457 => Some(EMsg::ClientPasswordChange3),
4542            5458 => Some(EMsg::ClientEmailChange3),
4543            5459 => Some(EMsg::ClientPersonalQAChange3),
4544            5460 => Some(EMsg::ClientResetForgottenPassword3),
4545            5461 => Some(EMsg::ClientRequestForgottenPasswordEmail3),
4546            5463 => Some(EMsg::ClientNewLoginKey),
4547            5464 => Some(EMsg::ClientNewLoginKeyAccepted),
4548            5466 => Some(EMsg::ClientStoreUserStats2),
4549            5467 => Some(EMsg::ClientStatsUpdated),
4550            5468 => Some(EMsg::ClientActivateOEMLicense),
4551            5469 => Some(EMsg::ClientRegisterOEMMachine),
4552            5470 => Some(EMsg::ClientRegisterOEMMachineResponse),
4553            5480 => Some(EMsg::ClientRequestedClientStats),
4554            5481 => Some(EMsg::ClientStat2Int32),
4555            5482 => Some(EMsg::ClientStat2),
4556            5483 => Some(EMsg::ClientVerifyPassword),
4557            5484 => Some(EMsg::ClientVerifyPasswordResponse),
4558            5485 => Some(EMsg::ClientDRMDownloadRequest),
4559            5486 => Some(EMsg::ClientDRMDownloadResponse),
4560            5487 => Some(EMsg::ClientDRMFinalResult),
4561            5488 => Some(EMsg::ClientGetFriendsWhoPlayGame),
4562            5489 => Some(EMsg::ClientGetFriendsWhoPlayGameResponse),
4563            5490 => Some(EMsg::ClientOGSBeginSession),
4564            5491 => Some(EMsg::ClientOGSBeginSessionResponse),
4565            5492 => Some(EMsg::ClientOGSEndSession),
4566            5493 => Some(EMsg::ClientOGSEndSessionResponse),
4567            5494 => Some(EMsg::ClientOGSWriteRow),
4568            5495 => Some(EMsg::ClientDRMTest),
4569            5496 => Some(EMsg::ClientDRMTestResult),
4570            5497 => Some(EMsg::ClientStartPeerContentServer),
4571            5498 => Some(EMsg::ClientStartPeerContentServerResponse),
4572            5500 => Some(EMsg::ClientServerUnavailable),
4573            5501 => Some(EMsg::ClientServersAvailable),
4574            5502 => Some(EMsg::ClientRegisterAuthTicketWithCM),
4575            5503 => Some(EMsg::ClientGCMsgFailed),
4576            5504 => Some(EMsg::ClientMicroTxnAuthRequest),
4577            5505 => Some(EMsg::ClientMicroTxnAuthorize),
4578            5506 => Some(EMsg::ClientMicroTxnAuthorizeResponse),
4579            5507 => Some(EMsg::ClientAppMinutesPlayedData),
4580            5508 => Some(EMsg::ClientGetMicroTxnInfo),
4581            5509 => Some(EMsg::ClientGetMicroTxnInfoResponse),
4582            5510 => Some(EMsg::ClientMarketingMessageUpdate2),
4583            5511 => Some(EMsg::ClientDeregisterWithServer),
4584            5512 => Some(EMsg::ClientSubscribeToPersonaFeed),
4585            5514 => Some(EMsg::ClientLogon),
4586            5515 => Some(EMsg::ClientGetClientDetails),
4587            5516 => Some(EMsg::ClientGetClientDetailsResponse),
4588            5517 => Some(EMsg::ClientReportOverlayDetourFailure),
4589            5518 => Some(EMsg::ClientGetClientAppList),
4590            5519 => Some(EMsg::ClientGetClientAppListResponse),
4591            5520 => Some(EMsg::ClientInstallClientApp),
4592            5521 => Some(EMsg::ClientInstallClientAppResponse),
4593            5522 => Some(EMsg::ClientUninstallClientApp),
4594            5523 => Some(EMsg::ClientUninstallClientAppResponse),
4595            5524 => Some(EMsg::ClientSetClientAppUpdateState),
4596            5525 => Some(EMsg::ClientSetClientAppUpdateStateResponse),
4597            5526 => Some(EMsg::ClientRequestEncryptedAppTicket),
4598            5527 => Some(EMsg::ClientRequestEncryptedAppTicketResponse),
4599            5528 => Some(EMsg::ClientWalletInfoUpdate),
4600            5529 => Some(EMsg::ClientLBSSetUGC),
4601            5530 => Some(EMsg::ClientLBSSetUGCResponse),
4602            5531 => Some(EMsg::ClientAMGetClanOfficers),
4603            5532 => Some(EMsg::ClientAMGetClanOfficersResponse),
4604            5535 => Some(EMsg::ClientFriendProfileInfo),
4605            5536 => Some(EMsg::ClientFriendProfileInfoResponse),
4606            5537 => Some(EMsg::ClientUpdateMachineAuth),
4607            5538 => Some(EMsg::ClientUpdateMachineAuthResponse),
4608            5539 => Some(EMsg::ClientReadMachineAuth),
4609            5540 => Some(EMsg::ClientReadMachineAuthResponse),
4610            5541 => Some(EMsg::ClientRequestMachineAuth),
4611            5542 => Some(EMsg::ClientRequestMachineAuthResponse),
4612            5543 => Some(EMsg::ClientScreenshotsChanged),
4613            5544 => Some(EMsg::ClientEmailChange4),
4614            5545 => Some(EMsg::ClientEmailChangeResponse4),
4615            5546 => Some(EMsg::ClientGetCDNAuthToken),
4616            5547 => Some(EMsg::ClientGetCDNAuthTokenResponse),
4617            5548 => Some(EMsg::ClientDownloadRateStatistics),
4618            5549 => Some(EMsg::ClientRequestAccountData),
4619            5550 => Some(EMsg::ClientRequestAccountDataResponse),
4620            5551 => Some(EMsg::ClientResetForgottenPassword4),
4621            5552 => Some(EMsg::ClientHideFriend),
4622            5553 => Some(EMsg::ClientFriendsGroupsList),
4623            5554 => Some(EMsg::ClientGetClanActivityCounts),
4624            5555 => Some(EMsg::ClientGetClanActivityCountsResponse),
4625            5556 => Some(EMsg::ClientOGSReportString),
4626            5557 => Some(EMsg::ClientOGSReportBug),
4627            5558 => Some(EMsg::ClientSentLogs),
4628            5559 => Some(EMsg::ClientLogonGameServer),
4629            5560 => Some(EMsg::AMClientCreateFriendsGroup),
4630            5561 => Some(EMsg::AMClientCreateFriendsGroupResponse),
4631            5562 => Some(EMsg::AMClientDeleteFriendsGroup),
4632            5563 => Some(EMsg::AMClientDeleteFriendsGroupResponse),
4633            5564 => Some(EMsg::AMClientManageFriendsGroup),
4634            5565 => Some(EMsg::AMClientManageFriendsGroupResponse),
4635            5566 => Some(EMsg::AMClientAddFriendToGroup),
4636            5567 => Some(EMsg::AMClientAddFriendToGroupResponse),
4637            5568 => Some(EMsg::AMClientRemoveFriendFromGroup),
4638            5569 => Some(EMsg::AMClientRemoveFriendFromGroupResponse),
4639            5570 => Some(EMsg::ClientAMGetPersonaNameHistory),
4640            5571 => Some(EMsg::ClientAMGetPersonaNameHistoryResponse),
4641            5572 => Some(EMsg::ClientRequestFreeLicense),
4642            5573 => Some(EMsg::ClientRequestFreeLicenseResponse),
4643            5574 => Some(EMsg::ClientDRMDownloadRequestWithCrashData),
4644            5575 => Some(EMsg::ClientAuthListAck),
4645            5576 => Some(EMsg::ClientItemAnnouncements),
4646            5577 => Some(EMsg::ClientRequestItemAnnouncements),
4647            5578 => Some(EMsg::ClientFriendMsgEchoToSender),
4648            5581 => Some(EMsg::ClientOGSGameServerPingSample),
4649            5582 => Some(EMsg::ClientCommentNotifications),
4650            5583 => Some(EMsg::ClientRequestCommentNotifications),
4651            5584 => Some(EMsg::ClientPersonaChangeResponse),
4652            5585 => Some(EMsg::ClientRequestWebAPIAuthenticateUserNonce),
4653            5586 => Some(EMsg::ClientRequestWebAPIAuthenticateUserNonceResponse),
4654            5587 => Some(EMsg::ClientPlayerNicknameList),
4655            5588 => Some(EMsg::AMClientSetPlayerNickname),
4656            5589 => Some(EMsg::AMClientSetPlayerNicknameResponse),
4657            5590 => Some(EMsg::ClientCreateAccountProto),
4658            5591 => Some(EMsg::ClientCreateAccountProtoResponse),
4659            5592 => Some(EMsg::ClientGetNumberOfCurrentPlayersDP),
4660            5593 => Some(EMsg::ClientGetNumberOfCurrentPlayersDPResponse),
4661            5594 => Some(EMsg::ClientServiceMethodLegacy),
4662            5595 => Some(EMsg::ClientServiceMethodLegacyResponse),
4663            5596 => Some(EMsg::ClientFriendUserStatusPublished),
4664            5597 => Some(EMsg::ClientCurrentUIMode),
4665            5598 => Some(EMsg::ClientVanityURLChangedNotification),
4666            5599 => Some(EMsg::ClientUserNotifications),
4667            5600 => Some(EMsg::BaseDFS),
4668            5601 => Some(EMsg::DFSGetFile),
4669            5602 => Some(EMsg::DFSInstallLocalFile),
4670            5603 => Some(EMsg::DFSConnection),
4671            5604 => Some(EMsg::DFSConnectionReply),
4672            5605 => Some(EMsg::ClientDFSAuthenticateRequest),
4673            5606 => Some(EMsg::ClientDFSAuthenticateResponse),
4674            5607 => Some(EMsg::ClientDFSEndSession),
4675            5608 => Some(EMsg::DFSPurgeFile),
4676            5609 => Some(EMsg::DFSRouteFile),
4677            5610 => Some(EMsg::DFSGetFileFromServer),
4678            5611 => Some(EMsg::DFSAcceptedResponse),
4679            5612 => Some(EMsg::DFSRequestPingback),
4680            5613 => Some(EMsg::DFSRecvTransmitFile),
4681            5614 => Some(EMsg::DFSSendTransmitFile),
4682            5615 => Some(EMsg::DFSRequestPingback2),
4683            5616 => Some(EMsg::DFSResponsePingback2),
4684            5617 => Some(EMsg::ClientDFSDownloadStatus),
4685            5618 => Some(EMsg::DFSStartTransfer),
4686            5619 => Some(EMsg::DFSTransferComplete),
4687            5620 => Some(EMsg::DFSRouteFileResponse),
4688            5621 => Some(EMsg::ClientNetworkingCertRequest),
4689            5622 => Some(EMsg::ClientNetworkingCertRequestResponse),
4690            5623 => Some(EMsg::ClientChallengeRequest),
4691            5624 => Some(EMsg::ClientChallengeResponse),
4692            5625 => Some(EMsg::BadgeCraftedNotification),
4693            5626 => Some(EMsg::ClientNetworkingMobileCertRequest),
4694            5627 => Some(EMsg::ClientNetworkingMobileCertRequestResponse),
4695            5800 => Some(EMsg::BaseMDS),
4696            5812 => Some(EMsg::AMToMDSGetDepotDecryptionKey),
4697            5813 => Some(EMsg::MDSToAMGetDepotDecryptionKeyResponse),
4698            5827 => Some(EMsg::MDSContentServerConfigRequest),
4699            5828 => Some(EMsg::MDSContentServerConfig),
4700            5829 => Some(EMsg::MDSGetDepotManifest),
4701            5830 => Some(EMsg::MDSGetDepotManifestResponse),
4702            5831 => Some(EMsg::MDSGetDepotManifestChunk),
4703            5832 => Some(EMsg::MDSGetDepotChunk),
4704            5833 => Some(EMsg::MDSGetDepotChunkResponse),
4705            5834 => Some(EMsg::MDSGetDepotChunkChunk),
4706            5836 => Some(EMsg::MDSGetServerListForUser),
4707            5837 => Some(EMsg::MDSGetServerListForUserResponse),
4708            5844 => Some(EMsg::MDSToCSFlushChunk),
4709            5847 => Some(EMsg::MDSMigrateChunk),
4710            5848 => Some(EMsg::MDSMigrateChunkResponse),
4711            5849 => Some(EMsg::MDSToCSFlushManifest),
4712            6200 => Some(EMsg::CSBase),
4713            6201 => Some(EMsg::CSPing),
4714            6202 => Some(EMsg::CSPingResponse),
4715            6400 => Some(EMsg::GMSBase),
4716            6401 => Some(EMsg::GMSGameServerReplicate),
4717            6403 => Some(EMsg::ClientGMSServerQuery),
4718            6404 => Some(EMsg::GMSClientServerQueryResponse),
4719            6405 => Some(EMsg::AMGMSGameServerUpdate),
4720            6406 => Some(EMsg::AMGMSGameServerRemove),
4721            6407 => Some(EMsg::GameServerOutOfDate),
4722            6500 => Some(EMsg::DeviceAuthorizationBase),
4723            6501 => Some(EMsg::ClientAuthorizeLocalDeviceRequest),
4724            6502 => Some(EMsg::ClientAuthorizeLocalDeviceResponse),
4725            6503 => Some(EMsg::ClientDeauthorizeDeviceRequest),
4726            6504 => Some(EMsg::ClientDeauthorizeDevice),
4727            6505 => Some(EMsg::ClientUseLocalDeviceAuthorizations),
4728            6506 => Some(EMsg::ClientGetAuthorizedDevices),
4729            6507 => Some(EMsg::ClientGetAuthorizedDevicesResponse),
4730            6508 => Some(EMsg::AMNotifySessionDeviceAuthorized),
4731            6509 => Some(EMsg::ClientAuthorizeLocalDeviceNotification),
4732            6600 => Some(EMsg::MMSBase),
4733            6601 => Some(EMsg::ClientMMSCreateLobby),
4734            6602 => Some(EMsg::ClientMMSCreateLobbyResponse),
4735            6603 => Some(EMsg::ClientMMSJoinLobby),
4736            6604 => Some(EMsg::ClientMMSJoinLobbyResponse),
4737            6605 => Some(EMsg::ClientMMSLeaveLobby),
4738            6606 => Some(EMsg::ClientMMSLeaveLobbyResponse),
4739            6607 => Some(EMsg::ClientMMSGetLobbyList),
4740            6608 => Some(EMsg::ClientMMSGetLobbyListResponse),
4741            6609 => Some(EMsg::ClientMMSSetLobbyData),
4742            6610 => Some(EMsg::ClientMMSSetLobbyDataResponse),
4743            6611 => Some(EMsg::ClientMMSGetLobbyData),
4744            6612 => Some(EMsg::ClientMMSLobbyData),
4745            6613 => Some(EMsg::ClientMMSSendLobbyChatMsg),
4746            6614 => Some(EMsg::ClientMMSLobbyChatMsg),
4747            6615 => Some(EMsg::ClientMMSSetLobbyOwner),
4748            6616 => Some(EMsg::ClientMMSSetLobbyOwnerResponse),
4749            6617 => Some(EMsg::ClientMMSSetLobbyGameServer),
4750            6618 => Some(EMsg::ClientMMSLobbyGameServerSet),
4751            6619 => Some(EMsg::ClientMMSUserJoinedLobby),
4752            6620 => Some(EMsg::ClientMMSUserLeftLobby),
4753            6621 => Some(EMsg::ClientMMSInviteToLobby),
4754            6622 => Some(EMsg::ClientMMSFlushFrenemyListCache),
4755            6623 => Some(EMsg::ClientMMSFlushFrenemyListCacheResponse),
4756            6624 => Some(EMsg::ClientMMSSetLobbyLinked),
4757            6625 => Some(EMsg::ClientMMSSetRatelimitPolicyOnClient),
4758            6626 => Some(EMsg::ClientMMSGetLobbyStatus),
4759            6627 => Some(EMsg::ClientMMSGetLobbyStatusResponse),
4760            6628 => Some(EMsg::MMSGetLobbyList),
4761            6629 => Some(EMsg::MMSGetLobbyListResponse),
4762            6800 => Some(EMsg::NonStdMsgBase),
4763            6801 => Some(EMsg::NonStdMsgMemcached),
4764            6802 => Some(EMsg::NonStdMsgHTTPServer),
4765            6803 => Some(EMsg::NonStdMsgHTTPClient),
4766            6804 => Some(EMsg::NonStdMsgWGResponse),
4767            6805 => Some(EMsg::NonStdMsgPHPSimulator),
4768            6806 => Some(EMsg::NonStdMsgChase),
4769            6807 => Some(EMsg::NonStdMsgDFSTransfer),
4770            6808 => Some(EMsg::NonStdMsgTests),
4771            6809 => Some(EMsg::NonStdMsgUMQpipeAAPL),
4772            6810 => Some(EMsg::NonStdMsgSyslog),
4773            6811 => Some(EMsg::NonStdMsgLogsink),
4774            6812 => Some(EMsg::NonStdMsgSteam2Emulator),
4775            6813 => Some(EMsg::NonStdMsgRTMPServer),
4776            6814 => Some(EMsg::NonStdMsgWebSocket),
4777            6815 => Some(EMsg::NonStdMsgRedis),
4778            7000 => Some(EMsg::UDSBase),
4779            7001 => Some(EMsg::ClientUDSP2PSessionStarted),
4780            7002 => Some(EMsg::ClientUDSP2PSessionEnded),
4781            7003 => Some(EMsg::UDSRenderUserAuth),
4782            7004 => Some(EMsg::UDSRenderUserAuthResponse),
4783            7005 => Some(EMsg::ClientInviteToGame),
4784            7006 => Some(EMsg::UDSHasSession),
4785            7007 => Some(EMsg::UDSHasSessionResponse),
4786            7100 => Some(EMsg::MPASBase),
4787            7101 => Some(EMsg::MPASVacBanReset),
4788            7200 => Some(EMsg::KGSBase),
4789            7300 => Some(EMsg::UCMBase),
4790            7301 => Some(EMsg::ClientUCMAddScreenshot),
4791            7302 => Some(EMsg::ClientUCMAddScreenshotResponse),
4792            7307 => Some(EMsg::UCMResetCommunityContent),
4793            7308 => Some(EMsg::UCMResetCommunityContentResponse),
4794            7309 => Some(EMsg::ClientUCMDeleteScreenshot),
4795            7310 => Some(EMsg::ClientUCMDeleteScreenshotResponse),
4796            7311 => Some(EMsg::ClientUCMPublishFile),
4797            7312 => Some(EMsg::ClientUCMPublishFileResponse),
4798            7315 => Some(EMsg::ClientUCMDeletePublishedFile),
4799            7316 => Some(EMsg::ClientUCMDeletePublishedFileResponse),
4800            7317 => Some(EMsg::ClientUCMEnumerateUserPublishedFiles),
4801            7318 => Some(EMsg::ClientUCMEnumerateUserPublishedFilesResponse),
4802            7321 => Some(EMsg::ClientUCMEnumerateUserSubscribedFiles),
4803            7322 => Some(EMsg::ClientUCMEnumerateUserSubscribedFilesResponse),
4804            7325 => Some(EMsg::ClientUCMUpdatePublishedFile),
4805            7326 => Some(EMsg::ClientUCMUpdatePublishedFileResponse),
4806            7327 => Some(EMsg::UCMUpdatePublishedFile),
4807            7328 => Some(EMsg::UCMUpdatePublishedFileResponse),
4808            7329 => Some(EMsg::UCMDeletePublishedFile),
4809            7330 => Some(EMsg::UCMDeletePublishedFileResponse),
4810            7331 => Some(EMsg::UCMUpdatePublishedFileStat),
4811            7332 => Some(EMsg::UCMUpdatePublishedFileBan),
4812            7333 => Some(EMsg::UCMUpdatePublishedFileBanResponse),
4813            7337 => Some(EMsg::UCMReloadPublishedFile),
4814            7338 => Some(EMsg::UCMReloadUserFileListCaches),
4815            7339 => Some(EMsg::UCMPublishedFileReported),
4816            7340 => Some(EMsg::UCMUpdatePublishedFileIncompatibleStatus),
4817            7341 => Some(EMsg::UCMPublishedFilePreviewAdd),
4818            7342 => Some(EMsg::UCMPublishedFilePreviewAddResponse),
4819            7343 => Some(EMsg::UCMPublishedFilePreviewRemove),
4820            7344 => Some(EMsg::UCMPublishedFilePreviewRemoveResponse),
4821            7347 => Some(EMsg::ClientUCMPublishedFileSubscribed),
4822            7348 => Some(EMsg::ClientUCMPublishedFileUnsubscribed),
4823            7349 => Some(EMsg::UCMPublishedFileSubscribed),
4824            7350 => Some(EMsg::UCMPublishedFileUnsubscribed),
4825            7351 => Some(EMsg::UCMPublishFile),
4826            7352 => Some(EMsg::UCMPublishFileResponse),
4827            7353 => Some(EMsg::UCMPublishedFileChildAdd),
4828            7354 => Some(EMsg::UCMPublishedFileChildAddResponse),
4829            7355 => Some(EMsg::UCMPublishedFileChildRemove),
4830            7356 => Some(EMsg::UCMPublishedFileChildRemoveResponse),
4831            7359 => Some(EMsg::UCMPublishedFileParentChanged),
4832            7360 => Some(EMsg::ClientUCMGetPublishedFilesForUser),
4833            7361 => Some(EMsg::ClientUCMGetPublishedFilesForUserResponse),
4834            7364 => Some(EMsg::ClientUCMSetUserPublishedFileAction),
4835            7365 => Some(EMsg::ClientUCMSetUserPublishedFileActionResponse),
4836            7366 => Some(EMsg::ClientUCMEnumeratePublishedFilesByUserAction),
4837            7367 => Some(EMsg::ClientUCMEnumeratePublishedFilesByUserActionResponse),
4838            7368 => Some(EMsg::ClientUCMPublishedFileDeleted),
4839            7369 => Some(EMsg::UCMGetUserSubscribedFiles),
4840            7370 => Some(EMsg::UCMGetUserSubscribedFilesResponse),
4841            7371 => Some(EMsg::UCMFixStatsPublishedFile),
4842            7378 => Some(EMsg::ClientUCMEnumerateUserSubscribedFilesWithUpdates),
4843            7379 => Some(EMsg::ClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse),
4844            7380 => Some(EMsg::UCMPublishedFileContentUpdated),
4845            7381 => Some(EMsg::ClientUCMPublishedFileUpdated),
4846            7382 => Some(EMsg::ClientWorkshopItemChangesRequest),
4847            7383 => Some(EMsg::ClientWorkshopItemChangesResponse),
4848            7384 => Some(EMsg::ClientWorkshopItemInfoRequest),
4849            7385 => Some(EMsg::ClientWorkshopItemInfoResponse),
4850            7500 => Some(EMsg::FSBase),
4851            7501 => Some(EMsg::ClientRichPresenceUpload),
4852            7502 => Some(EMsg::ClientRichPresenceRequest),
4853            7503 => Some(EMsg::ClientRichPresenceInfo),
4854            7504 => Some(EMsg::FSRichPresenceRequest),
4855            7505 => Some(EMsg::FSRichPresenceResponse),
4856            7506 => Some(EMsg::FSComputeFrenematrix),
4857            7507 => Some(EMsg::FSComputeFrenematrixResponse),
4858            7508 => Some(EMsg::FSPlayStatusNotification),
4859            7509 => Some(EMsg::FSPublishPersonaStatus),
4860            7510 => Some(EMsg::FSAddOrRemoveFollower),
4861            7511 => Some(EMsg::FSAddOrRemoveFollowerResponse),
4862            7512 => Some(EMsg::FSUpdateFollowingList),
4863            7513 => Some(EMsg::FSCommentNotification),
4864            7514 => Some(EMsg::FSCommentNotificationViewed),
4865            7515 => Some(EMsg::ClientFSGetFollowerCount),
4866            7516 => Some(EMsg::ClientFSGetFollowerCountResponse),
4867            7517 => Some(EMsg::ClientFSGetIsFollowing),
4868            7518 => Some(EMsg::ClientFSGetIsFollowingResponse),
4869            7519 => Some(EMsg::ClientFSEnumerateFollowingList),
4870            7520 => Some(EMsg::ClientFSEnumerateFollowingListResponse),
4871            7521 => Some(EMsg::FSGetPendingNotificationCount),
4872            7522 => Some(EMsg::FSGetPendingNotificationCountResponse),
4873            7523 => Some(EMsg::ClientChatOfflineMessageNotification),
4874            7524 => Some(EMsg::ClientChatRequestOfflineMessageCount),
4875            7525 => Some(EMsg::ClientChatGetFriendMessageHistory),
4876            7526 => Some(EMsg::ClientChatGetFriendMessageHistoryResponse),
4877            7527 => Some(EMsg::ClientChatGetFriendMessageHistoryForOfflineMessages),
4878            7528 => Some(EMsg::ClientFSGetFriendsSteamLevels),
4879            7529 => Some(EMsg::ClientFSGetFriendsSteamLevelsResponse),
4880            7530 => Some(EMsg::AMRequestFriendData),
4881            7600 => Some(EMsg::DRMRange2),
4882            7601 => Some(EMsg::CEGVersionSetEnableDisableResponse),
4883            7602 => Some(EMsg::CEGPropStatusDRMSRequest),
4884            7603 => Some(EMsg::CEGPropStatusDRMSResponse),
4885            7604 => Some(EMsg::CEGWhackFailureReportRequest),
4886            7605 => Some(EMsg::CEGWhackFailureReportResponse),
4887            7606 => Some(EMsg::DRMSFetchVersionSet),
4888            7607 => Some(EMsg::DRMSFetchVersionSetResponse),
4889            7700 => Some(EMsg::EconBase),
4890            7701 => Some(EMsg::EconTrading_InitiateTradeRequest),
4891            7702 => Some(EMsg::EconTrading_InitiateTradeProposed),
4892            7703 => Some(EMsg::EconTrading_InitiateTradeResponse),
4893            7704 => Some(EMsg::EconTrading_InitiateTradeResult),
4894            7705 => Some(EMsg::EconTrading_StartSession),
4895            7706 => Some(EMsg::EconTrading_CancelTradeRequest),
4896            7707 => Some(EMsg::EconFlushInventoryCache),
4897            7708 => Some(EMsg::EconFlushInventoryCacheResponse),
4898            7711 => Some(EMsg::EconCDKeyProcessTransaction),
4899            7712 => Some(EMsg::EconCDKeyProcessTransactionResponse),
4900            7713 => Some(EMsg::EconGetErrorLogs),
4901            7714 => Some(EMsg::EconGetErrorLogsResponse),
4902            7800 => Some(EMsg::RMRange),
4903            7801 => Some(EMsg::RMTestVerisignOTPResponse),
4904            7803 => Some(EMsg::RMDeleteMemcachedKeys),
4905            7804 => Some(EMsg::RMRemoteInvoke),
4906            7805 => Some(EMsg::BadLoginIPList),
4907            7806 => Some(EMsg::RMMsgTraceAddTrigger),
4908            7807 => Some(EMsg::RMMsgTraceRemoveTrigger),
4909            7808 => Some(EMsg::RMMsgTraceEvent),
4910            7900 => Some(EMsg::UGSBase),
4911            7901 => Some(EMsg::ClientUGSGetGlobalStats),
4912            7902 => Some(EMsg::ClientUGSGetGlobalStatsResponse),
4913            8000 => Some(EMsg::StoreBase),
4914            8100 => Some(EMsg::UMQBase),
4915            8101 => Some(EMsg::UMQLogonResponse),
4916            8102 => Some(EMsg::UMQLogoffRequest),
4917            8103 => Some(EMsg::UMQLogoffResponse),
4918            8104 => Some(EMsg::UMQSendChatMessage),
4919            8105 => Some(EMsg::UMQIncomingChatMessage),
4920            8106 => Some(EMsg::UMQPoll),
4921            8107 => Some(EMsg::UMQPollResults),
4922            8108 => Some(EMsg::UMQ2AM_ClientMsgBatch),
4923            8200 => Some(EMsg::WorkshopBase),
4924            8300 => Some(EMsg::WebAPIBase),
4925            8301 => Some(EMsg::WebAPIValidateOAuth2TokenResponse),
4926            8303 => Some(EMsg::WebAPIRegisterGCInterfaces),
4927            8304 => Some(EMsg::WebAPIInvalidateOAuthClientCache),
4928            8305 => Some(EMsg::WebAPIInvalidateOAuthTokenCache),
4929            8306 => Some(EMsg::WebAPISetSecrets),
4930            8400 => Some(EMsg::BackpackBase),
4931            8401 => Some(EMsg::BackpackAddToCurrency),
4932            8402 => Some(EMsg::BackpackAddToCurrencyResponse),
4933            8500 => Some(EMsg::CREBase),
4934            8503 => Some(EMsg::CREItemVoteSummary),
4935            8504 => Some(EMsg::CREItemVoteSummaryResponse),
4936            8507 => Some(EMsg::CREUpdateUserPublishedItemVote),
4937            8508 => Some(EMsg::CREUpdateUserPublishedItemVoteResponse),
4938            8509 => Some(EMsg::CREGetUserPublishedItemVoteDetails),
4939            8510 => Some(EMsg::CREGetUserPublishedItemVoteDetailsResponse),
4940            8511 => Some(EMsg::CREEnumeratePublishedFiles),
4941            8512 => Some(EMsg::CREEnumeratePublishedFilesResponse),
4942            8513 => Some(EMsg::CREPublishedFileVoteAdded),
4943            8600 => Some(EMsg::SecretsBase),
4944            8601 => Some(EMsg::SecretsCredentialPairResponse),
4945            8700 => Some(EMsg::BoxMonitorBase),
4946            8701 => Some(EMsg::BoxMonitorReportResponse),
4947            8800 => Some(EMsg::LogsinkBase),
4948            8900 => Some(EMsg::PICSBase),
4949            8901 => Some(EMsg::ClientPICSChangesSinceRequest),
4950            8902 => Some(EMsg::ClientPICSChangesSinceResponse),
4951            8903 => Some(EMsg::ClientPICSProductInfoRequest),
4952            8904 => Some(EMsg::ClientPICSProductInfoResponse),
4953            8905 => Some(EMsg::ClientPICSAccessTokenRequest),
4954            8906 => Some(EMsg::ClientPICSAccessTokenResponse),
4955            8907 => Some(EMsg::ClientPICSPrivateBetaRequest),
4956            8908 => Some(EMsg::ClientPICSPrivateBetaResponse),
4957            9000 => Some(EMsg::WorkerProcess),
4958            9001 => Some(EMsg::WorkerProcessPingResponse),
4959            9002 => Some(EMsg::WorkerProcessShutdown),
4960            9100 => Some(EMsg::DRMWorkerProcess),
4961            9101 => Some(EMsg::DRMWorkerProcessDRMAndSignResponse),
4962            9102 => Some(EMsg::DRMWorkerProcessSteamworksInfoRequest),
4963            9103 => Some(EMsg::DRMWorkerProcessSteamworksInfoResponse),
4964            9104 => Some(EMsg::DRMWorkerProcessInstallDRMDLLRequest),
4965            9105 => Some(EMsg::DRMWorkerProcessInstallDRMDLLResponse),
4966            9106 => Some(EMsg::DRMWorkerProcessSecretIdStringRequest),
4967            9107 => Some(EMsg::DRMWorkerProcessSecretIdStringResponse),
4968            9110 => Some(EMsg::DRMWorkerProcessInstallProcessedFilesRequest),
4969            9111 => Some(EMsg::DRMWorkerProcessInstallProcessedFilesResponse),
4970            9112 => Some(EMsg::DRMWorkerProcessExamineBlobRequest),
4971            9113 => Some(EMsg::DRMWorkerProcessExamineBlobResponse),
4972            9114 => Some(EMsg::DRMWorkerProcessDescribeSecretRequest),
4973            9115 => Some(EMsg::DRMWorkerProcessDescribeSecretResponse),
4974            9116 => Some(EMsg::DRMWorkerProcessBackfillOriginalRequest),
4975            9117 => Some(EMsg::DRMWorkerProcessBackfillOriginalResponse),
4976            9118 => Some(EMsg::DRMWorkerProcessValidateDRMDLLRequest),
4977            9119 => Some(EMsg::DRMWorkerProcessValidateDRMDLLResponse),
4978            9120 => Some(EMsg::DRMWorkerProcessValidateFileRequest),
4979            9121 => Some(EMsg::DRMWorkerProcessValidateFileResponse),
4980            9122 => Some(EMsg::DRMWorkerProcessSplitAndInstallRequest),
4981            9123 => Some(EMsg::DRMWorkerProcessSplitAndInstallResponse),
4982            9124 => Some(EMsg::DRMWorkerProcessGetBlobRequest),
4983            9125 => Some(EMsg::DRMWorkerProcessGetBlobResponse),
4984            9126 => Some(EMsg::DRMWorkerProcessEvaluateCrashRequest),
4985            9127 => Some(EMsg::DRMWorkerProcessEvaluateCrashResponse),
4986            9128 => Some(EMsg::DRMWorkerProcessAnalyzeFileRequest),
4987            9129 => Some(EMsg::DRMWorkerProcessAnalyzeFileResponse),
4988            9130 => Some(EMsg::DRMWorkerProcessUnpackBlobRequest),
4989            9131 => Some(EMsg::DRMWorkerProcessUnpackBlobResponse),
4990            9132 => Some(EMsg::DRMWorkerProcessInstallAllRequest),
4991            9133 => Some(EMsg::DRMWorkerProcessInstallAllResponse),
4992            9134 => Some(EMsg::DRMWorkerProcessSignFile),
4993            9135 => Some(EMsg::DRMWorkerProcessSignFileResponse),
4994            9200 => Some(EMsg::TestWorkerProcess),
4995            9201 => Some(EMsg::TestWorkerProcessLoadUnloadModuleResponse),
4996            9202 => Some(EMsg::TestWorkerProcessServiceModuleCallRequest),
4997            9203 => Some(EMsg::TestWorkerProcessServiceModuleCallResponse),
4998            9300 => Some(EMsg::QuestServerBase),
4999            9330 => Some(EMsg::ClientGetEmoticonList),
5000            9331 => Some(EMsg::ClientEmoticonList),
5001            9400 => Some(EMsg::SLCBase),
5002            9401 => Some(EMsg::SLCRequestUserSessionStatus),
5003            9402 => Some(EMsg::SLCSharedLicensesLockStatus),
5004            9405 => Some(EMsg::ClientSharedLibraryLockStatus),
5005            9406 => Some(EMsg::ClientSharedLibraryStopPlaying),
5006            9407 => Some(EMsg::SLCOwnerLibraryChanged),
5007            9408 => Some(EMsg::SLCSharedLibraryChanged),
5008            9500 => Some(EMsg::RemoteClientBase),
5009            9501 => Some(EMsg::RemoteClientAuthResponse),
5010            9502 => Some(EMsg::RemoteClientAppStatus),
5011            9503 => Some(EMsg::RemoteClientStartStream),
5012            9504 => Some(EMsg::RemoteClientStartStreamResponse),
5013            9505 => Some(EMsg::RemoteClientPing),
5014            9506 => Some(EMsg::RemoteClientPingResponse),
5015            9507 => Some(EMsg::ClientUnlockStreaming),
5016            9508 => Some(EMsg::ClientUnlockStreamingResponse),
5017            9509 => Some(EMsg::RemoteClientAcceptEULA),
5018            9510 => Some(EMsg::RemoteClientGetControllerConfig),
5019            9511 => Some(EMsg::RemoteClientGetControllerConfigResponse),
5020            9512 => Some(EMsg::RemoteClientStreamingEnabled),
5021            9513 => Some(EMsg::ClientUnlockHEVC),
5022            9514 => Some(EMsg::ClientUnlockHEVCResponse),
5023            9515 => Some(EMsg::RemoteClientStatusRequest),
5024            9516 => Some(EMsg::RemoteClientStatusResponse),
5025            9517 => Some(EMsg::RemoteClientAuthorizationRequest),
5026            9518 => Some(EMsg::RemoteClientAuthorizationResponse),
5027            9519 => Some(EMsg::RemoteClientAuthorizationCancelRequest),
5028            9520 => Some(EMsg::RemoteClientAuthorizationConfirmed),
5029            9521 => Some(EMsg::RemoteClientProofRequest),
5030            9522 => Some(EMsg::RemoteClientProofResponse),
5031            9600 => Some(EMsg::ClientConcurrentSessionsBase),
5032            9601 => Some(EMsg::ClientKickPlayingSession),
5033            9700 => Some(EMsg::ClientBroadcastBase),
5034            9701 => Some(EMsg::ClientBroadcastFrames),
5035            9702 => Some(EMsg::ClientBroadcastDisconnect),
5036            9703 => Some(EMsg::ClientBroadcastScreenshot),
5037            9704 => Some(EMsg::ClientBroadcastUploadConfig),
5038            9800 => Some(EMsg::BaseClient3),
5039            9801 => Some(EMsg::ClientVoiceCallPreAuthorizeResponse),
5040            9802 => Some(EMsg::ClientServerTimestampRequest),
5041            9803 => Some(EMsg::ClientServerTimestampResponse),
5042            9804 => Some(EMsg::ServiceMethodCallFromClientNonAuthed),
5043            9805 => Some(EMsg::ClientHello),
5044            9806 => Some(EMsg::ClientEnableOrDisableDownloads),
5045            9807 => Some(EMsg::ClientEnableOrDisableDownloadsResponse),
5046            9808 => Some(EMsg::ClientFeatureGroupInfo),
5047            9900 => Some(EMsg::ClientLANP2PBase),
5048            9901 => Some(EMsg::ClientLANP2PRequestChunkResponse),
5049            9902 => Some(EMsg::ClientPeerChunkRequest),
5050            9903 => Some(EMsg::ClientPeerChunkResponse),
5051            9999 => Some(EMsg::ClientLANP2PMax),
5052            10000 => Some(EMsg::BaseWatchdogServer),
5053            10100 => Some(EMsg::ClientSiteLicenseBase),
5054            10101 => Some(EMsg::ClientSiteLicenseCheckout),
5055            10102 => Some(EMsg::ClientSiteLicenseCheckoutResponse),
5056            10103 => Some(EMsg::ClientSiteLicenseGetAvailableSeats),
5057            10104 => Some(EMsg::ClientSiteLicenseGetAvailableSeatsResponse),
5058            10105 => Some(EMsg::ClientSiteLicenseGetContentCacheInfo),
5059            10106 => Some(EMsg::ClientSiteLicenseGetContentCacheInfoResponse),
5060            12000 => Some(EMsg::BaseChatServer),
5061            12001 => Some(EMsg::ChatServerGetPendingNotificationCountResponse),
5062            12100 => Some(EMsg::BaseSecretServer),
5063            12200 => Some(EMsg::BaseWG),
5064            12201 => Some(EMsg::WGConnectionValidateUserToken),
5065            12202 => Some(EMsg::WGConnectionValidateUserTokenResponse),
5066            12203 => Some(EMsg::WGConnectionLegacyWGRequest),
5067            12204 => Some(EMsg::WGConnectionLegacyWGResponse),
5068            12300 => Some(EMsg::ClientPendingGameLaunch),
5069            12301 => Some(EMsg::ClientPendingGameLaunchResponse),
5070            _ => None,
5071        }
5072    }
5073}
5074
5075impl TryFrom<i32> for EMsg {
5076    type Error = UnknownEnumValue;
5077
5078    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
5079        Self::from_value(value).ok_or(UnknownEnumValue::new("EMsg", value as i128))
5080    }
5081}
5082
5083#[allow(deprecated)]
5084impl TryFrom<u32> for EMsg {
5085    type Error = UnknownEnumValue;
5086
5087    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
5088        match value {
5089            0 => Some(EMsg::Invalid),
5090            1 => Some(EMsg::Multi),
5091            2 => Some(EMsg::ProtobufWrapped),
5092            100 => Some(EMsg::BaseGeneral),
5093            113 => Some(EMsg::DestJobFailed),
5094            115 => Some(EMsg::Alert),
5095            120 => Some(EMsg::SCIDRequest),
5096            121 => Some(EMsg::SCIDResponse),
5097            123 => Some(EMsg::JobHeartbeat),
5098            124 => Some(EMsg::HubConnect),
5099            126 => Some(EMsg::Subscribe),
5100            127 => Some(EMsg::RouteMessage),
5101            129 => Some(EMsg::AMCreateAccountResponse),
5102            130 => Some(EMsg::WGRequest),
5103            131 => Some(EMsg::WGResponse),
5104            132 => Some(EMsg::KeepAlive),
5105            133 => Some(EMsg::WebAPIJobRequest),
5106            134 => Some(EMsg::WebAPIJobResponse),
5107            135 => Some(EMsg::ClientSessionStart),
5108            136 => Some(EMsg::ClientSessionEnd),
5109            137 => Some(EMsg::ClientSessionUpdate),
5110            139 => Some(EMsg::Ping),
5111            140 => Some(EMsg::PingResponse),
5112            141 => Some(EMsg::Stats),
5113            142 => Some(EMsg::RequestFullStatsBlock),
5114            143 => Some(EMsg::LoadDBOCacheItem),
5115            144 => Some(EMsg::LoadDBOCacheItemResponse),
5116            145 => Some(EMsg::InvalidateDBOCacheItems),
5117            146 => Some(EMsg::ServiceMethod),
5118            147 => Some(EMsg::ServiceMethodResponse),
5119            148 => Some(EMsg::ClientPackageVersions),
5120            149 => Some(EMsg::TimestampRequest),
5121            150 => Some(EMsg::TimestampResponse),
5122            151 => Some(EMsg::ServiceMethodCallFromClient),
5123            152 => Some(EMsg::ServiceMethodSendToClient),
5124            200 => Some(EMsg::BaseShell),
5125            201 => Some(EMsg::Exit),
5126            202 => Some(EMsg::DirRequest),
5127            203 => Some(EMsg::DirResponse),
5128            204 => Some(EMsg::ZipRequest),
5129            205 => Some(EMsg::ZipResponse),
5130            215 => Some(EMsg::UpdateRecordResponse),
5131            221 => Some(EMsg::UpdateCreditCardRequest),
5132            225 => Some(EMsg::UpdateUserBanResponse),
5133            226 => Some(EMsg::PrepareToExit),
5134            227 => Some(EMsg::ContentDescriptionUpdate),
5135            228 => Some(EMsg::TestResetServer),
5136            229 => Some(EMsg::UniverseChanged),
5137            230 => Some(EMsg::ShellConfigInfoUpdate),
5138            233 => Some(EMsg::RequestWindowsEventLogEntries),
5139            234 => Some(EMsg::ProvideWindowsEventLogEntries),
5140            235 => Some(EMsg::ShellSearchLogs),
5141            236 => Some(EMsg::ShellSearchLogsResponse),
5142            237 => Some(EMsg::ShellCheckWindowsUpdates),
5143            238 => Some(EMsg::ShellCheckWindowsUpdatesResponse),
5144            240 => Some(EMsg::TestFlushDelayedSQL),
5145            241 => Some(EMsg::TestFlushDelayedSQLResponse),
5146            242 => Some(EMsg::EnsureExecuteScheduledTask_TEST),
5147            243 => Some(EMsg::EnsureExecuteScheduledTaskResponse_TEST),
5148            244 => Some(EMsg::UpdateScheduledTaskEnableState_TEST),
5149            245 => Some(EMsg::UpdateScheduledTaskEnableStateResponse_TEST),
5150            246 => Some(EMsg::ContentDescriptionDeltaUpdate),
5151            247 => Some(EMsg::GMShellAndServerAddressUpdates),
5152            300 => Some(EMsg::BaseGM),
5153            301 => Some(EMsg::ShellFailed),
5154            307 => Some(EMsg::ExitShells),
5155            308 => Some(EMsg::ExitShell),
5156            309 => Some(EMsg::GracefulExitShell),
5157            316 => Some(EMsg::LicenseProcessingComplete),
5158            317 => Some(EMsg::SetTestFlag),
5159            318 => Some(EMsg::QueuedEmailsComplete),
5160            319 => Some(EMsg::GMReportPHPError),
5161            320 => Some(EMsg::GMDRMSync),
5162            321 => Some(EMsg::PhysicalBoxInventory),
5163            322 => Some(EMsg::UpdateConfigFile),
5164            323 => Some(EMsg::TestInitDB),
5165            324 => Some(EMsg::GMWriteConfigToSQL),
5166            325 => Some(EMsg::GMLoadActivationCodes),
5167            326 => Some(EMsg::GMQueueForFBS),
5168            327 => Some(EMsg::GMSchemaConversionResults),
5169            329 => Some(EMsg::GMWriteShellFailureToSQL),
5170            330 => Some(EMsg::GMWriteStatsToSOS),
5171            331 => Some(EMsg::GMGetServiceMethodRouting),
5172            332 => Some(EMsg::GMGetServiceMethodRoutingResponse),
5173            333 => Some(EMsg::GMConvertUserWallets),
5174            334 => Some(EMsg::GMTestNextBuildSchemaConversion),
5175            335 => Some(EMsg::GMTestNextBuildSchemaConversionResponse),
5176            336 => Some(EMsg::ExpectShellRestart),
5177            337 => Some(EMsg::HotFixProgress),
5178            338 => Some(EMsg::GMStatsForwardToAdminConnections),
5179            339 => Some(EMsg::GMGetModifiedConVars),
5180            340 => Some(EMsg::GMGetModifiedConVarsResponse),
5181            400 => Some(EMsg::BaseAIS),
5182            402 => Some(EMsg::AISRequestContentDescription),
5183            403 => Some(EMsg::AISUpdateAppInfo),
5184            404 => Some(EMsg::AISUpdatePackageCosts),
5185            405 => Some(EMsg::AISGetPackageChangeNumber),
5186            406 => Some(EMsg::AISGetPackageChangeNumberResponse),
5187            408 => Some(EMsg::AISUpdatePackageCostsResponse),
5188            409 => Some(EMsg::AISCreateMarketingMessage),
5189            410 => Some(EMsg::AISCreateMarketingMessageResponse),
5190            411 => Some(EMsg::AISGetMarketingMessage),
5191            412 => Some(EMsg::AISGetMarketingMessageResponse),
5192            413 => Some(EMsg::AISUpdateMarketingMessage),
5193            414 => Some(EMsg::AISUpdateMarketingMessageResponse),
5194            415 => Some(EMsg::AISRequestMarketingMessageUpdate),
5195            416 => Some(EMsg::AISDeleteMarketingMessage),
5196            423 => Some(EMsg::AIGetAppGCFlags),
5197            424 => Some(EMsg::AIGetAppGCFlagsResponse),
5198            425 => Some(EMsg::AIGetAppList),
5199            426 => Some(EMsg::AIGetAppListResponse),
5200            429 => Some(EMsg::AISGetCouponDefinition),
5201            430 => Some(EMsg::AISGetCouponDefinitionResponse),
5202            431 => Some(EMsg::AISUpdateSlaveContentDescription),
5203            432 => Some(EMsg::AISUpdateSlaveContentDescriptionResponse),
5204            433 => Some(EMsg::AISTestEnableGC),
5205            500 => Some(EMsg::BaseAM),
5206            504 => Some(EMsg::AMUpdateUserBanRequest),
5207            505 => Some(EMsg::AMAddLicense),
5208            508 => Some(EMsg::AMSendSystemIMToUser),
5209            509 => Some(EMsg::AMExtendLicense),
5210            510 => Some(EMsg::AMAddMinutesToLicense),
5211            511 => Some(EMsg::AMCancelLicense),
5212            512 => Some(EMsg::AMInitPurchase),
5213            513 => Some(EMsg::AMPurchaseResponse),
5214            514 => Some(EMsg::AMGetFinalPrice),
5215            515 => Some(EMsg::AMGetFinalPriceResponse),
5216            516 => Some(EMsg::AMGetLegacyGameKey),
5217            517 => Some(EMsg::AMGetLegacyGameKeyResponse),
5218            518 => Some(EMsg::AMFindHungTransactions),
5219            519 => Some(EMsg::AMSetAccountTrustedRequest),
5220            521 => Some(EMsg::AMCompletePurchase),
5221            522 => Some(EMsg::AMCancelPurchase),
5222            523 => Some(EMsg::AMNewChallenge),
5223            524 => Some(EMsg::AMLoadOEMTickets),
5224            525 => Some(EMsg::AMFixPendingPurchase),
5225            526 => Some(EMsg::AMFixPendingPurchaseResponse),
5226            527 => Some(EMsg::AMIsUserBanned),
5227            528 => Some(EMsg::AMRegisterKey),
5228            529 => Some(EMsg::AMLoadActivationCodes),
5229            530 => Some(EMsg::AMLoadActivationCodesResponse),
5230            531 => Some(EMsg::AMLookupKeyResponse),
5231            532 => Some(EMsg::AMLookupKey),
5232            533 => Some(EMsg::AMChatCleanup),
5233            534 => Some(EMsg::AMClanCleanup),
5234            535 => Some(EMsg::AMFixPendingRefund),
5235            536 => Some(EMsg::AMReverseChargeback),
5236            537 => Some(EMsg::AMReverseChargebackResponse),
5237            538 => Some(EMsg::AMClanCleanupList),
5238            539 => Some(EMsg::AMGetLicenses),
5239            540 => Some(EMsg::AMGetLicensesResponse),
5240            541 => Some(EMsg::AMSendCartRepurchase),
5241            542 => Some(EMsg::AMSendCartRepurchaseResponse),
5242            550 => Some(EMsg::AllowUserToPlayQuery),
5243            551 => Some(EMsg::AllowUserToPlayResponse),
5244            552 => Some(EMsg::AMVerfiyUser),
5245            553 => Some(EMsg::AMClientNotPlaying),
5246            554 => Some(EMsg::AMClientRequestFriendship),
5247            555 => Some(EMsg::AMRelayPublishStatus),
5248            560 => Some(EMsg::AMInitPurchaseResponse),
5249            561 => Some(EMsg::AMRevokePurchaseResponse),
5250            563 => Some(EMsg::AMRefreshGuestPasses),
5251            564 => Some(EMsg::AMInviteUserToClan),
5252            565 => Some(EMsg::AMAcknowledgeClanInvite),
5253            566 => Some(EMsg::AMGrantGuestPasses),
5254            567 => Some(EMsg::AMClanDataUpdated),
5255            568 => Some(EMsg::AMReloadAccount),
5256            569 => Some(EMsg::AMClientChatMsgRelay),
5257            570 => Some(EMsg::AMChatMulti),
5258            571 => Some(EMsg::AMClientChatInviteRelay),
5259            572 => Some(EMsg::AMChatInvite),
5260            573 => Some(EMsg::AMClientJoinChatRelay),
5261            574 => Some(EMsg::AMClientChatMemberInfoRelay),
5262            575 => Some(EMsg::AMPublishChatMemberInfo),
5263            576 => Some(EMsg::AMClientAcceptFriendInvite),
5264            577 => Some(EMsg::AMChatEnter),
5265            578 => Some(EMsg::AMClientPublishRemovalFromSource),
5266            579 => Some(EMsg::AMChatActionResult),
5267            580 => Some(EMsg::AMFindAccounts),
5268            581 => Some(EMsg::AMFindAccountsResponse),
5269            582 => Some(EMsg::AMRequestAccountData),
5270            583 => Some(EMsg::AMRequestAccountDataResponse),
5271            584 => Some(EMsg::AMSetAccountFlags),
5272            586 => Some(EMsg::AMCreateClan),
5273            587 => Some(EMsg::AMCreateClanResponse),
5274            588 => Some(EMsg::AMGetClanDetails),
5275            589 => Some(EMsg::AMGetClanDetailsResponse),
5276            590 => Some(EMsg::AMSetPersonaName),
5277            591 => Some(EMsg::AMSetAvatar),
5278            592 => Some(EMsg::AMAuthenticateUser),
5279            593 => Some(EMsg::AMAuthenticateUserResponse),
5280            596 => Some(EMsg::AMP2PIntroducerMessage),
5281            597 => Some(EMsg::ClientChatAction),
5282            598 => Some(EMsg::AMClientChatActionRelay),
5283            600 => Some(EMsg::BaseVS),
5284            601 => Some(EMsg::VACResponse),
5285            602 => Some(EMsg::ReqChallengeTest),
5286            604 => Some(EMsg::VSMarkCheat),
5287            605 => Some(EMsg::VSAddCheat),
5288            606 => Some(EMsg::VSPurgeCodeModDB),
5289            607 => Some(EMsg::VSGetChallengeResults),
5290            608 => Some(EMsg::VSChallengeResultText),
5291            609 => Some(EMsg::VSReportLingerer),
5292            610 => Some(EMsg::VSRequestManagedChallenge),
5293            611 => Some(EMsg::VSLoadDBFinished),
5294            625 => Some(EMsg::BaseDRMS),
5295            628 => Some(EMsg::DRMBuildBlobRequest),
5296            629 => Some(EMsg::DRMBuildBlobResponse),
5297            630 => Some(EMsg::DRMResolveGuidRequest),
5298            631 => Some(EMsg::DRMResolveGuidResponse),
5299            633 => Some(EMsg::DRMVariabilityReport),
5300            634 => Some(EMsg::DRMVariabilityReportResponse),
5301            635 => Some(EMsg::DRMStabilityReport),
5302            636 => Some(EMsg::DRMStabilityReportResponse),
5303            637 => Some(EMsg::DRMDetailsReportRequest),
5304            638 => Some(EMsg::DRMDetailsReportResponse),
5305            639 => Some(EMsg::DRMProcessFile),
5306            640 => Some(EMsg::DRMAdminUpdate),
5307            641 => Some(EMsg::DRMAdminUpdateResponse),
5308            642 => Some(EMsg::DRMSync),
5309            643 => Some(EMsg::DRMSyncResponse),
5310            644 => Some(EMsg::DRMProcessFileResponse),
5311            645 => Some(EMsg::DRMEmptyGuidCache),
5312            646 => Some(EMsg::DRMEmptyGuidCacheResponse),
5313            650 => Some(EMsg::BaseCS),
5314            700 => Some(EMsg::BaseClient),
5315            703 => Some(EMsg::ClientHeartBeat),
5316            704 => Some(EMsg::ClientVACResponse),
5317            706 => Some(EMsg::ClientLogOff),
5318            707 => Some(EMsg::ClientNoUDPConnectivity),
5319            708 => Some(EMsg::ClientInformOfCreateAccount),
5320            710 => Some(EMsg::ClientConnectionStats),
5321            712 => Some(EMsg::ClientPingResponse),
5322            714 => Some(EMsg::ClientRemoveFriend),
5323            715 => Some(EMsg::ClientGamesPlayedNoDataBlob),
5324            716 => Some(EMsg::ClientChangeStatus),
5325            717 => Some(EMsg::ClientVacStatusResponse),
5326            718 => Some(EMsg::ClientFriendMsg),
5327            726 => Some(EMsg::ClientSystemIM),
5328            727 => Some(EMsg::ClientSystemIMAck),
5329            728 => Some(EMsg::ClientGetLicenses),
5330            730 => Some(EMsg::ClientGetLegacyGameKey),
5331            732 => Some(EMsg::ClientAckVACBan2),
5332            736 => Some(EMsg::ClientGetPurchaseReceipts),
5333            740 => Some(EMsg::ClientAckGuestPass),
5334            741 => Some(EMsg::ClientRedeemGuestPass),
5335            742 => Some(EMsg::ClientGamesPlayed),
5336            743 => Some(EMsg::ClientRegisterKey),
5337            744 => Some(EMsg::ClientInviteUserToClan),
5338            745 => Some(EMsg::ClientAcknowledgeClanInvite),
5339            746 => Some(EMsg::ClientPurchaseWithMachineID),
5340            747 => Some(EMsg::ClientAppUsageEvent),
5341            751 => Some(EMsg::ClientLogOnResponse),
5342            755 => Some(EMsg::ClientSetHeartbeatRate),
5343            757 => Some(EMsg::ClientLoggedOff),
5344            758 => Some(EMsg::GSApprove),
5345            759 => Some(EMsg::GSDeny),
5346            760 => Some(EMsg::GSKick),
5347            761 => Some(EMsg::ClientCreateAcctResponse),
5348            763 => Some(EMsg::ClientPurchaseResponse),
5349            764 => Some(EMsg::ClientPing),
5350            765 => Some(EMsg::ClientNOP),
5351            766 => Some(EMsg::ClientPersonaState),
5352            767 => Some(EMsg::ClientFriendsList),
5353            768 => Some(EMsg::ClientAccountInfo),
5354            771 => Some(EMsg::ClientNewsUpdate),
5355            773 => Some(EMsg::ClientGameConnectDeny),
5356            774 => Some(EMsg::GSStatusReply),
5357            779 => Some(EMsg::ClientGameConnectTokens),
5358            780 => Some(EMsg::ClientLicenseList),
5359            782 => Some(EMsg::ClientVACBanStatus),
5360            784 => Some(EMsg::ClientEncryptPct),
5361            785 => Some(EMsg::ClientGetLegacyGameKeyResponse),
5362            791 => Some(EMsg::ClientAddFriend),
5363            792 => Some(EMsg::ClientAddFriendResponse),
5364            796 => Some(EMsg::ClientAckGuestPassResponse),
5365            797 => Some(EMsg::ClientRedeemGuestPassResponse),
5366            798 => Some(EMsg::ClientUpdateGuestPassesList),
5367            799 => Some(EMsg::ClientChatMsg),
5368            800 => Some(EMsg::ClientChatInvite),
5369            801 => Some(EMsg::ClientJoinChat),
5370            802 => Some(EMsg::ClientChatMemberInfo),
5371            805 => Some(EMsg::ClientPasswordChangeResponse),
5372            807 => Some(EMsg::ClientChatEnter),
5373            808 => Some(EMsg::ClientFriendRemovedFromSource),
5374            809 => Some(EMsg::ClientCreateChat),
5375            810 => Some(EMsg::ClientCreateChatResponse),
5376            813 => Some(EMsg::ClientP2PIntroducerMessage),
5377            814 => Some(EMsg::ClientChatActionResult),
5378            815 => Some(EMsg::ClientRequestFriendData),
5379            818 => Some(EMsg::ClientGetUserStats),
5380            819 => Some(EMsg::ClientGetUserStatsResponse),
5381            820 => Some(EMsg::ClientStoreUserStats),
5382            821 => Some(EMsg::ClientStoreUserStatsResponse),
5383            822 => Some(EMsg::ClientClanState),
5384            830 => Some(EMsg::ClientServiceModule),
5385            831 => Some(EMsg::ClientServiceCall),
5386            832 => Some(EMsg::ClientServiceCallResponse),
5387            839 => Some(EMsg::ClientNatTraversalStatEvent),
5388            842 => Some(EMsg::ClientSteamUsageEvent),
5389            845 => Some(EMsg::ClientCheckPassword),
5390            846 => Some(EMsg::ClientResetPassword),
5391            848 => Some(EMsg::ClientCheckPasswordResponse),
5392            849 => Some(EMsg::ClientResetPasswordResponse),
5393            850 => Some(EMsg::ClientSessionToken),
5394            851 => Some(EMsg::ClientDRMProblemReport),
5395            855 => Some(EMsg::ClientSetIgnoreFriend),
5396            856 => Some(EMsg::ClientSetIgnoreFriendResponse),
5397            857 => Some(EMsg::ClientGetAppOwnershipTicket),
5398            858 => Some(EMsg::ClientGetAppOwnershipTicketResponse),
5399            860 => Some(EMsg::ClientGetLobbyListResponse),
5400            880 => Some(EMsg::ClientServerList),
5401            891 => Some(EMsg::ClientEmailChangeResponse),
5402            892 => Some(EMsg::ClientSecretQAChangeResponse),
5403            896 => Some(EMsg::ClientDRMBlobRequest),
5404            897 => Some(EMsg::ClientDRMBlobResponse),
5405            900 => Some(EMsg::BaseGameServer),
5406            901 => Some(EMsg::GSDisconnectNotice),
5407            903 => Some(EMsg::GSStatus),
5408            905 => Some(EMsg::GSUserPlaying),
5409            906 => Some(EMsg::GSStatus2),
5410            907 => Some(EMsg::GSStatusUpdate_Unused),
5411            908 => Some(EMsg::GSServerType),
5412            909 => Some(EMsg::GSPlayerList),
5413            910 => Some(EMsg::GSGetUserAchievementStatus),
5414            911 => Some(EMsg::GSGetUserAchievementStatusResponse),
5415            918 => Some(EMsg::GSGetPlayStats),
5416            919 => Some(EMsg::GSGetPlayStatsResponse),
5417            920 => Some(EMsg::GSGetUserGroupStatus),
5418            921 => Some(EMsg::AMGetUserGroupStatus),
5419            922 => Some(EMsg::AMGetUserGroupStatusResponse),
5420            923 => Some(EMsg::GSGetUserGroupStatusResponse),
5421            936 => Some(EMsg::GSGetReputation),
5422            937 => Some(EMsg::GSGetReputationResponse),
5423            938 => Some(EMsg::GSAssociateWithClan),
5424            939 => Some(EMsg::GSAssociateWithClanResponse),
5425            940 => Some(EMsg::GSComputeNewPlayerCompatibility),
5426            941 => Some(EMsg::GSComputeNewPlayerCompatibilityResponse),
5427            1000 => Some(EMsg::BaseAdmin),
5428            1004 => Some(EMsg::AdminCmdResponse),
5429            1005 => Some(EMsg::AdminLogListenRequest),
5430            1006 => Some(EMsg::AdminLogEvent),
5431            1010 => Some(EMsg::UniverseData),
5432            1019 => Some(EMsg::AdminSpew),
5433            1020 => Some(EMsg::AdminConsoleTitle),
5434            1023 => Some(EMsg::AdminGCSpew),
5435            1024 => Some(EMsg::AdminGCCommand),
5436            1025 => Some(EMsg::AdminGCGetCommandList),
5437            1026 => Some(EMsg::AdminGCGetCommandListResponse),
5438            1027 => Some(EMsg::FBSConnectionData),
5439            1028 => Some(EMsg::AdminMsgSpew),
5440            1100 => Some(EMsg::BaseFBS),
5441            1101 => Some(EMsg::FBSVersionInfo),
5442            1102 => Some(EMsg::FBSForceRefresh),
5443            1103 => Some(EMsg::FBSForceBounce),
5444            1104 => Some(EMsg::FBSDeployPackage),
5445            1105 => Some(EMsg::FBSDeployResponse),
5446            1106 => Some(EMsg::FBSUpdateBootstrapper),
5447            1107 => Some(EMsg::FBSSetState),
5448            1108 => Some(EMsg::FBSApplyOSUpdates),
5449            1109 => Some(EMsg::FBSRunCMDScript),
5450            1110 => Some(EMsg::FBSRebootBox),
5451            1111 => Some(EMsg::FBSSetBigBrotherMode),
5452            1112 => Some(EMsg::FBSMinidumpServer),
5453            1114 => Some(EMsg::FBSDeployHotFixPackage),
5454            1115 => Some(EMsg::FBSDeployHotFixResponse),
5455            1116 => Some(EMsg::FBSDownloadHotFix),
5456            1117 => Some(EMsg::FBSDownloadHotFixResponse),
5457            1118 => Some(EMsg::FBSUpdateTargetConfigFile),
5458            1119 => Some(EMsg::FBSApplyAccountCred),
5459            1120 => Some(EMsg::FBSApplyAccountCredResponse),
5460            1121 => Some(EMsg::FBSSetShellCount),
5461            1122 => Some(EMsg::FBSTerminateShell),
5462            1123 => Some(EMsg::FBSQueryGMForRequest),
5463            1124 => Some(EMsg::FBSQueryGMResponse),
5464            1125 => Some(EMsg::FBSTerminateZombies),
5465            1126 => Some(EMsg::FBSInfoFromBootstrapper),
5466            1127 => Some(EMsg::FBSRebootBoxResponse),
5467            1128 => Some(EMsg::FBSBootstrapperPackageRequest),
5468            1129 => Some(EMsg::FBSBootstrapperPackageResponse),
5469            1130 => Some(EMsg::FBSBootstrapperGetPackageChunk),
5470            1131 => Some(EMsg::FBSBootstrapperGetPackageChunkResponse),
5471            1132 => Some(EMsg::FBSBootstrapperPackageTransferProgress),
5472            1133 => Some(EMsg::FBSRestartBootstrapper),
5473            1134 => Some(EMsg::FBSPauseFrozenDumps),
5474            1200 => Some(EMsg::BaseFileXfer),
5475            1201 => Some(EMsg::FileXferResponse),
5476            1202 => Some(EMsg::FileXferData),
5477            1203 => Some(EMsg::FileXferEnd),
5478            1204 => Some(EMsg::FileXferDataAck),
5479            1300 => Some(EMsg::BaseChannelAuth),
5480            1301 => Some(EMsg::ChannelAuthResponse),
5481            1302 => Some(EMsg::ChannelAuthResult),
5482            1303 => Some(EMsg::ChannelEncryptRequest),
5483            1304 => Some(EMsg::ChannelEncryptResponse),
5484            1305 => Some(EMsg::ChannelEncryptResult),
5485            1400 => Some(EMsg::BaseBS),
5486            1401 => Some(EMsg::BSPurchaseStart),
5487            1402 => Some(EMsg::BSPurchaseResponse),
5488            1403 => Some(EMsg::BSAuthenticateCCTrans),
5489            1404 => Some(EMsg::BSAuthenticateCCTransResponse),
5490            1406 => Some(EMsg::BSSettleComplete),
5491            1408 => Some(EMsg::BSInitPayPalTxn),
5492            1409 => Some(EMsg::BSInitPayPalTxnResponse),
5493            1410 => Some(EMsg::BSGetPayPalUserInfo),
5494            1411 => Some(EMsg::BSGetPayPalUserInfoResponse),
5495            1417 => Some(EMsg::BSPaymentInstrBan),
5496            1418 => Some(EMsg::BSPaymentInstrBanResponse),
5497            1421 => Some(EMsg::BSInitGCBankXferTxn),
5498            1422 => Some(EMsg::BSInitGCBankXferTxnResponse),
5499            1425 => Some(EMsg::BSCommitGCTxn),
5500            1426 => Some(EMsg::BSQueryTransactionStatus),
5501            1427 => Some(EMsg::BSQueryTransactionStatusResponse),
5502            1431 => Some(EMsg::BSQueryPaymentInstUsage),
5503            1432 => Some(EMsg::BSQueryPaymentInstResponse),
5504            1433 => Some(EMsg::BSQueryTxnExtendedInfo),
5505            1434 => Some(EMsg::BSQueryTxnExtendedInfoResponse),
5506            1435 => Some(EMsg::BSUpdateConversionRates),
5507            1437 => Some(EMsg::BSPurchaseRunFraudChecks),
5508            1438 => Some(EMsg::BSPurchaseRunFraudChecksResponse),
5509            1440 => Some(EMsg::BSQueryBankInformation),
5510            1441 => Some(EMsg::BSQueryBankInformationResponse),
5511            1445 => Some(EMsg::BSValidateXsollaSignature),
5512            1446 => Some(EMsg::BSValidateXsollaSignatureResponse),
5513            1448 => Some(EMsg::BSQiwiWalletInvoice),
5514            1449 => Some(EMsg::BSQiwiWalletInvoiceResponse),
5515            1450 => Some(EMsg::BSUpdateInventoryFromProPack),
5516            1451 => Some(EMsg::BSUpdateInventoryFromProPackResponse),
5517            1452 => Some(EMsg::BSSendShippingRequest),
5518            1453 => Some(EMsg::BSSendShippingRequestResponse),
5519            1454 => Some(EMsg::BSGetProPackOrderStatus),
5520            1455 => Some(EMsg::BSGetProPackOrderStatusResponse),
5521            1456 => Some(EMsg::BSCheckJobRunning),
5522            1457 => Some(EMsg::BSCheckJobRunningResponse),
5523            1458 => Some(EMsg::BSResetPackagePurchaseRateLimit),
5524            1459 => Some(EMsg::BSResetPackagePurchaseRateLimitResponse),
5525            1460 => Some(EMsg::BSUpdatePaymentData),
5526            1461 => Some(EMsg::BSUpdatePaymentDataResponse),
5527            1462 => Some(EMsg::BSGetBillingAddress),
5528            1463 => Some(EMsg::BSGetBillingAddressResponse),
5529            1464 => Some(EMsg::BSGetCreditCardInfo),
5530            1465 => Some(EMsg::BSGetCreditCardInfoResponse),
5531            1468 => Some(EMsg::BSRemoveExpiredPaymentData),
5532            1469 => Some(EMsg::BSRemoveExpiredPaymentDataResponse),
5533            1470 => Some(EMsg::BSConvertToCurrentKeys),
5534            1471 => Some(EMsg::BSConvertToCurrentKeysResponse),
5535            1472 => Some(EMsg::BSInitPurchase),
5536            1473 => Some(EMsg::BSInitPurchaseResponse),
5537            1474 => Some(EMsg::BSCompletePurchase),
5538            1475 => Some(EMsg::BSCompletePurchaseResponse),
5539            1476 => Some(EMsg::BSPruneCardUsageStats),
5540            1477 => Some(EMsg::BSPruneCardUsageStatsResponse),
5541            1478 => Some(EMsg::BSStoreBankInformation),
5542            1479 => Some(EMsg::BSStoreBankInformationResponse),
5543            1480 => Some(EMsg::BSVerifyPOSAKey),
5544            1481 => Some(EMsg::BSVerifyPOSAKeyResponse),
5545            1482 => Some(EMsg::BSReverseRedeemPOSAKey),
5546            1483 => Some(EMsg::BSReverseRedeemPOSAKeyResponse),
5547            1484 => Some(EMsg::BSQueryFindCreditCard),
5548            1485 => Some(EMsg::BSQueryFindCreditCardResponse),
5549            1486 => Some(EMsg::BSStatusInquiryPOSAKey),
5550            1487 => Some(EMsg::BSStatusInquiryPOSAKeyResponse),
5551            1488 => Some(EMsg::BSValidateMoPaySignature),
5552            1489 => Some(EMsg::BSValidateMoPaySignatureResponse),
5553            1490 => Some(EMsg::BSMoPayConfirmProductDelivery),
5554            1491 => Some(EMsg::BSMoPayConfirmProductDeliveryResponse),
5555            1492 => Some(EMsg::BSGenerateMoPayMD5),
5556            1493 => Some(EMsg::BSGenerateMoPayMD5Response),
5557            1494 => Some(EMsg::BSBoaCompraConfirmProductDelivery),
5558            1495 => Some(EMsg::BSBoaCompraConfirmProductDeliveryResponse),
5559            1496 => Some(EMsg::BSGenerateBoaCompraMD5),
5560            1497 => Some(EMsg::BSGenerateBoaCompraMD5Response),
5561            1498 => Some(EMsg::BSCommitWPTxn),
5562            1499 => Some(EMsg::BSCommitAdyenTxn),
5563            1500 => Some(EMsg::BaseATS),
5564            1501 => Some(EMsg::ATSStartStressTest),
5565            1502 => Some(EMsg::ATSStopStressTest),
5566            1503 => Some(EMsg::ATSRunFailServerTest),
5567            1504 => Some(EMsg::ATSUFSPerfTestTask),
5568            1505 => Some(EMsg::ATSUFSPerfTestResponse),
5569            1506 => Some(EMsg::ATSCycleTCM),
5570            1507 => Some(EMsg::ATSInitDRMSStressTest),
5571            1508 => Some(EMsg::ATSCallTest),
5572            1509 => Some(EMsg::ATSCallTestReply),
5573            1510 => Some(EMsg::ATSStartExternalStress),
5574            1511 => Some(EMsg::ATSExternalStressJobStart),
5575            1512 => Some(EMsg::ATSExternalStressJobQueued),
5576            1513 => Some(EMsg::ATSExternalStressJobRunning),
5577            1514 => Some(EMsg::ATSExternalStressJobStopped),
5578            1515 => Some(EMsg::ATSExternalStressJobStopAll),
5579            1516 => Some(EMsg::ATSExternalStressActionResult),
5580            1517 => Some(EMsg::ATSStarted),
5581            1518 => Some(EMsg::ATSCSPerfTestTask),
5582            1519 => Some(EMsg::ATSCSPerfTestResponse),
5583            1600 => Some(EMsg::BaseDP),
5584            1601 => Some(EMsg::DPSetPublishingState),
5585            1603 => Some(EMsg::DPUniquePlayersStat),
5586            1604 => Some(EMsg::DPStreamingUniquePlayersStat),
5587            1605 => Some(EMsg::DPVacInfractionStats),
5588            1606 => Some(EMsg::DPVacBanStats),
5589            1607 => Some(EMsg::DPBlockingStats),
5590            1608 => Some(EMsg::DPNatTraversalStats),
5591            1610 => Some(EMsg::DPVacCertBanStats),
5592            1611 => Some(EMsg::DPVacCafeBanStats),
5593            1612 => Some(EMsg::DPCloudStats),
5594            1613 => Some(EMsg::DPAchievementStats),
5595            1614 => Some(EMsg::DPAccountCreationStats),
5596            1615 => Some(EMsg::DPGetPlayerCount),
5597            1616 => Some(EMsg::DPGetPlayerCountResponse),
5598            1617 => Some(EMsg::DPGameServersPlayersStats),
5599            1619 => Some(EMsg::DPFacebookStatistics),
5600            1620 => Some(EMsg::ClientDPCheckSpecialSurvey),
5601            1621 => Some(EMsg::ClientDPCheckSpecialSurveyResponse),
5602            1622 => Some(EMsg::ClientDPSendSpecialSurveyResponse),
5603            1623 => Some(EMsg::ClientDPSendSpecialSurveyResponseReply),
5604            1624 => Some(EMsg::DPStoreSaleStatistics),
5605            1625 => Some(EMsg::ClientDPUpdateAppJobReport),
5606            1626 => Some(EMsg::DPUpdateContentEvent),
5607            1627 => Some(EMsg::ClientDPUnsignedInstallScript),
5608            1628 => Some(EMsg::DPPartnerMicroTxns),
5609            1629 => Some(EMsg::DPPartnerMicroTxnsResponse),
5610            1630 => Some(EMsg::ClientDPContentStatsReport),
5611            1631 => Some(EMsg::DPVRUniquePlayersStat),
5612            1700 => Some(EMsg::BaseCM),
5613            1701 => Some(EMsg::CMSetAllowState),
5614            1702 => Some(EMsg::CMSpewAllowState),
5615            1703 => Some(EMsg::CMSessionRejected),
5616            1704 => Some(EMsg::CMSetSecrets),
5617            1705 => Some(EMsg::CMGetSecrets),
5618            1706 => Some(EMsg::CMRemotePlayReplyPacket),
5619            2200 => Some(EMsg::BaseGC),
5620            2203 => Some(EMsg::GCCmdRevive),
5621            2206 => Some(EMsg::GCCmdDown),
5622            2207 => Some(EMsg::GCCmdDeploy),
5623            2208 => Some(EMsg::GCCmdDeployResponse),
5624            2209 => Some(EMsg::GCCmdSwitch),
5625            2210 => Some(EMsg::AMRefreshSessions),
5626            2212 => Some(EMsg::GCAchievementAwarded),
5627            2213 => Some(EMsg::GCSystemMessage),
5628            2216 => Some(EMsg::GCCmdStatus),
5629            2219 => Some(EMsg::GCInterAppMessage),
5630            2220 => Some(EMsg::GCGetEmailTemplate),
5631            2221 => Some(EMsg::GCGetEmailTemplateResponse),
5632            2222 => Some(EMsg::GCHRelay),
5633            2223 => Some(EMsg::GCHRelayToClient),
5634            2224 => Some(EMsg::GCHUpdateSession),
5635            2225 => Some(EMsg::GCHRequestUpdateSession),
5636            2226 => Some(EMsg::GCHRequestStatus),
5637            2227 => Some(EMsg::GCHRequestStatusResponse),
5638            2228 => Some(EMsg::GCHAccountVacStatusChange),
5639            2229 => Some(EMsg::GCHSpawnGC),
5640            2230 => Some(EMsg::GCHSpawnGCResponse),
5641            2231 => Some(EMsg::GCHKillGC),
5642            2232 => Some(EMsg::GCHKillGCResponse),
5643            2233 => Some(EMsg::GCHAccountTradeBanStatusChange),
5644            2234 => Some(EMsg::GCHAccountLockStatusChange),
5645            2235 => Some(EMsg::GCHVacVerificationChange),
5646            2236 => Some(EMsg::GCHAccountPhoneNumberChange),
5647            2237 => Some(EMsg::GCHAccountTwoFactorChange),
5648            2238 => Some(EMsg::GCHInviteUserToLobby),
5649            2239 => Some(EMsg::GCHUpdateMultipleSessions),
5650            2240 => Some(EMsg::GCHMarkAppSessionsAuthoritative),
5651            2241 => Some(EMsg::GCHRecurringSubscriptionStatusChange),
5652            2242 => Some(EMsg::GCHAppCheersReceived),
5653            2243 => Some(EMsg::GCHAppCheersGetAllowedTypes),
5654            2244 => Some(EMsg::GCHAppCheersGetAllowedTypesResponse),
5655            2245 => Some(EMsg::GCHRoutingRulesFromGCHtoGM),
5656            2246 => Some(EMsg::GCHRoutingRulesToGCHfromGM),
5657            2247 => Some(EMsg::UpdateCMMessageRateRules),
5658            2500 => Some(EMsg::BaseP2P),
5659            2502 => Some(EMsg::P2PIntroducerMessage),
5660            2900 => Some(EMsg::BaseSM),
5661            2902 => Some(EMsg::SMExpensiveReport),
5662            2903 => Some(EMsg::SMHourlyReport),
5663            2904 => Some(EMsg::SMFishingReport),
5664            2905 => Some(EMsg::SMPartitionRenames),
5665            2906 => Some(EMsg::SMMonitorSpace),
5666            2907 => Some(EMsg::SMTestNextBuildSchemaConversion),
5667            2908 => Some(EMsg::SMTestNextBuildSchemaConversionResponse),
5668            3000 => Some(EMsg::BaseTest),
5669            3001 => Some(EMsg::JobHeartbeatTest),
5670            3002 => Some(EMsg::JobHeartbeatTestResponse),
5671            3100 => Some(EMsg::BaseFTSRange),
5672            3150 => Some(EMsg::BaseCCSRange),
5673            3161 => Some(EMsg::CCSDeleteAllCommentsByAuthor),
5674            3162 => Some(EMsg::CCSDeleteAllCommentsByAuthorResponse),
5675            3200 => Some(EMsg::BaseLBSRange),
5676            3201 => Some(EMsg::LBSSetScore),
5677            3202 => Some(EMsg::LBSSetScoreResponse),
5678            3203 => Some(EMsg::LBSFindOrCreateLB),
5679            3204 => Some(EMsg::LBSFindOrCreateLBResponse),
5680            3205 => Some(EMsg::LBSGetLBEntries),
5681            3206 => Some(EMsg::LBSGetLBEntriesResponse),
5682            3207 => Some(EMsg::LBSGetLBList),
5683            3208 => Some(EMsg::LBSGetLBListResponse),
5684            3209 => Some(EMsg::LBSSetLBDetails),
5685            3210 => Some(EMsg::LBSDeleteLB),
5686            3211 => Some(EMsg::LBSDeleteLBEntry),
5687            3212 => Some(EMsg::LBSResetLB),
5688            3213 => Some(EMsg::LBSResetLBResponse),
5689            3214 => Some(EMsg::LBSDeleteLBResponse),
5690            3400 => Some(EMsg::BaseOGS),
5691            3401 => Some(EMsg::OGSBeginSession),
5692            3402 => Some(EMsg::OGSBeginSessionResponse),
5693            3403 => Some(EMsg::OGSEndSession),
5694            3404 => Some(EMsg::OGSEndSessionResponse),
5695            3406 => Some(EMsg::OGSWriteAppSessionRow),
5696            3600 => Some(EMsg::BaseBRP),
5697            3601 => Some(EMsg::BRPStartShippingJobs),
5698            3602 => Some(EMsg::BRPProcessUSBankReports),
5699            3603 => Some(EMsg::BRPProcessGCReports),
5700            3604 => Some(EMsg::BRPProcessPPReports),
5701            3607 => Some(EMsg::BRPCommitGC),
5702            3608 => Some(EMsg::BRPCommitGCResponse),
5703            3609 => Some(EMsg::BRPFindHungTransactions),
5704            3610 => Some(EMsg::BRPCheckFinanceCloseOutDate),
5705            3611 => Some(EMsg::BRPProcessLicenses),
5706            3612 => Some(EMsg::BRPProcessLicensesResponse),
5707            3613 => Some(EMsg::BRPRemoveExpiredPaymentData),
5708            3614 => Some(EMsg::BRPRemoveExpiredPaymentDataResponse),
5709            3615 => Some(EMsg::BRPConvertToCurrentKeys),
5710            3616 => Some(EMsg::BRPConvertToCurrentKeysResponse),
5711            3617 => Some(EMsg::BRPPruneCardUsageStats),
5712            3618 => Some(EMsg::BRPPruneCardUsageStatsResponse),
5713            3619 => Some(EMsg::BRPCheckActivationCodes),
5714            3620 => Some(EMsg::BRPCheckActivationCodesResponse),
5715            3621 => Some(EMsg::BRPCommitWP),
5716            3622 => Some(EMsg::BRPCommitWPResponse),
5717            3623 => Some(EMsg::BRPProcessWPReports),
5718            3624 => Some(EMsg::BRPProcessPaymentRules),
5719            3625 => Some(EMsg::BRPProcessPartnerPayments),
5720            3626 => Some(EMsg::BRPCheckSettlementReports),
5721            3628 => Some(EMsg::BRPPostTaxToAvalara),
5722            3629 => Some(EMsg::BRPPostTransactionTax),
5723            3630 => Some(EMsg::BRPPostTransactionTaxResponse),
5724            3631 => Some(EMsg::BRPProcessIMReports),
5725            4000 => Some(EMsg::BaseAMRange2),
5726            4001 => Some(EMsg::AMCreateChat),
5727            4002 => Some(EMsg::AMCreateChatResponse),
5728            4005 => Some(EMsg::AMSetProfileURL),
5729            4006 => Some(EMsg::AMGetAccountEmailAddress),
5730            4007 => Some(EMsg::AMGetAccountEmailAddressResponse),
5731            4008 => Some(EMsg::AMRequestClanData),
5732            4009 => Some(EMsg::AMRouteToClients),
5733            4010 => Some(EMsg::AMLeaveClan),
5734            4011 => Some(EMsg::AMClanPermissions),
5735            4012 => Some(EMsg::AMClanPermissionsResponse),
5736            4013 => Some(EMsg::AMCreateClanEventDummyForRateLimiting),
5737            4014 => Some(EMsg::AMCreateClanEventResponse),
5738            4015 => Some(EMsg::AMUpdateClanEventDummyForRateLimiting),
5739            4016 => Some(EMsg::AMUpdateClanEventResponse),
5740            4017 => Some(EMsg::AMGetClanEvents),
5741            4018 => Some(EMsg::AMGetClanEventsResponse),
5742            4019 => Some(EMsg::AMDeleteClanEvent),
5743            4020 => Some(EMsg::AMDeleteClanEventResponse),
5744            4021 => Some(EMsg::AMSetClanPermissionSettings),
5745            4022 => Some(EMsg::AMSetClanPermissionSettingsResponse),
5746            4023 => Some(EMsg::AMGetClanPermissionSettings),
5747            4024 => Some(EMsg::AMGetClanPermissionSettingsResponse),
5748            4025 => Some(EMsg::AMPublishChatRoomInfo),
5749            4026 => Some(EMsg::ClientChatRoomInfo),
5750            4039 => Some(EMsg::AMGetClanHistory),
5751            4040 => Some(EMsg::AMGetClanHistoryResponse),
5752            4041 => Some(EMsg::AMGetClanPermissionBits),
5753            4042 => Some(EMsg::AMGetClanPermissionBitsResponse),
5754            4043 => Some(EMsg::AMSetClanPermissionBits),
5755            4044 => Some(EMsg::AMSetClanPermissionBitsResponse),
5756            4045 => Some(EMsg::AMSessionInfoRequest),
5757            4046 => Some(EMsg::AMSessionInfoResponse),
5758            4047 => Some(EMsg::AMValidateWGToken),
5759            4048 => Some(EMsg::AMGetSingleClanEvent),
5760            4049 => Some(EMsg::AMGetSingleClanEventResponse),
5761            4050 => Some(EMsg::AMGetClanRank),
5762            4051 => Some(EMsg::AMGetClanRankResponse),
5763            4052 => Some(EMsg::AMSetClanRank),
5764            4053 => Some(EMsg::AMSetClanRankResponse),
5765            4054 => Some(EMsg::AMGetClanPOTW),
5766            4055 => Some(EMsg::AMGetClanPOTWResponse),
5767            4056 => Some(EMsg::AMSetClanPOTW),
5768            4057 => Some(EMsg::AMSetClanPOTWResponse),
5769            4059 => Some(EMsg::AMDumpUser),
5770            4060 => Some(EMsg::AMKickUserFromClan),
5771            4061 => Some(EMsg::AMAddFounderToClan),
5772            4062 => Some(EMsg::AMValidateWGTokenResponse),
5773            4063 => Some(EMsg::AMSetCommunityState),
5774            4064 => Some(EMsg::AMSetAccountDetails),
5775            4065 => Some(EMsg::AMGetChatBanList),
5776            4066 => Some(EMsg::AMGetChatBanListResponse),
5777            4067 => Some(EMsg::AMUnBanFromChat),
5778            4068 => Some(EMsg::AMSetClanDetails),
5779            4069 => Some(EMsg::AMGetAccountLinks),
5780            4070 => Some(EMsg::AMGetAccountLinksResponse),
5781            4071 => Some(EMsg::AMSetAccountLinks),
5782            4072 => Some(EMsg::AMSetAccountLinksResponse),
5783            4073 => Some(EMsg::UGSGetUserGameStats),
5784            4074 => Some(EMsg::UGSGetUserGameStatsResponse),
5785            4075 => Some(EMsg::AMCheckClanMembership),
5786            4076 => Some(EMsg::AMGetClanMembers),
5787            4077 => Some(EMsg::AMGetClanMembersResponse),
5788            4078 => Some(EMsg::AMJoinPublicClan),
5789            4079 => Some(EMsg::AMNotifyChatOfClanChange),
5790            4080 => Some(EMsg::AMResubmitPurchase),
5791            4081 => Some(EMsg::AMAddFriend),
5792            4082 => Some(EMsg::AMAddFriendResponse),
5793            4083 => Some(EMsg::AMRemoveFriend),
5794            4084 => Some(EMsg::AMDumpClan),
5795            4085 => Some(EMsg::AMChangeClanOwner),
5796            4086 => Some(EMsg::AMCancelEasyCollect),
5797            4087 => Some(EMsg::AMCancelEasyCollectResponse),
5798            4090 => Some(EMsg::AMClansInCommon),
5799            4091 => Some(EMsg::AMClansInCommonResponse),
5800            4092 => Some(EMsg::AMIsValidAccountID),
5801            4093 => Some(EMsg::AMConvertClan),
5802            4095 => Some(EMsg::AMWipeFriendsList),
5803            4096 => Some(EMsg::AMSetIgnored),
5804            4097 => Some(EMsg::AMClansInCommonCountResponse),
5805            4098 => Some(EMsg::AMFriendsList),
5806            4099 => Some(EMsg::AMFriendsListResponse),
5807            4100 => Some(EMsg::AMFriendsInCommon),
5808            4101 => Some(EMsg::AMFriendsInCommonResponse),
5809            4102 => Some(EMsg::AMFriendsInCommonCountResponse),
5810            4103 => Some(EMsg::AMClansInCommonCount),
5811            4104 => Some(EMsg::AMChallengeVerdict),
5812            4105 => Some(EMsg::AMChallengeNotification),
5813            4106 => Some(EMsg::AMFindGSByIP),
5814            4107 => Some(EMsg::AMFoundGSByIP),
5815            4108 => Some(EMsg::AMGiftRevoked),
5816            4109 => Some(EMsg::AMCreateAccountRecord),
5817            4110 => Some(EMsg::AMUserClanList),
5818            4111 => Some(EMsg::AMUserClanListResponse),
5819            4112 => Some(EMsg::AMGetAccountDetails2),
5820            4113 => Some(EMsg::AMGetAccountDetailsResponse2),
5821            4114 => Some(EMsg::AMSetCommunityProfileSettings),
5822            4115 => Some(EMsg::AMSetCommunityProfileSettingsResponse),
5823            4116 => Some(EMsg::AMGetCommunityPrivacyState),
5824            4117 => Some(EMsg::AMGetCommunityPrivacyStateResponse),
5825            4118 => Some(EMsg::AMCheckClanInviteRateLimiting),
5826            4119 => Some(EMsg::UGSGetUserAchievementStatus),
5827            4120 => Some(EMsg::AMGetIgnored),
5828            4121 => Some(EMsg::AMGetIgnoredResponse),
5829            4122 => Some(EMsg::AMSetIgnoredResponse),
5830            4123 => Some(EMsg::AMSetFriendRelationshipNone),
5831            4124 => Some(EMsg::AMGetFriendRelationship),
5832            4125 => Some(EMsg::AMGetFriendRelationshipResponse),
5833            4126 => Some(EMsg::AMServiceModulesCache),
5834            4127 => Some(EMsg::AMServiceModulesCall),
5835            4128 => Some(EMsg::AMServiceModulesCallResponse),
5836            4129 => Some(EMsg::AMGetCaptchaDataForIP),
5837            4130 => Some(EMsg::AMGetCaptchaDataForIPResponse),
5838            4131 => Some(EMsg::AMValidateCaptchaDataForIP),
5839            4132 => Some(EMsg::AMValidateCaptchaDataForIPResponse),
5840            4133 => Some(EMsg::AMTrackFailedAuthByIP),
5841            4134 => Some(EMsg::AMGetCaptchaDataByGID),
5842            4135 => Some(EMsg::AMGetCaptchaDataByGIDResponse),
5843            4140 => Some(EMsg::CommunityAddFriendNews),
5844            4143 => Some(EMsg::AMFindClanUser),
5845            4144 => Some(EMsg::AMFindClanUserResponse),
5846            4145 => Some(EMsg::AMBanFromChat),
5847            4147 => Some(EMsg::AMGetUserNewsSubscriptions),
5848            4148 => Some(EMsg::AMGetUserNewsSubscriptionsResponse),
5849            4149 => Some(EMsg::AMSetUserNewsSubscriptions),
5850            4152 => Some(EMsg::AMSendQueuedEmails),
5851            4153 => Some(EMsg::AMSetLicenseFlags),
5852            4155 => Some(EMsg::CommunityDeleteUserNews),
5853            4156 => Some(EMsg::AMAllowUserFilesRequest),
5854            4157 => Some(EMsg::AMAllowUserFilesResponse),
5855            4158 => Some(EMsg::AMGetAccountStatus),
5856            4159 => Some(EMsg::AMGetAccountStatusResponse),
5857            4160 => Some(EMsg::AMEditBanReason),
5858            4161 => Some(EMsg::AMCheckClanMembershipResponse),
5859            4162 => Some(EMsg::AMProbeClanMembershipList),
5860            4163 => Some(EMsg::AMProbeClanMembershipListResponse),
5861            4164 => Some(EMsg::UGSGetUserAchievementStatusResponse),
5862            4165 => Some(EMsg::AMGetFriendsLobbies),
5863            4166 => Some(EMsg::AMGetFriendsLobbiesResponse),
5864            4172 => Some(EMsg::AMGetUserFriendNewsResponse),
5865            4173 => Some(EMsg::CommunityGetUserFriendNews),
5866            4174 => Some(EMsg::AMGetUserClansNewsResponse),
5867            4175 => Some(EMsg::AMGetUserClansNews),
5868            4184 => Some(EMsg::AMGetPreviousCBAccount),
5869            4185 => Some(EMsg::AMGetPreviousCBAccountResponse),
5870            4190 => Some(EMsg::AMGetUserLicenseHistory),
5871            4191 => Some(EMsg::AMGetUserLicenseHistoryResponse),
5872            4194 => Some(EMsg::AMSupportChangePassword),
5873            4195 => Some(EMsg::AMSupportChangeEmail),
5874            4197 => Some(EMsg::AMResetUserVerificationGSByIP),
5875            4198 => Some(EMsg::AMUpdateGSPlayStats),
5876            4199 => Some(EMsg::AMSupportEnableOrDisable),
5877            4206 => Some(EMsg::AMGetPurchaseStatus),
5878            4209 => Some(EMsg::AMSupportIsAccountEnabled),
5879            4210 => Some(EMsg::AMSupportIsAccountEnabledResponse),
5880            4211 => Some(EMsg::UGSGetUserStats),
5881            4212 => Some(EMsg::AMSupportKickSession),
5882            4213 => Some(EMsg::AMGSSearch),
5883            4216 => Some(EMsg::MarketingMessageUpdate),
5884            4219 => Some(EMsg::ChatServerRouteFriendMsg),
5885            4220 => Some(EMsg::AMTicketAuthRequestOrResponse),
5886            4222 => Some(EMsg::AMVerifyDepotManagementRights),
5887            4223 => Some(EMsg::AMVerifyDepotManagementRightsResponse),
5888            4224 => Some(EMsg::AMAddFreeLicense),
5889            4231 => Some(EMsg::AMValidateEmailLink),
5890            4232 => Some(EMsg::AMValidateEmailLinkResponse),
5891            4236 => Some(EMsg::UGSStoreUserStats),
5892            4241 => Some(EMsg::AMDeleteStoredCard),
5893            4242 => Some(EMsg::AMRevokeLegacyGameKeys),
5894            4244 => Some(EMsg::AMGetWalletDetails),
5895            4245 => Some(EMsg::AMGetWalletDetailsResponse),
5896            4246 => Some(EMsg::AMDeleteStoredPaymentInfo),
5897            4247 => Some(EMsg::AMGetStoredPaymentSummary),
5898            4248 => Some(EMsg::AMGetStoredPaymentSummaryResponse),
5899            4249 => Some(EMsg::AMGetWalletConversionRate),
5900            4250 => Some(EMsg::AMGetWalletConversionRateResponse),
5901            4251 => Some(EMsg::AMConvertWallet),
5902            4252 => Some(EMsg::AMConvertWalletResponse),
5903            4255 => Some(EMsg::AMSetPreApproval),
5904            4256 => Some(EMsg::AMSetPreApprovalResponse),
5905            4258 => Some(EMsg::AMCreateRefund),
5906            4259 => Some(EMsg::AMCreateRefundResponse),
5907            4260 => Some(EMsg::AMCreateChargeback),
5908            4261 => Some(EMsg::AMCreateChargebackResponse),
5909            4262 => Some(EMsg::AMCreateDispute),
5910            4263 => Some(EMsg::AMCreateDisputeResponse),
5911            4264 => Some(EMsg::AMClearDispute),
5912            4265 => Some(EMsg::AMCreateFinancialAdjustment),
5913            4266 => Some(EMsg::AMPlayerNicknameList),
5914            4267 => Some(EMsg::AMPlayerNicknameListResponse),
5915            4268 => Some(EMsg::AMSetDRMTestConfig),
5916            4269 => Some(EMsg::AMGetUserCurrentGameInfo),
5917            4270 => Some(EMsg::AMGetUserCurrentGameInfoResponse),
5918            4271 => Some(EMsg::AMGetGSPlayerList),
5919            4272 => Some(EMsg::AMGetGSPlayerListResponse),
5920            4276 => Some(EMsg::AMGetGameMembers),
5921            4277 => Some(EMsg::AMGetGameMembersResponse),
5922            4278 => Some(EMsg::AMGetSteamIDForMicroTxn),
5923            4279 => Some(EMsg::AMGetSteamIDForMicroTxnResponse),
5924            4280 => Some(EMsg::AMSetPartnerMember),
5925            4281 => Some(EMsg::AMRemovePublisherUser),
5926            4282 => Some(EMsg::AMGetUserLicenseList),
5927            4283 => Some(EMsg::AMGetUserLicenseListResponse),
5928            4284 => Some(EMsg::AMReloadGameGroupPolicy),
5929            4285 => Some(EMsg::AMAddFreeLicenseResponse),
5930            4286 => Some(EMsg::AMVACStatusUpdate),
5931            4287 => Some(EMsg::AMGetAccountDetails),
5932            4288 => Some(EMsg::AMGetAccountDetailsResponse),
5933            4289 => Some(EMsg::AMGetPlayerLinkDetails),
5934            4290 => Some(EMsg::AMGetPlayerLinkDetailsResponse),
5935            4294 => Some(EMsg::AMGetAccountFlagsForWGSpoofing),
5936            4295 => Some(EMsg::AMGetAccountFlagsForWGSpoofingResponse),
5937            4298 => Some(EMsg::AMGetClanOfficers),
5938            4299 => Some(EMsg::AMGetClanOfficersResponse),
5939            4300 => Some(EMsg::AMNameChange),
5940            4301 => Some(EMsg::AMGetNameHistory),
5941            4302 => Some(EMsg::AMGetNameHistoryResponse),
5942            4305 => Some(EMsg::AMUpdateProviderStatus),
5943            4307 => Some(EMsg::AMSupportRemoveAccountSecurity),
5944            4308 => Some(EMsg::AMIsAccountInCaptchaGracePeriod),
5945            4309 => Some(EMsg::AMIsAccountInCaptchaGracePeriodResponse),
5946            4310 => Some(EMsg::AMAccountPS3Unlink),
5947            4311 => Some(EMsg::AMAccountPS3UnlinkResponse),
5948            4312 => Some(EMsg::UGSStoreUserStatsResponse),
5949            4313 => Some(EMsg::AMGetAccountPSNInfo),
5950            4314 => Some(EMsg::AMGetAccountPSNInfoResponse),
5951            4315 => Some(EMsg::AMAuthenticatedPlayerList),
5952            4316 => Some(EMsg::AMGetUserGifts),
5953            4317 => Some(EMsg::AMGetUserGiftsResponse),
5954            4320 => Some(EMsg::AMTransferLockedGifts),
5955            4321 => Some(EMsg::AMTransferLockedGiftsResponse),
5956            4322 => Some(EMsg::AMPlayerHostedOnGameServer),
5957            4323 => Some(EMsg::AMGetAccountBanInfo),
5958            4324 => Some(EMsg::AMGetAccountBanInfoResponse),
5959            4325 => Some(EMsg::AMRecordBanEnforcement),
5960            4326 => Some(EMsg::AMRollbackGiftTransfer),
5961            4327 => Some(EMsg::AMRollbackGiftTransferResponse),
5962            4328 => Some(EMsg::AMHandlePendingTransaction),
5963            4329 => Some(EMsg::AMRequestClanDetails),
5964            4330 => Some(EMsg::AMDeleteStoredPaypalAgreement),
5965            4331 => Some(EMsg::AMGameServerUpdate),
5966            4332 => Some(EMsg::AMGameServerRemove),
5967            4333 => Some(EMsg::AMGetPaypalAgreements),
5968            4334 => Some(EMsg::AMGetPaypalAgreementsResponse),
5969            4335 => Some(EMsg::AMGameServerPlayerCompatibilityCheck),
5970            4336 => Some(EMsg::AMGameServerPlayerCompatibilityCheckResponse),
5971            4337 => Some(EMsg::AMRenewLicense),
5972            4338 => Some(EMsg::AMGetAccountCommunityBanInfo),
5973            4339 => Some(EMsg::AMGetAccountCommunityBanInfoResponse),
5974            4340 => Some(EMsg::AMGameServerAccountChangePassword),
5975            4341 => Some(EMsg::AMGameServerAccountDeleteAccount),
5976            4342 => Some(EMsg::AMRenewAgreement),
5977            4344 => Some(EMsg::AMXsollaPayment),
5978            4345 => Some(EMsg::AMXsollaPaymentResponse),
5979            4346 => Some(EMsg::AMAcctAllowedToPurchase),
5980            4347 => Some(EMsg::AMAcctAllowedToPurchaseResponse),
5981            4348 => Some(EMsg::AMSwapKioskDeposit),
5982            4349 => Some(EMsg::AMSwapKioskDepositResponse),
5983            4350 => Some(EMsg::AMSetUserGiftUnowned),
5984            4351 => Some(EMsg::AMSetUserGiftUnownedResponse),
5985            4352 => Some(EMsg::AMClaimUnownedUserGift),
5986            4353 => Some(EMsg::AMClaimUnownedUserGiftResponse),
5987            4354 => Some(EMsg::AMSetClanName),
5988            4355 => Some(EMsg::AMSetClanNameResponse),
5989            4356 => Some(EMsg::AMGrantCoupon),
5990            4357 => Some(EMsg::AMGrantCouponResponse),
5991            4358 => Some(EMsg::AMIsPackageRestrictedInUserCountry),
5992            4359 => Some(EMsg::AMIsPackageRestrictedInUserCountryResponse),
5993            4360 => Some(EMsg::AMHandlePendingTransactionResponse),
5994            4361 => Some(EMsg::AMGrantGuestPasses2),
5995            4362 => Some(EMsg::AMGrantGuestPasses2Response),
5996            4363 => Some(EMsg::AMSessionQuery),
5997            4364 => Some(EMsg::AMSessionQueryResponse),
5998            4365 => Some(EMsg::AMGetPlayerBanDetails),
5999            4366 => Some(EMsg::AMGetPlayerBanDetailsResponse),
6000            4367 => Some(EMsg::AMFinalizePurchase),
6001            4368 => Some(EMsg::AMFinalizePurchaseResponse),
6002            4372 => Some(EMsg::AMPersonaChangeResponse),
6003            4373 => Some(EMsg::AMGetClanDetailsForForumCreation),
6004            4374 => Some(EMsg::AMGetClanDetailsForForumCreationResponse),
6005            4375 => Some(EMsg::AMGetPendingNotificationCount),
6006            4376 => Some(EMsg::AMGetPendingNotificationCountResponse),
6007            4377 => Some(EMsg::AMPasswordHashUpgrade),
6008            4378 => Some(EMsg::AMMoPayPayment),
6009            4379 => Some(EMsg::AMMoPayPaymentResponse),
6010            4380 => Some(EMsg::AMBoaCompraPayment),
6011            4381 => Some(EMsg::AMBoaCompraPaymentResponse),
6012            4382 => Some(EMsg::AMExpireCaptchaByGID),
6013            4383 => Some(EMsg::AMCompleteExternalPurchase),
6014            4384 => Some(EMsg::AMCompleteExternalPurchaseResponse),
6015            4385 => Some(EMsg::AMResolveNegativeWalletCredits),
6016            4386 => Some(EMsg::AMResolveNegativeWalletCreditsResponse),
6017            4387 => Some(EMsg::AMPayelpPayment),
6018            4388 => Some(EMsg::AMPayelpPaymentResponse),
6019            4389 => Some(EMsg::AMPlayerGetClanBasicDetails),
6020            4390 => Some(EMsg::AMPlayerGetClanBasicDetailsResponse),
6021            4391 => Some(EMsg::AMMOLPayment),
6022            4392 => Some(EMsg::AMMOLPaymentResponse),
6023            4393 => Some(EMsg::GetUserIPCountry),
6024            4394 => Some(EMsg::GetUserIPCountryResponse),
6025            4395 => Some(EMsg::NotificationOfSuspiciousActivity),
6026            4396 => Some(EMsg::AMDegicaPayment),
6027            4397 => Some(EMsg::AMDegicaPaymentResponse),
6028            4398 => Some(EMsg::AMEClubPayment),
6029            4399 => Some(EMsg::AMEClubPaymentResponse),
6030            4400 => Some(EMsg::AMPayPalPaymentsHubPayment),
6031            4401 => Some(EMsg::AMPayPalPaymentsHubPaymentResponse),
6032            4402 => Some(EMsg::AMTwoFactorRecoverAuthenticatorRequest),
6033            4403 => Some(EMsg::AMTwoFactorRecoverAuthenticatorResponse),
6034            4404 => Some(EMsg::AMSmart2PayPayment),
6035            4405 => Some(EMsg::AMSmart2PayPaymentResponse),
6036            4406 => Some(EMsg::AMValidatePasswordResetCodeAndSendSmsRequest),
6037            4407 => Some(EMsg::AMValidatePasswordResetCodeAndSendSmsResponse),
6038            4408 => Some(EMsg::AMGetAccountResetDetailsRequest),
6039            4409 => Some(EMsg::AMGetAccountResetDetailsResponse),
6040            4410 => Some(EMsg::AMBitPayPayment),
6041            4411 => Some(EMsg::AMBitPayPaymentResponse),
6042            4412 => Some(EMsg::AMSendAccountInfoUpdate),
6043            4413 => Some(EMsg::AMSendScheduledGift),
6044            4414 => Some(EMsg::AMNodwinPayment),
6045            4415 => Some(EMsg::AMNodwinPaymentResponse),
6046            4416 => Some(EMsg::AMResolveWalletRevoke),
6047            4417 => Some(EMsg::AMResolveWalletReverseRevoke),
6048            4418 => Some(EMsg::AMFundedPayment),
6049            4419 => Some(EMsg::AMFundedPaymentResponse),
6050            4420 => Some(EMsg::AMRequestPersonaUpdateForChatServer),
6051            4421 => Some(EMsg::AMPerfectWorldPayment),
6052            4422 => Some(EMsg::AMPerfectWorldPaymentResponse),
6053            4423 => Some(EMsg::AMECommPayPayment),
6054            4424 => Some(EMsg::AMECommPayPaymentResponse),
6055            4425 => Some(EMsg::AMSetRemoteClientID),
6056            5000 => Some(EMsg::BasePSRange),
6057            5001 => Some(EMsg::PSCreateShoppingCart),
6058            5002 => Some(EMsg::PSCreateShoppingCartResponse),
6059            5003 => Some(EMsg::PSIsValidShoppingCart),
6060            5004 => Some(EMsg::PSIsValidShoppingCartResponse),
6061            5005 => Some(EMsg::PSAddPackageToShoppingCart),
6062            5006 => Some(EMsg::PSAddPackageToShoppingCartResponse),
6063            5007 => Some(EMsg::PSRemoveLineItemFromShoppingCart),
6064            5008 => Some(EMsg::PSRemoveLineItemFromShoppingCartResponse),
6065            5009 => Some(EMsg::PSGetShoppingCartContents),
6066            5010 => Some(EMsg::PSGetShoppingCartContentsResponse),
6067            5011 => Some(EMsg::PSAddWalletCreditToShoppingCart),
6068            5012 => Some(EMsg::PSAddWalletCreditToShoppingCartResponse),
6069            5013 => Some(EMsg::PSGetAccountCartContents),
6070            5014 => Some(EMsg::PSGetAccountCartContentsResponse),
6071            5200 => Some(EMsg::BaseUFSRange),
6072            5202 => Some(EMsg::ClientUFSUploadFileRequest),
6073            5203 => Some(EMsg::ClientUFSUploadFileResponse),
6074            5204 => Some(EMsg::ClientUFSUploadFileChunk),
6075            5205 => Some(EMsg::ClientUFSUploadFileFinished),
6076            5206 => Some(EMsg::ClientUFSGetFileListForApp),
6077            5207 => Some(EMsg::ClientUFSGetFileListForAppResponse),
6078            5210 => Some(EMsg::ClientUFSDownloadRequest),
6079            5211 => Some(EMsg::ClientUFSDownloadResponse),
6080            5212 => Some(EMsg::ClientUFSDownloadChunk),
6081            5213 => Some(EMsg::ClientUFSLoginRequest),
6082            5214 => Some(EMsg::ClientUFSLoginResponse),
6083            5215 => Some(EMsg::UFSReloadPartitionInfo),
6084            5216 => Some(EMsg::ClientUFSTransferHeartbeat),
6085            5217 => Some(EMsg::UFSSynchronizeFile),
6086            5218 => Some(EMsg::UFSSynchronizeFileResponse),
6087            5219 => Some(EMsg::ClientUFSDeleteFileRequest),
6088            5220 => Some(EMsg::ClientUFSDeleteFileResponse),
6089            5226 => Some(EMsg::ClientUFSGetUGCDetails),
6090            5227 => Some(EMsg::ClientUFSGetUGCDetailsResponse),
6091            5228 => Some(EMsg::UFSUpdateFileFlags),
6092            5229 => Some(EMsg::UFSUpdateFileFlagsResponse),
6093            5230 => Some(EMsg::ClientUFSGetSingleFileInfo),
6094            5231 => Some(EMsg::ClientUFSGetSingleFileInfoResponse),
6095            5232 => Some(EMsg::ClientUFSShareFile),
6096            5233 => Some(EMsg::ClientUFSShareFileResponse),
6097            5234 => Some(EMsg::UFSReloadAccount),
6098            5235 => Some(EMsg::UFSReloadAccountResponse),
6099            5236 => Some(EMsg::UFSUpdateRecordBatched),
6100            5237 => Some(EMsg::UFSUpdateRecordBatchedResponse),
6101            5238 => Some(EMsg::UFSMigrateFile),
6102            5239 => Some(EMsg::UFSMigrateFileResponse),
6103            5240 => Some(EMsg::UFSGetUGCURLs),
6104            5241 => Some(EMsg::UFSGetUGCURLsResponse),
6105            5242 => Some(EMsg::UFSHttpUploadFileFinishRequest),
6106            5243 => Some(EMsg::UFSHttpUploadFileFinishResponse),
6107            5244 => Some(EMsg::UFSDownloadStartRequest),
6108            5245 => Some(EMsg::UFSDownloadStartResponse),
6109            5246 => Some(EMsg::UFSDownloadChunkRequest),
6110            5247 => Some(EMsg::UFSDownloadChunkResponse),
6111            5248 => Some(EMsg::UFSDownloadFinishRequest),
6112            5249 => Some(EMsg::UFSDownloadFinishResponse),
6113            5250 => Some(EMsg::UFSFlushURLCache),
6114            5251 => Some(EMsg::ClientUFSUploadCommit),
6115            5252 => Some(EMsg::ClientUFSUploadCommitResponse),
6116            5253 => Some(EMsg::UFSMigrateFileAppID),
6117            5254 => Some(EMsg::UFSMigrateFileAppIDResponse),
6118            5400 => Some(EMsg::BaseClient2),
6119            5401 => Some(EMsg::ClientRequestForgottenPasswordEmail),
6120            5402 => Some(EMsg::ClientRequestForgottenPasswordEmailResponse),
6121            5403 => Some(EMsg::ClientCreateAccountResponse),
6122            5404 => Some(EMsg::ClientResetForgottenPassword),
6123            5405 => Some(EMsg::ClientResetForgottenPasswordResponse),
6124            5406 => Some(EMsg::ClientCreateAccount2),
6125            5407 => Some(EMsg::ClientInformOfResetForgottenPassword),
6126            5408 => Some(EMsg::ClientInformOfResetForgottenPasswordResponse),
6127            5410 => Some(EMsg::ClientGamesPlayedWithDataBlob),
6128            5411 => Some(EMsg::ClientUpdateUserGameInfo),
6129            5412 => Some(EMsg::ClientFileToDownload),
6130            5413 => Some(EMsg::ClientFileToDownloadResponse),
6131            5414 => Some(EMsg::ClientLBSSetScore),
6132            5415 => Some(EMsg::ClientLBSSetScoreResponse),
6133            5416 => Some(EMsg::ClientLBSFindOrCreateLB),
6134            5417 => Some(EMsg::ClientLBSFindOrCreateLBResponse),
6135            5418 => Some(EMsg::ClientLBSGetLBEntries),
6136            5419 => Some(EMsg::ClientLBSGetLBEntriesResponse),
6137            5426 => Some(EMsg::ClientChatDeclined),
6138            5427 => Some(EMsg::ClientFriendMsgIncoming),
6139            5429 => Some(EMsg::ClientTicketAuthComplete),
6140            5430 => Some(EMsg::ClientIsLimitedAccount),
6141            5431 => Some(EMsg::ClientRequestAuthList),
6142            5432 => Some(EMsg::ClientAuthList),
6143            5433 => Some(EMsg::ClientStat),
6144            5434 => Some(EMsg::ClientP2PConnectionInfo),
6145            5435 => Some(EMsg::ClientP2PConnectionFailInfo),
6146            5438 => Some(EMsg::ClientGetDepotDecryptionKey),
6147            5439 => Some(EMsg::ClientGetDepotDecryptionKeyResponse),
6148            5440 => Some(EMsg::GSPerformHardwareSurvey),
6149            5443 => Some(EMsg::ClientEnableTestLicense),
6150            5444 => Some(EMsg::ClientEnableTestLicenseResponse),
6151            5445 => Some(EMsg::ClientDisableTestLicense),
6152            5446 => Some(EMsg::ClientDisableTestLicenseResponse),
6153            5448 => Some(EMsg::ClientRequestValidationMail),
6154            5449 => Some(EMsg::ClientRequestValidationMailResponse),
6155            5450 => Some(EMsg::ClientCheckAppBetaPassword),
6156            5451 => Some(EMsg::ClientCheckAppBetaPasswordResponse),
6157            5452 => Some(EMsg::ClientToGC),
6158            5453 => Some(EMsg::ClientFromGC),
6159            5454 => Some(EMsg::ClientRequestChangeMail),
6160            5455 => Some(EMsg::ClientRequestChangeMailResponse),
6161            5456 => Some(EMsg::ClientEmailAddrInfo),
6162            5457 => Some(EMsg::ClientPasswordChange3),
6163            5458 => Some(EMsg::ClientEmailChange3),
6164            5459 => Some(EMsg::ClientPersonalQAChange3),
6165            5460 => Some(EMsg::ClientResetForgottenPassword3),
6166            5461 => Some(EMsg::ClientRequestForgottenPasswordEmail3),
6167            5463 => Some(EMsg::ClientNewLoginKey),
6168            5464 => Some(EMsg::ClientNewLoginKeyAccepted),
6169            5466 => Some(EMsg::ClientStoreUserStats2),
6170            5467 => Some(EMsg::ClientStatsUpdated),
6171            5468 => Some(EMsg::ClientActivateOEMLicense),
6172            5469 => Some(EMsg::ClientRegisterOEMMachine),
6173            5470 => Some(EMsg::ClientRegisterOEMMachineResponse),
6174            5480 => Some(EMsg::ClientRequestedClientStats),
6175            5481 => Some(EMsg::ClientStat2Int32),
6176            5482 => Some(EMsg::ClientStat2),
6177            5483 => Some(EMsg::ClientVerifyPassword),
6178            5484 => Some(EMsg::ClientVerifyPasswordResponse),
6179            5485 => Some(EMsg::ClientDRMDownloadRequest),
6180            5486 => Some(EMsg::ClientDRMDownloadResponse),
6181            5487 => Some(EMsg::ClientDRMFinalResult),
6182            5488 => Some(EMsg::ClientGetFriendsWhoPlayGame),
6183            5489 => Some(EMsg::ClientGetFriendsWhoPlayGameResponse),
6184            5490 => Some(EMsg::ClientOGSBeginSession),
6185            5491 => Some(EMsg::ClientOGSBeginSessionResponse),
6186            5492 => Some(EMsg::ClientOGSEndSession),
6187            5493 => Some(EMsg::ClientOGSEndSessionResponse),
6188            5494 => Some(EMsg::ClientOGSWriteRow),
6189            5495 => Some(EMsg::ClientDRMTest),
6190            5496 => Some(EMsg::ClientDRMTestResult),
6191            5497 => Some(EMsg::ClientStartPeerContentServer),
6192            5498 => Some(EMsg::ClientStartPeerContentServerResponse),
6193            5500 => Some(EMsg::ClientServerUnavailable),
6194            5501 => Some(EMsg::ClientServersAvailable),
6195            5502 => Some(EMsg::ClientRegisterAuthTicketWithCM),
6196            5503 => Some(EMsg::ClientGCMsgFailed),
6197            5504 => Some(EMsg::ClientMicroTxnAuthRequest),
6198            5505 => Some(EMsg::ClientMicroTxnAuthorize),
6199            5506 => Some(EMsg::ClientMicroTxnAuthorizeResponse),
6200            5507 => Some(EMsg::ClientAppMinutesPlayedData),
6201            5508 => Some(EMsg::ClientGetMicroTxnInfo),
6202            5509 => Some(EMsg::ClientGetMicroTxnInfoResponse),
6203            5510 => Some(EMsg::ClientMarketingMessageUpdate2),
6204            5511 => Some(EMsg::ClientDeregisterWithServer),
6205            5512 => Some(EMsg::ClientSubscribeToPersonaFeed),
6206            5514 => Some(EMsg::ClientLogon),
6207            5515 => Some(EMsg::ClientGetClientDetails),
6208            5516 => Some(EMsg::ClientGetClientDetailsResponse),
6209            5517 => Some(EMsg::ClientReportOverlayDetourFailure),
6210            5518 => Some(EMsg::ClientGetClientAppList),
6211            5519 => Some(EMsg::ClientGetClientAppListResponse),
6212            5520 => Some(EMsg::ClientInstallClientApp),
6213            5521 => Some(EMsg::ClientInstallClientAppResponse),
6214            5522 => Some(EMsg::ClientUninstallClientApp),
6215            5523 => Some(EMsg::ClientUninstallClientAppResponse),
6216            5524 => Some(EMsg::ClientSetClientAppUpdateState),
6217            5525 => Some(EMsg::ClientSetClientAppUpdateStateResponse),
6218            5526 => Some(EMsg::ClientRequestEncryptedAppTicket),
6219            5527 => Some(EMsg::ClientRequestEncryptedAppTicketResponse),
6220            5528 => Some(EMsg::ClientWalletInfoUpdate),
6221            5529 => Some(EMsg::ClientLBSSetUGC),
6222            5530 => Some(EMsg::ClientLBSSetUGCResponse),
6223            5531 => Some(EMsg::ClientAMGetClanOfficers),
6224            5532 => Some(EMsg::ClientAMGetClanOfficersResponse),
6225            5535 => Some(EMsg::ClientFriendProfileInfo),
6226            5536 => Some(EMsg::ClientFriendProfileInfoResponse),
6227            5537 => Some(EMsg::ClientUpdateMachineAuth),
6228            5538 => Some(EMsg::ClientUpdateMachineAuthResponse),
6229            5539 => Some(EMsg::ClientReadMachineAuth),
6230            5540 => Some(EMsg::ClientReadMachineAuthResponse),
6231            5541 => Some(EMsg::ClientRequestMachineAuth),
6232            5542 => Some(EMsg::ClientRequestMachineAuthResponse),
6233            5543 => Some(EMsg::ClientScreenshotsChanged),
6234            5544 => Some(EMsg::ClientEmailChange4),
6235            5545 => Some(EMsg::ClientEmailChangeResponse4),
6236            5546 => Some(EMsg::ClientGetCDNAuthToken),
6237            5547 => Some(EMsg::ClientGetCDNAuthTokenResponse),
6238            5548 => Some(EMsg::ClientDownloadRateStatistics),
6239            5549 => Some(EMsg::ClientRequestAccountData),
6240            5550 => Some(EMsg::ClientRequestAccountDataResponse),
6241            5551 => Some(EMsg::ClientResetForgottenPassword4),
6242            5552 => Some(EMsg::ClientHideFriend),
6243            5553 => Some(EMsg::ClientFriendsGroupsList),
6244            5554 => Some(EMsg::ClientGetClanActivityCounts),
6245            5555 => Some(EMsg::ClientGetClanActivityCountsResponse),
6246            5556 => Some(EMsg::ClientOGSReportString),
6247            5557 => Some(EMsg::ClientOGSReportBug),
6248            5558 => Some(EMsg::ClientSentLogs),
6249            5559 => Some(EMsg::ClientLogonGameServer),
6250            5560 => Some(EMsg::AMClientCreateFriendsGroup),
6251            5561 => Some(EMsg::AMClientCreateFriendsGroupResponse),
6252            5562 => Some(EMsg::AMClientDeleteFriendsGroup),
6253            5563 => Some(EMsg::AMClientDeleteFriendsGroupResponse),
6254            5564 => Some(EMsg::AMClientManageFriendsGroup),
6255            5565 => Some(EMsg::AMClientManageFriendsGroupResponse),
6256            5566 => Some(EMsg::AMClientAddFriendToGroup),
6257            5567 => Some(EMsg::AMClientAddFriendToGroupResponse),
6258            5568 => Some(EMsg::AMClientRemoveFriendFromGroup),
6259            5569 => Some(EMsg::AMClientRemoveFriendFromGroupResponse),
6260            5570 => Some(EMsg::ClientAMGetPersonaNameHistory),
6261            5571 => Some(EMsg::ClientAMGetPersonaNameHistoryResponse),
6262            5572 => Some(EMsg::ClientRequestFreeLicense),
6263            5573 => Some(EMsg::ClientRequestFreeLicenseResponse),
6264            5574 => Some(EMsg::ClientDRMDownloadRequestWithCrashData),
6265            5575 => Some(EMsg::ClientAuthListAck),
6266            5576 => Some(EMsg::ClientItemAnnouncements),
6267            5577 => Some(EMsg::ClientRequestItemAnnouncements),
6268            5578 => Some(EMsg::ClientFriendMsgEchoToSender),
6269            5581 => Some(EMsg::ClientOGSGameServerPingSample),
6270            5582 => Some(EMsg::ClientCommentNotifications),
6271            5583 => Some(EMsg::ClientRequestCommentNotifications),
6272            5584 => Some(EMsg::ClientPersonaChangeResponse),
6273            5585 => Some(EMsg::ClientRequestWebAPIAuthenticateUserNonce),
6274            5586 => Some(EMsg::ClientRequestWebAPIAuthenticateUserNonceResponse),
6275            5587 => Some(EMsg::ClientPlayerNicknameList),
6276            5588 => Some(EMsg::AMClientSetPlayerNickname),
6277            5589 => Some(EMsg::AMClientSetPlayerNicknameResponse),
6278            5590 => Some(EMsg::ClientCreateAccountProto),
6279            5591 => Some(EMsg::ClientCreateAccountProtoResponse),
6280            5592 => Some(EMsg::ClientGetNumberOfCurrentPlayersDP),
6281            5593 => Some(EMsg::ClientGetNumberOfCurrentPlayersDPResponse),
6282            5594 => Some(EMsg::ClientServiceMethodLegacy),
6283            5595 => Some(EMsg::ClientServiceMethodLegacyResponse),
6284            5596 => Some(EMsg::ClientFriendUserStatusPublished),
6285            5597 => Some(EMsg::ClientCurrentUIMode),
6286            5598 => Some(EMsg::ClientVanityURLChangedNotification),
6287            5599 => Some(EMsg::ClientUserNotifications),
6288            5600 => Some(EMsg::BaseDFS),
6289            5601 => Some(EMsg::DFSGetFile),
6290            5602 => Some(EMsg::DFSInstallLocalFile),
6291            5603 => Some(EMsg::DFSConnection),
6292            5604 => Some(EMsg::DFSConnectionReply),
6293            5605 => Some(EMsg::ClientDFSAuthenticateRequest),
6294            5606 => Some(EMsg::ClientDFSAuthenticateResponse),
6295            5607 => Some(EMsg::ClientDFSEndSession),
6296            5608 => Some(EMsg::DFSPurgeFile),
6297            5609 => Some(EMsg::DFSRouteFile),
6298            5610 => Some(EMsg::DFSGetFileFromServer),
6299            5611 => Some(EMsg::DFSAcceptedResponse),
6300            5612 => Some(EMsg::DFSRequestPingback),
6301            5613 => Some(EMsg::DFSRecvTransmitFile),
6302            5614 => Some(EMsg::DFSSendTransmitFile),
6303            5615 => Some(EMsg::DFSRequestPingback2),
6304            5616 => Some(EMsg::DFSResponsePingback2),
6305            5617 => Some(EMsg::ClientDFSDownloadStatus),
6306            5618 => Some(EMsg::DFSStartTransfer),
6307            5619 => Some(EMsg::DFSTransferComplete),
6308            5620 => Some(EMsg::DFSRouteFileResponse),
6309            5621 => Some(EMsg::ClientNetworkingCertRequest),
6310            5622 => Some(EMsg::ClientNetworkingCertRequestResponse),
6311            5623 => Some(EMsg::ClientChallengeRequest),
6312            5624 => Some(EMsg::ClientChallengeResponse),
6313            5625 => Some(EMsg::BadgeCraftedNotification),
6314            5626 => Some(EMsg::ClientNetworkingMobileCertRequest),
6315            5627 => Some(EMsg::ClientNetworkingMobileCertRequestResponse),
6316            5800 => Some(EMsg::BaseMDS),
6317            5812 => Some(EMsg::AMToMDSGetDepotDecryptionKey),
6318            5813 => Some(EMsg::MDSToAMGetDepotDecryptionKeyResponse),
6319            5827 => Some(EMsg::MDSContentServerConfigRequest),
6320            5828 => Some(EMsg::MDSContentServerConfig),
6321            5829 => Some(EMsg::MDSGetDepotManifest),
6322            5830 => Some(EMsg::MDSGetDepotManifestResponse),
6323            5831 => Some(EMsg::MDSGetDepotManifestChunk),
6324            5832 => Some(EMsg::MDSGetDepotChunk),
6325            5833 => Some(EMsg::MDSGetDepotChunkResponse),
6326            5834 => Some(EMsg::MDSGetDepotChunkChunk),
6327            5836 => Some(EMsg::MDSGetServerListForUser),
6328            5837 => Some(EMsg::MDSGetServerListForUserResponse),
6329            5844 => Some(EMsg::MDSToCSFlushChunk),
6330            5847 => Some(EMsg::MDSMigrateChunk),
6331            5848 => Some(EMsg::MDSMigrateChunkResponse),
6332            5849 => Some(EMsg::MDSToCSFlushManifest),
6333            6200 => Some(EMsg::CSBase),
6334            6201 => Some(EMsg::CSPing),
6335            6202 => Some(EMsg::CSPingResponse),
6336            6400 => Some(EMsg::GMSBase),
6337            6401 => Some(EMsg::GMSGameServerReplicate),
6338            6403 => Some(EMsg::ClientGMSServerQuery),
6339            6404 => Some(EMsg::GMSClientServerQueryResponse),
6340            6405 => Some(EMsg::AMGMSGameServerUpdate),
6341            6406 => Some(EMsg::AMGMSGameServerRemove),
6342            6407 => Some(EMsg::GameServerOutOfDate),
6343            6500 => Some(EMsg::DeviceAuthorizationBase),
6344            6501 => Some(EMsg::ClientAuthorizeLocalDeviceRequest),
6345            6502 => Some(EMsg::ClientAuthorizeLocalDeviceResponse),
6346            6503 => Some(EMsg::ClientDeauthorizeDeviceRequest),
6347            6504 => Some(EMsg::ClientDeauthorizeDevice),
6348            6505 => Some(EMsg::ClientUseLocalDeviceAuthorizations),
6349            6506 => Some(EMsg::ClientGetAuthorizedDevices),
6350            6507 => Some(EMsg::ClientGetAuthorizedDevicesResponse),
6351            6508 => Some(EMsg::AMNotifySessionDeviceAuthorized),
6352            6509 => Some(EMsg::ClientAuthorizeLocalDeviceNotification),
6353            6600 => Some(EMsg::MMSBase),
6354            6601 => Some(EMsg::ClientMMSCreateLobby),
6355            6602 => Some(EMsg::ClientMMSCreateLobbyResponse),
6356            6603 => Some(EMsg::ClientMMSJoinLobby),
6357            6604 => Some(EMsg::ClientMMSJoinLobbyResponse),
6358            6605 => Some(EMsg::ClientMMSLeaveLobby),
6359            6606 => Some(EMsg::ClientMMSLeaveLobbyResponse),
6360            6607 => Some(EMsg::ClientMMSGetLobbyList),
6361            6608 => Some(EMsg::ClientMMSGetLobbyListResponse),
6362            6609 => Some(EMsg::ClientMMSSetLobbyData),
6363            6610 => Some(EMsg::ClientMMSSetLobbyDataResponse),
6364            6611 => Some(EMsg::ClientMMSGetLobbyData),
6365            6612 => Some(EMsg::ClientMMSLobbyData),
6366            6613 => Some(EMsg::ClientMMSSendLobbyChatMsg),
6367            6614 => Some(EMsg::ClientMMSLobbyChatMsg),
6368            6615 => Some(EMsg::ClientMMSSetLobbyOwner),
6369            6616 => Some(EMsg::ClientMMSSetLobbyOwnerResponse),
6370            6617 => Some(EMsg::ClientMMSSetLobbyGameServer),
6371            6618 => Some(EMsg::ClientMMSLobbyGameServerSet),
6372            6619 => Some(EMsg::ClientMMSUserJoinedLobby),
6373            6620 => Some(EMsg::ClientMMSUserLeftLobby),
6374            6621 => Some(EMsg::ClientMMSInviteToLobby),
6375            6622 => Some(EMsg::ClientMMSFlushFrenemyListCache),
6376            6623 => Some(EMsg::ClientMMSFlushFrenemyListCacheResponse),
6377            6624 => Some(EMsg::ClientMMSSetLobbyLinked),
6378            6625 => Some(EMsg::ClientMMSSetRatelimitPolicyOnClient),
6379            6626 => Some(EMsg::ClientMMSGetLobbyStatus),
6380            6627 => Some(EMsg::ClientMMSGetLobbyStatusResponse),
6381            6628 => Some(EMsg::MMSGetLobbyList),
6382            6629 => Some(EMsg::MMSGetLobbyListResponse),
6383            6800 => Some(EMsg::NonStdMsgBase),
6384            6801 => Some(EMsg::NonStdMsgMemcached),
6385            6802 => Some(EMsg::NonStdMsgHTTPServer),
6386            6803 => Some(EMsg::NonStdMsgHTTPClient),
6387            6804 => Some(EMsg::NonStdMsgWGResponse),
6388            6805 => Some(EMsg::NonStdMsgPHPSimulator),
6389            6806 => Some(EMsg::NonStdMsgChase),
6390            6807 => Some(EMsg::NonStdMsgDFSTransfer),
6391            6808 => Some(EMsg::NonStdMsgTests),
6392            6809 => Some(EMsg::NonStdMsgUMQpipeAAPL),
6393            6810 => Some(EMsg::NonStdMsgSyslog),
6394            6811 => Some(EMsg::NonStdMsgLogsink),
6395            6812 => Some(EMsg::NonStdMsgSteam2Emulator),
6396            6813 => Some(EMsg::NonStdMsgRTMPServer),
6397            6814 => Some(EMsg::NonStdMsgWebSocket),
6398            6815 => Some(EMsg::NonStdMsgRedis),
6399            7000 => Some(EMsg::UDSBase),
6400            7001 => Some(EMsg::ClientUDSP2PSessionStarted),
6401            7002 => Some(EMsg::ClientUDSP2PSessionEnded),
6402            7003 => Some(EMsg::UDSRenderUserAuth),
6403            7004 => Some(EMsg::UDSRenderUserAuthResponse),
6404            7005 => Some(EMsg::ClientInviteToGame),
6405            7006 => Some(EMsg::UDSHasSession),
6406            7007 => Some(EMsg::UDSHasSessionResponse),
6407            7100 => Some(EMsg::MPASBase),
6408            7101 => Some(EMsg::MPASVacBanReset),
6409            7200 => Some(EMsg::KGSBase),
6410            7300 => Some(EMsg::UCMBase),
6411            7301 => Some(EMsg::ClientUCMAddScreenshot),
6412            7302 => Some(EMsg::ClientUCMAddScreenshotResponse),
6413            7307 => Some(EMsg::UCMResetCommunityContent),
6414            7308 => Some(EMsg::UCMResetCommunityContentResponse),
6415            7309 => Some(EMsg::ClientUCMDeleteScreenshot),
6416            7310 => Some(EMsg::ClientUCMDeleteScreenshotResponse),
6417            7311 => Some(EMsg::ClientUCMPublishFile),
6418            7312 => Some(EMsg::ClientUCMPublishFileResponse),
6419            7315 => Some(EMsg::ClientUCMDeletePublishedFile),
6420            7316 => Some(EMsg::ClientUCMDeletePublishedFileResponse),
6421            7317 => Some(EMsg::ClientUCMEnumerateUserPublishedFiles),
6422            7318 => Some(EMsg::ClientUCMEnumerateUserPublishedFilesResponse),
6423            7321 => Some(EMsg::ClientUCMEnumerateUserSubscribedFiles),
6424            7322 => Some(EMsg::ClientUCMEnumerateUserSubscribedFilesResponse),
6425            7325 => Some(EMsg::ClientUCMUpdatePublishedFile),
6426            7326 => Some(EMsg::ClientUCMUpdatePublishedFileResponse),
6427            7327 => Some(EMsg::UCMUpdatePublishedFile),
6428            7328 => Some(EMsg::UCMUpdatePublishedFileResponse),
6429            7329 => Some(EMsg::UCMDeletePublishedFile),
6430            7330 => Some(EMsg::UCMDeletePublishedFileResponse),
6431            7331 => Some(EMsg::UCMUpdatePublishedFileStat),
6432            7332 => Some(EMsg::UCMUpdatePublishedFileBan),
6433            7333 => Some(EMsg::UCMUpdatePublishedFileBanResponse),
6434            7337 => Some(EMsg::UCMReloadPublishedFile),
6435            7338 => Some(EMsg::UCMReloadUserFileListCaches),
6436            7339 => Some(EMsg::UCMPublishedFileReported),
6437            7340 => Some(EMsg::UCMUpdatePublishedFileIncompatibleStatus),
6438            7341 => Some(EMsg::UCMPublishedFilePreviewAdd),
6439            7342 => Some(EMsg::UCMPublishedFilePreviewAddResponse),
6440            7343 => Some(EMsg::UCMPublishedFilePreviewRemove),
6441            7344 => Some(EMsg::UCMPublishedFilePreviewRemoveResponse),
6442            7347 => Some(EMsg::ClientUCMPublishedFileSubscribed),
6443            7348 => Some(EMsg::ClientUCMPublishedFileUnsubscribed),
6444            7349 => Some(EMsg::UCMPublishedFileSubscribed),
6445            7350 => Some(EMsg::UCMPublishedFileUnsubscribed),
6446            7351 => Some(EMsg::UCMPublishFile),
6447            7352 => Some(EMsg::UCMPublishFileResponse),
6448            7353 => Some(EMsg::UCMPublishedFileChildAdd),
6449            7354 => Some(EMsg::UCMPublishedFileChildAddResponse),
6450            7355 => Some(EMsg::UCMPublishedFileChildRemove),
6451            7356 => Some(EMsg::UCMPublishedFileChildRemoveResponse),
6452            7359 => Some(EMsg::UCMPublishedFileParentChanged),
6453            7360 => Some(EMsg::ClientUCMGetPublishedFilesForUser),
6454            7361 => Some(EMsg::ClientUCMGetPublishedFilesForUserResponse),
6455            7364 => Some(EMsg::ClientUCMSetUserPublishedFileAction),
6456            7365 => Some(EMsg::ClientUCMSetUserPublishedFileActionResponse),
6457            7366 => Some(EMsg::ClientUCMEnumeratePublishedFilesByUserAction),
6458            7367 => Some(EMsg::ClientUCMEnumeratePublishedFilesByUserActionResponse),
6459            7368 => Some(EMsg::ClientUCMPublishedFileDeleted),
6460            7369 => Some(EMsg::UCMGetUserSubscribedFiles),
6461            7370 => Some(EMsg::UCMGetUserSubscribedFilesResponse),
6462            7371 => Some(EMsg::UCMFixStatsPublishedFile),
6463            7378 => Some(EMsg::ClientUCMEnumerateUserSubscribedFilesWithUpdates),
6464            7379 => Some(EMsg::ClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse),
6465            7380 => Some(EMsg::UCMPublishedFileContentUpdated),
6466            7381 => Some(EMsg::ClientUCMPublishedFileUpdated),
6467            7382 => Some(EMsg::ClientWorkshopItemChangesRequest),
6468            7383 => Some(EMsg::ClientWorkshopItemChangesResponse),
6469            7384 => Some(EMsg::ClientWorkshopItemInfoRequest),
6470            7385 => Some(EMsg::ClientWorkshopItemInfoResponse),
6471            7500 => Some(EMsg::FSBase),
6472            7501 => Some(EMsg::ClientRichPresenceUpload),
6473            7502 => Some(EMsg::ClientRichPresenceRequest),
6474            7503 => Some(EMsg::ClientRichPresenceInfo),
6475            7504 => Some(EMsg::FSRichPresenceRequest),
6476            7505 => Some(EMsg::FSRichPresenceResponse),
6477            7506 => Some(EMsg::FSComputeFrenematrix),
6478            7507 => Some(EMsg::FSComputeFrenematrixResponse),
6479            7508 => Some(EMsg::FSPlayStatusNotification),
6480            7509 => Some(EMsg::FSPublishPersonaStatus),
6481            7510 => Some(EMsg::FSAddOrRemoveFollower),
6482            7511 => Some(EMsg::FSAddOrRemoveFollowerResponse),
6483            7512 => Some(EMsg::FSUpdateFollowingList),
6484            7513 => Some(EMsg::FSCommentNotification),
6485            7514 => Some(EMsg::FSCommentNotificationViewed),
6486            7515 => Some(EMsg::ClientFSGetFollowerCount),
6487            7516 => Some(EMsg::ClientFSGetFollowerCountResponse),
6488            7517 => Some(EMsg::ClientFSGetIsFollowing),
6489            7518 => Some(EMsg::ClientFSGetIsFollowingResponse),
6490            7519 => Some(EMsg::ClientFSEnumerateFollowingList),
6491            7520 => Some(EMsg::ClientFSEnumerateFollowingListResponse),
6492            7521 => Some(EMsg::FSGetPendingNotificationCount),
6493            7522 => Some(EMsg::FSGetPendingNotificationCountResponse),
6494            7523 => Some(EMsg::ClientChatOfflineMessageNotification),
6495            7524 => Some(EMsg::ClientChatRequestOfflineMessageCount),
6496            7525 => Some(EMsg::ClientChatGetFriendMessageHistory),
6497            7526 => Some(EMsg::ClientChatGetFriendMessageHistoryResponse),
6498            7527 => Some(EMsg::ClientChatGetFriendMessageHistoryForOfflineMessages),
6499            7528 => Some(EMsg::ClientFSGetFriendsSteamLevels),
6500            7529 => Some(EMsg::ClientFSGetFriendsSteamLevelsResponse),
6501            7530 => Some(EMsg::AMRequestFriendData),
6502            7600 => Some(EMsg::DRMRange2),
6503            7601 => Some(EMsg::CEGVersionSetEnableDisableResponse),
6504            7602 => Some(EMsg::CEGPropStatusDRMSRequest),
6505            7603 => Some(EMsg::CEGPropStatusDRMSResponse),
6506            7604 => Some(EMsg::CEGWhackFailureReportRequest),
6507            7605 => Some(EMsg::CEGWhackFailureReportResponse),
6508            7606 => Some(EMsg::DRMSFetchVersionSet),
6509            7607 => Some(EMsg::DRMSFetchVersionSetResponse),
6510            7700 => Some(EMsg::EconBase),
6511            7701 => Some(EMsg::EconTrading_InitiateTradeRequest),
6512            7702 => Some(EMsg::EconTrading_InitiateTradeProposed),
6513            7703 => Some(EMsg::EconTrading_InitiateTradeResponse),
6514            7704 => Some(EMsg::EconTrading_InitiateTradeResult),
6515            7705 => Some(EMsg::EconTrading_StartSession),
6516            7706 => Some(EMsg::EconTrading_CancelTradeRequest),
6517            7707 => Some(EMsg::EconFlushInventoryCache),
6518            7708 => Some(EMsg::EconFlushInventoryCacheResponse),
6519            7711 => Some(EMsg::EconCDKeyProcessTransaction),
6520            7712 => Some(EMsg::EconCDKeyProcessTransactionResponse),
6521            7713 => Some(EMsg::EconGetErrorLogs),
6522            7714 => Some(EMsg::EconGetErrorLogsResponse),
6523            7800 => Some(EMsg::RMRange),
6524            7801 => Some(EMsg::RMTestVerisignOTPResponse),
6525            7803 => Some(EMsg::RMDeleteMemcachedKeys),
6526            7804 => Some(EMsg::RMRemoteInvoke),
6527            7805 => Some(EMsg::BadLoginIPList),
6528            7806 => Some(EMsg::RMMsgTraceAddTrigger),
6529            7807 => Some(EMsg::RMMsgTraceRemoveTrigger),
6530            7808 => Some(EMsg::RMMsgTraceEvent),
6531            7900 => Some(EMsg::UGSBase),
6532            7901 => Some(EMsg::ClientUGSGetGlobalStats),
6533            7902 => Some(EMsg::ClientUGSGetGlobalStatsResponse),
6534            8000 => Some(EMsg::StoreBase),
6535            8100 => Some(EMsg::UMQBase),
6536            8101 => Some(EMsg::UMQLogonResponse),
6537            8102 => Some(EMsg::UMQLogoffRequest),
6538            8103 => Some(EMsg::UMQLogoffResponse),
6539            8104 => Some(EMsg::UMQSendChatMessage),
6540            8105 => Some(EMsg::UMQIncomingChatMessage),
6541            8106 => Some(EMsg::UMQPoll),
6542            8107 => Some(EMsg::UMQPollResults),
6543            8108 => Some(EMsg::UMQ2AM_ClientMsgBatch),
6544            8200 => Some(EMsg::WorkshopBase),
6545            8300 => Some(EMsg::WebAPIBase),
6546            8301 => Some(EMsg::WebAPIValidateOAuth2TokenResponse),
6547            8303 => Some(EMsg::WebAPIRegisterGCInterfaces),
6548            8304 => Some(EMsg::WebAPIInvalidateOAuthClientCache),
6549            8305 => Some(EMsg::WebAPIInvalidateOAuthTokenCache),
6550            8306 => Some(EMsg::WebAPISetSecrets),
6551            8400 => Some(EMsg::BackpackBase),
6552            8401 => Some(EMsg::BackpackAddToCurrency),
6553            8402 => Some(EMsg::BackpackAddToCurrencyResponse),
6554            8500 => Some(EMsg::CREBase),
6555            8503 => Some(EMsg::CREItemVoteSummary),
6556            8504 => Some(EMsg::CREItemVoteSummaryResponse),
6557            8507 => Some(EMsg::CREUpdateUserPublishedItemVote),
6558            8508 => Some(EMsg::CREUpdateUserPublishedItemVoteResponse),
6559            8509 => Some(EMsg::CREGetUserPublishedItemVoteDetails),
6560            8510 => Some(EMsg::CREGetUserPublishedItemVoteDetailsResponse),
6561            8511 => Some(EMsg::CREEnumeratePublishedFiles),
6562            8512 => Some(EMsg::CREEnumeratePublishedFilesResponse),
6563            8513 => Some(EMsg::CREPublishedFileVoteAdded),
6564            8600 => Some(EMsg::SecretsBase),
6565            8601 => Some(EMsg::SecretsCredentialPairResponse),
6566            8700 => Some(EMsg::BoxMonitorBase),
6567            8701 => Some(EMsg::BoxMonitorReportResponse),
6568            8800 => Some(EMsg::LogsinkBase),
6569            8900 => Some(EMsg::PICSBase),
6570            8901 => Some(EMsg::ClientPICSChangesSinceRequest),
6571            8902 => Some(EMsg::ClientPICSChangesSinceResponse),
6572            8903 => Some(EMsg::ClientPICSProductInfoRequest),
6573            8904 => Some(EMsg::ClientPICSProductInfoResponse),
6574            8905 => Some(EMsg::ClientPICSAccessTokenRequest),
6575            8906 => Some(EMsg::ClientPICSAccessTokenResponse),
6576            8907 => Some(EMsg::ClientPICSPrivateBetaRequest),
6577            8908 => Some(EMsg::ClientPICSPrivateBetaResponse),
6578            9000 => Some(EMsg::WorkerProcess),
6579            9001 => Some(EMsg::WorkerProcessPingResponse),
6580            9002 => Some(EMsg::WorkerProcessShutdown),
6581            9100 => Some(EMsg::DRMWorkerProcess),
6582            9101 => Some(EMsg::DRMWorkerProcessDRMAndSignResponse),
6583            9102 => Some(EMsg::DRMWorkerProcessSteamworksInfoRequest),
6584            9103 => Some(EMsg::DRMWorkerProcessSteamworksInfoResponse),
6585            9104 => Some(EMsg::DRMWorkerProcessInstallDRMDLLRequest),
6586            9105 => Some(EMsg::DRMWorkerProcessInstallDRMDLLResponse),
6587            9106 => Some(EMsg::DRMWorkerProcessSecretIdStringRequest),
6588            9107 => Some(EMsg::DRMWorkerProcessSecretIdStringResponse),
6589            9110 => Some(EMsg::DRMWorkerProcessInstallProcessedFilesRequest),
6590            9111 => Some(EMsg::DRMWorkerProcessInstallProcessedFilesResponse),
6591            9112 => Some(EMsg::DRMWorkerProcessExamineBlobRequest),
6592            9113 => Some(EMsg::DRMWorkerProcessExamineBlobResponse),
6593            9114 => Some(EMsg::DRMWorkerProcessDescribeSecretRequest),
6594            9115 => Some(EMsg::DRMWorkerProcessDescribeSecretResponse),
6595            9116 => Some(EMsg::DRMWorkerProcessBackfillOriginalRequest),
6596            9117 => Some(EMsg::DRMWorkerProcessBackfillOriginalResponse),
6597            9118 => Some(EMsg::DRMWorkerProcessValidateDRMDLLRequest),
6598            9119 => Some(EMsg::DRMWorkerProcessValidateDRMDLLResponse),
6599            9120 => Some(EMsg::DRMWorkerProcessValidateFileRequest),
6600            9121 => Some(EMsg::DRMWorkerProcessValidateFileResponse),
6601            9122 => Some(EMsg::DRMWorkerProcessSplitAndInstallRequest),
6602            9123 => Some(EMsg::DRMWorkerProcessSplitAndInstallResponse),
6603            9124 => Some(EMsg::DRMWorkerProcessGetBlobRequest),
6604            9125 => Some(EMsg::DRMWorkerProcessGetBlobResponse),
6605            9126 => Some(EMsg::DRMWorkerProcessEvaluateCrashRequest),
6606            9127 => Some(EMsg::DRMWorkerProcessEvaluateCrashResponse),
6607            9128 => Some(EMsg::DRMWorkerProcessAnalyzeFileRequest),
6608            9129 => Some(EMsg::DRMWorkerProcessAnalyzeFileResponse),
6609            9130 => Some(EMsg::DRMWorkerProcessUnpackBlobRequest),
6610            9131 => Some(EMsg::DRMWorkerProcessUnpackBlobResponse),
6611            9132 => Some(EMsg::DRMWorkerProcessInstallAllRequest),
6612            9133 => Some(EMsg::DRMWorkerProcessInstallAllResponse),
6613            9134 => Some(EMsg::DRMWorkerProcessSignFile),
6614            9135 => Some(EMsg::DRMWorkerProcessSignFileResponse),
6615            9200 => Some(EMsg::TestWorkerProcess),
6616            9201 => Some(EMsg::TestWorkerProcessLoadUnloadModuleResponse),
6617            9202 => Some(EMsg::TestWorkerProcessServiceModuleCallRequest),
6618            9203 => Some(EMsg::TestWorkerProcessServiceModuleCallResponse),
6619            9300 => Some(EMsg::QuestServerBase),
6620            9330 => Some(EMsg::ClientGetEmoticonList),
6621            9331 => Some(EMsg::ClientEmoticonList),
6622            9400 => Some(EMsg::SLCBase),
6623            9401 => Some(EMsg::SLCRequestUserSessionStatus),
6624            9402 => Some(EMsg::SLCSharedLicensesLockStatus),
6625            9405 => Some(EMsg::ClientSharedLibraryLockStatus),
6626            9406 => Some(EMsg::ClientSharedLibraryStopPlaying),
6627            9407 => Some(EMsg::SLCOwnerLibraryChanged),
6628            9408 => Some(EMsg::SLCSharedLibraryChanged),
6629            9500 => Some(EMsg::RemoteClientBase),
6630            9501 => Some(EMsg::RemoteClientAuthResponse),
6631            9502 => Some(EMsg::RemoteClientAppStatus),
6632            9503 => Some(EMsg::RemoteClientStartStream),
6633            9504 => Some(EMsg::RemoteClientStartStreamResponse),
6634            9505 => Some(EMsg::RemoteClientPing),
6635            9506 => Some(EMsg::RemoteClientPingResponse),
6636            9507 => Some(EMsg::ClientUnlockStreaming),
6637            9508 => Some(EMsg::ClientUnlockStreamingResponse),
6638            9509 => Some(EMsg::RemoteClientAcceptEULA),
6639            9510 => Some(EMsg::RemoteClientGetControllerConfig),
6640            9511 => Some(EMsg::RemoteClientGetControllerConfigResponse),
6641            9512 => Some(EMsg::RemoteClientStreamingEnabled),
6642            9513 => Some(EMsg::ClientUnlockHEVC),
6643            9514 => Some(EMsg::ClientUnlockHEVCResponse),
6644            9515 => Some(EMsg::RemoteClientStatusRequest),
6645            9516 => Some(EMsg::RemoteClientStatusResponse),
6646            9517 => Some(EMsg::RemoteClientAuthorizationRequest),
6647            9518 => Some(EMsg::RemoteClientAuthorizationResponse),
6648            9519 => Some(EMsg::RemoteClientAuthorizationCancelRequest),
6649            9520 => Some(EMsg::RemoteClientAuthorizationConfirmed),
6650            9521 => Some(EMsg::RemoteClientProofRequest),
6651            9522 => Some(EMsg::RemoteClientProofResponse),
6652            9600 => Some(EMsg::ClientConcurrentSessionsBase),
6653            9601 => Some(EMsg::ClientKickPlayingSession),
6654            9700 => Some(EMsg::ClientBroadcastBase),
6655            9701 => Some(EMsg::ClientBroadcastFrames),
6656            9702 => Some(EMsg::ClientBroadcastDisconnect),
6657            9703 => Some(EMsg::ClientBroadcastScreenshot),
6658            9704 => Some(EMsg::ClientBroadcastUploadConfig),
6659            9800 => Some(EMsg::BaseClient3),
6660            9801 => Some(EMsg::ClientVoiceCallPreAuthorizeResponse),
6661            9802 => Some(EMsg::ClientServerTimestampRequest),
6662            9803 => Some(EMsg::ClientServerTimestampResponse),
6663            9804 => Some(EMsg::ServiceMethodCallFromClientNonAuthed),
6664            9805 => Some(EMsg::ClientHello),
6665            9806 => Some(EMsg::ClientEnableOrDisableDownloads),
6666            9807 => Some(EMsg::ClientEnableOrDisableDownloadsResponse),
6667            9808 => Some(EMsg::ClientFeatureGroupInfo),
6668            9900 => Some(EMsg::ClientLANP2PBase),
6669            9901 => Some(EMsg::ClientLANP2PRequestChunkResponse),
6670            9902 => Some(EMsg::ClientPeerChunkRequest),
6671            9903 => Some(EMsg::ClientPeerChunkResponse),
6672            9999 => Some(EMsg::ClientLANP2PMax),
6673            10000 => Some(EMsg::BaseWatchdogServer),
6674            10100 => Some(EMsg::ClientSiteLicenseBase),
6675            10101 => Some(EMsg::ClientSiteLicenseCheckout),
6676            10102 => Some(EMsg::ClientSiteLicenseCheckoutResponse),
6677            10103 => Some(EMsg::ClientSiteLicenseGetAvailableSeats),
6678            10104 => Some(EMsg::ClientSiteLicenseGetAvailableSeatsResponse),
6679            10105 => Some(EMsg::ClientSiteLicenseGetContentCacheInfo),
6680            10106 => Some(EMsg::ClientSiteLicenseGetContentCacheInfoResponse),
6681            12000 => Some(EMsg::BaseChatServer),
6682            12001 => Some(EMsg::ChatServerGetPendingNotificationCountResponse),
6683            12100 => Some(EMsg::BaseSecretServer),
6684            12200 => Some(EMsg::BaseWG),
6685            12201 => Some(EMsg::WGConnectionValidateUserToken),
6686            12202 => Some(EMsg::WGConnectionValidateUserTokenResponse),
6687            12203 => Some(EMsg::WGConnectionLegacyWGRequest),
6688            12204 => Some(EMsg::WGConnectionLegacyWGResponse),
6689            12300 => Some(EMsg::ClientPendingGameLaunch),
6690            12301 => Some(EMsg::ClientPendingGameLaunchResponse),
6691            _ => None,
6692        }
6693        .ok_or(UnknownEnumValue::new("EMsg", value as i128))
6694    }
6695}
6696
6697impl From<EMsg> for i32 {
6698    fn from(value: EMsg) -> i32 {
6699        value as i32
6700    }
6701}
6702
6703/// The `EResult` enumeration.
6704///
6705/// Source: `lang/steammsg.steamd`.
6706#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
6707#[repr(i32)]
6708pub enum EResult {
6709    Invalid = 0,
6710    OK = 1,
6711    Fail = 2,
6712    NoConnection = 3,
6713    InvalidPassword = 5,
6714    LoggedInElsewhere = 6,
6715    InvalidProtocolVer = 7,
6716    InvalidParam = 8,
6717    FileNotFound = 9,
6718    Busy = 10,
6719    InvalidState = 11,
6720    InvalidName = 12,
6721    InvalidEmail = 13,
6722    DuplicateName = 14,
6723    AccessDenied = 15,
6724    Timeout = 16,
6725    Banned = 17,
6726    AccountNotFound = 18,
6727    InvalidSteamID = 19,
6728    ServiceUnavailable = 20,
6729    NotLoggedOn = 21,
6730    Pending = 22,
6731    EncryptionFailure = 23,
6732    InsufficientPrivilege = 24,
6733    LimitExceeded = 25,
6734    Revoked = 26,
6735    Expired = 27,
6736    AlreadyRedeemed = 28,
6737    DuplicateRequest = 29,
6738    AlreadyOwned = 30,
6739    IPNotFound = 31,
6740    PersistFailed = 32,
6741    LockingFailed = 33,
6742    LogonSessionReplaced = 34,
6743    ConnectFailed = 35,
6744    HandshakeFailed = 36,
6745    IOFailure = 37,
6746    RemoteDisconnect = 38,
6747    ShoppingCartNotFound = 39,
6748    Blocked = 40,
6749    Ignored = 41,
6750    NoMatch = 42,
6751    AccountDisabled = 43,
6752    ServiceReadOnly = 44,
6753    AccountNotFeatured = 45,
6754    AdministratorOK = 46,
6755    ContentVersion = 47,
6756    TryAnotherCM = 48,
6757    PasswordRequiredToKickSession = 49,
6758    AlreadyLoggedInElsewhere = 50,
6759    Suspended = 51,
6760    Cancelled = 52,
6761    DataCorruption = 53,
6762    DiskFull = 54,
6763    RemoteCallFailed = 55,
6764    PasswordUnset = 56,
6765    ExternalAccountUnlinked = 57,
6766    PSNTicketInvalid = 58,
6767    ExternalAccountAlreadyLinked = 59,
6768    RemoteFileConflict = 60,
6769    IllegalPassword = 61,
6770    SameAsPreviousValue = 62,
6771    AccountLogonDenied = 63,
6772    CannotUseOldPassword = 64,
6773    InvalidLoginAuthCode = 65,
6774    AccountLogonDeniedNoMail = 66,
6775    HardwareNotCapableOfIPT = 67,
6776    IPTInitError = 68,
6777    ParentalControlRestricted = 69,
6778    FacebookQueryError = 70,
6779    ExpiredLoginAuthCode = 71,
6780    IPLoginRestrictionFailed = 72,
6781    AccountLockedDown = 73,
6782    AccountLogonDeniedVerifiedEmailRequired = 74,
6783    NoMatchingURL = 75,
6784    BadResponse = 76,
6785    RequirePasswordReEntry = 77,
6786    ValueOutOfRange = 78,
6787    UnexpectedError = 79,
6788    Disabled = 80,
6789    InvalidCEGSubmission = 81,
6790    RestrictedDevice = 82,
6791    RegionLocked = 83,
6792    RateLimitExceeded = 84,
6793    AccountLoginDeniedNeedTwoFactor = 85,
6794    ItemDeleted = 86,
6795    AccountLoginDeniedThrottle = 87,
6796    TwoFactorCodeMismatch = 88,
6797    TwoFactorActivationCodeMismatch = 89,
6798    AccountAssociatedToMultiplePartners = 90,
6799    NotModified = 91,
6800    NoMobileDevice = 92,
6801    TimeNotSynced = 93,
6802    SMSCodeFailed = 94,
6803    AccountLimitExceeded = 95,
6804    AccountActivityLimitExceeded = 96,
6805    PhoneActivityLimitExceeded = 97,
6806    RefundToWallet = 98,
6807    EmailSendFailure = 99,
6808    NotSettled = 100,
6809    NeedCaptcha = 101,
6810    GSLTDenied = 102,
6811    GSOwnerDenied = 103,
6812    InvalidItemType = 104,
6813    IPBanned = 105,
6814    GSLTExpired = 106,
6815    InsufficientFunds = 107,
6816    TooManyPending = 108,
6817    NoSiteLicensesFound = 109,
6818    WGNetworkSendExceeded = 110,
6819    AccountNotFriends = 111,
6820    LimitedUserAccount = 112,
6821    CantRemoveItem = 113,
6822    AccountDeleted = 114,
6823    ExistingUserCancelledLicense = 115,
6824    CommunityCooldown = 116,
6825    NoLauncherSpecified = 117,
6826    MustAgreeToSSA = 118,
6827    LauncherMigrated = 119,
6828    SteamRealmMismatch = 120,
6829    InvalidSignature = 121,
6830    ParseFailure = 122,
6831    NoVerifiedPhone = 123,
6832    InsufficientBattery = 124,
6833    ChargerRequired = 125,
6834    CachedCredentialInvalid = 126,
6835    PhoneNumberIsVOIP = 127,
6836    NotSupported = 128,
6837    FamilySizeLimitExceeded = 129,
6838    OfflineAppCacheInvalid = 130,
6839    TryLater = 131,
6840}
6841
6842#[allow(deprecated)]
6843impl EResult {
6844    /// Every variant of `EResult`.
6845    pub const ALL: &'static [EResult] = &[
6846        EResult::Invalid,
6847        EResult::OK,
6848        EResult::Fail,
6849        EResult::NoConnection,
6850        EResult::InvalidPassword,
6851        EResult::LoggedInElsewhere,
6852        EResult::InvalidProtocolVer,
6853        EResult::InvalidParam,
6854        EResult::FileNotFound,
6855        EResult::Busy,
6856        EResult::InvalidState,
6857        EResult::InvalidName,
6858        EResult::InvalidEmail,
6859        EResult::DuplicateName,
6860        EResult::AccessDenied,
6861        EResult::Timeout,
6862        EResult::Banned,
6863        EResult::AccountNotFound,
6864        EResult::InvalidSteamID,
6865        EResult::ServiceUnavailable,
6866        EResult::NotLoggedOn,
6867        EResult::Pending,
6868        EResult::EncryptionFailure,
6869        EResult::InsufficientPrivilege,
6870        EResult::LimitExceeded,
6871        EResult::Revoked,
6872        EResult::Expired,
6873        EResult::AlreadyRedeemed,
6874        EResult::DuplicateRequest,
6875        EResult::AlreadyOwned,
6876        EResult::IPNotFound,
6877        EResult::PersistFailed,
6878        EResult::LockingFailed,
6879        EResult::LogonSessionReplaced,
6880        EResult::ConnectFailed,
6881        EResult::HandshakeFailed,
6882        EResult::IOFailure,
6883        EResult::RemoteDisconnect,
6884        EResult::ShoppingCartNotFound,
6885        EResult::Blocked,
6886        EResult::Ignored,
6887        EResult::NoMatch,
6888        EResult::AccountDisabled,
6889        EResult::ServiceReadOnly,
6890        EResult::AccountNotFeatured,
6891        EResult::AdministratorOK,
6892        EResult::ContentVersion,
6893        EResult::TryAnotherCM,
6894        EResult::PasswordRequiredToKickSession,
6895        EResult::AlreadyLoggedInElsewhere,
6896        EResult::Suspended,
6897        EResult::Cancelled,
6898        EResult::DataCorruption,
6899        EResult::DiskFull,
6900        EResult::RemoteCallFailed,
6901        EResult::PasswordUnset,
6902        EResult::ExternalAccountUnlinked,
6903        EResult::PSNTicketInvalid,
6904        EResult::ExternalAccountAlreadyLinked,
6905        EResult::RemoteFileConflict,
6906        EResult::IllegalPassword,
6907        EResult::SameAsPreviousValue,
6908        EResult::AccountLogonDenied,
6909        EResult::CannotUseOldPassword,
6910        EResult::InvalidLoginAuthCode,
6911        EResult::AccountLogonDeniedNoMail,
6912        EResult::HardwareNotCapableOfIPT,
6913        EResult::IPTInitError,
6914        EResult::ParentalControlRestricted,
6915        EResult::FacebookQueryError,
6916        EResult::ExpiredLoginAuthCode,
6917        EResult::IPLoginRestrictionFailed,
6918        EResult::AccountLockedDown,
6919        EResult::AccountLogonDeniedVerifiedEmailRequired,
6920        EResult::NoMatchingURL,
6921        EResult::BadResponse,
6922        EResult::RequirePasswordReEntry,
6923        EResult::ValueOutOfRange,
6924        EResult::UnexpectedError,
6925        EResult::Disabled,
6926        EResult::InvalidCEGSubmission,
6927        EResult::RestrictedDevice,
6928        EResult::RegionLocked,
6929        EResult::RateLimitExceeded,
6930        EResult::AccountLoginDeniedNeedTwoFactor,
6931        EResult::ItemDeleted,
6932        EResult::AccountLoginDeniedThrottle,
6933        EResult::TwoFactorCodeMismatch,
6934        EResult::TwoFactorActivationCodeMismatch,
6935        EResult::AccountAssociatedToMultiplePartners,
6936        EResult::NotModified,
6937        EResult::NoMobileDevice,
6938        EResult::TimeNotSynced,
6939        EResult::SMSCodeFailed,
6940        EResult::AccountLimitExceeded,
6941        EResult::AccountActivityLimitExceeded,
6942        EResult::PhoneActivityLimitExceeded,
6943        EResult::RefundToWallet,
6944        EResult::EmailSendFailure,
6945        EResult::NotSettled,
6946        EResult::NeedCaptcha,
6947        EResult::GSLTDenied,
6948        EResult::GSOwnerDenied,
6949        EResult::InvalidItemType,
6950        EResult::IPBanned,
6951        EResult::GSLTExpired,
6952        EResult::InsufficientFunds,
6953        EResult::TooManyPending,
6954        EResult::NoSiteLicensesFound,
6955        EResult::WGNetworkSendExceeded,
6956        EResult::AccountNotFriends,
6957        EResult::LimitedUserAccount,
6958        EResult::CantRemoveItem,
6959        EResult::AccountDeleted,
6960        EResult::ExistingUserCancelledLicense,
6961        EResult::CommunityCooldown,
6962        EResult::NoLauncherSpecified,
6963        EResult::MustAgreeToSSA,
6964        EResult::LauncherMigrated,
6965        EResult::SteamRealmMismatch,
6966        EResult::InvalidSignature,
6967        EResult::ParseFailure,
6968        EResult::NoVerifiedPhone,
6969        EResult::InsufficientBattery,
6970        EResult::ChargerRequired,
6971        EResult::CachedCredentialInvalid,
6972        EResult::PhoneNumberIsVOIP,
6973        EResult::NotSupported,
6974        EResult::FamilySizeLimitExceeded,
6975        EResult::OfflineAppCacheInvalid,
6976        EResult::TryLater,
6977    ];
6978
6979    /// The numeric value of this variant.
6980    pub const fn value(self) -> i32 {
6981        self as i32
6982    }
6983
6984    /// Builds a variant from its numeric value.
6985    ///
6986    /// When several variants share a value, the first declared one is returned.
6987    pub fn from_value(value: i32) -> Option<Self> {
6988        match value {
6989            0 => Some(EResult::Invalid),
6990            1 => Some(EResult::OK),
6991            2 => Some(EResult::Fail),
6992            3 => Some(EResult::NoConnection),
6993            5 => Some(EResult::InvalidPassword),
6994            6 => Some(EResult::LoggedInElsewhere),
6995            7 => Some(EResult::InvalidProtocolVer),
6996            8 => Some(EResult::InvalidParam),
6997            9 => Some(EResult::FileNotFound),
6998            10 => Some(EResult::Busy),
6999            11 => Some(EResult::InvalidState),
7000            12 => Some(EResult::InvalidName),
7001            13 => Some(EResult::InvalidEmail),
7002            14 => Some(EResult::DuplicateName),
7003            15 => Some(EResult::AccessDenied),
7004            16 => Some(EResult::Timeout),
7005            17 => Some(EResult::Banned),
7006            18 => Some(EResult::AccountNotFound),
7007            19 => Some(EResult::InvalidSteamID),
7008            20 => Some(EResult::ServiceUnavailable),
7009            21 => Some(EResult::NotLoggedOn),
7010            22 => Some(EResult::Pending),
7011            23 => Some(EResult::EncryptionFailure),
7012            24 => Some(EResult::InsufficientPrivilege),
7013            25 => Some(EResult::LimitExceeded),
7014            26 => Some(EResult::Revoked),
7015            27 => Some(EResult::Expired),
7016            28 => Some(EResult::AlreadyRedeemed),
7017            29 => Some(EResult::DuplicateRequest),
7018            30 => Some(EResult::AlreadyOwned),
7019            31 => Some(EResult::IPNotFound),
7020            32 => Some(EResult::PersistFailed),
7021            33 => Some(EResult::LockingFailed),
7022            34 => Some(EResult::LogonSessionReplaced),
7023            35 => Some(EResult::ConnectFailed),
7024            36 => Some(EResult::HandshakeFailed),
7025            37 => Some(EResult::IOFailure),
7026            38 => Some(EResult::RemoteDisconnect),
7027            39 => Some(EResult::ShoppingCartNotFound),
7028            40 => Some(EResult::Blocked),
7029            41 => Some(EResult::Ignored),
7030            42 => Some(EResult::NoMatch),
7031            43 => Some(EResult::AccountDisabled),
7032            44 => Some(EResult::ServiceReadOnly),
7033            45 => Some(EResult::AccountNotFeatured),
7034            46 => Some(EResult::AdministratorOK),
7035            47 => Some(EResult::ContentVersion),
7036            48 => Some(EResult::TryAnotherCM),
7037            49 => Some(EResult::PasswordRequiredToKickSession),
7038            50 => Some(EResult::AlreadyLoggedInElsewhere),
7039            51 => Some(EResult::Suspended),
7040            52 => Some(EResult::Cancelled),
7041            53 => Some(EResult::DataCorruption),
7042            54 => Some(EResult::DiskFull),
7043            55 => Some(EResult::RemoteCallFailed),
7044            56 => Some(EResult::PasswordUnset),
7045            57 => Some(EResult::ExternalAccountUnlinked),
7046            58 => Some(EResult::PSNTicketInvalid),
7047            59 => Some(EResult::ExternalAccountAlreadyLinked),
7048            60 => Some(EResult::RemoteFileConflict),
7049            61 => Some(EResult::IllegalPassword),
7050            62 => Some(EResult::SameAsPreviousValue),
7051            63 => Some(EResult::AccountLogonDenied),
7052            64 => Some(EResult::CannotUseOldPassword),
7053            65 => Some(EResult::InvalidLoginAuthCode),
7054            66 => Some(EResult::AccountLogonDeniedNoMail),
7055            67 => Some(EResult::HardwareNotCapableOfIPT),
7056            68 => Some(EResult::IPTInitError),
7057            69 => Some(EResult::ParentalControlRestricted),
7058            70 => Some(EResult::FacebookQueryError),
7059            71 => Some(EResult::ExpiredLoginAuthCode),
7060            72 => Some(EResult::IPLoginRestrictionFailed),
7061            73 => Some(EResult::AccountLockedDown),
7062            74 => Some(EResult::AccountLogonDeniedVerifiedEmailRequired),
7063            75 => Some(EResult::NoMatchingURL),
7064            76 => Some(EResult::BadResponse),
7065            77 => Some(EResult::RequirePasswordReEntry),
7066            78 => Some(EResult::ValueOutOfRange),
7067            79 => Some(EResult::UnexpectedError),
7068            80 => Some(EResult::Disabled),
7069            81 => Some(EResult::InvalidCEGSubmission),
7070            82 => Some(EResult::RestrictedDevice),
7071            83 => Some(EResult::RegionLocked),
7072            84 => Some(EResult::RateLimitExceeded),
7073            85 => Some(EResult::AccountLoginDeniedNeedTwoFactor),
7074            86 => Some(EResult::ItemDeleted),
7075            87 => Some(EResult::AccountLoginDeniedThrottle),
7076            88 => Some(EResult::TwoFactorCodeMismatch),
7077            89 => Some(EResult::TwoFactorActivationCodeMismatch),
7078            90 => Some(EResult::AccountAssociatedToMultiplePartners),
7079            91 => Some(EResult::NotModified),
7080            92 => Some(EResult::NoMobileDevice),
7081            93 => Some(EResult::TimeNotSynced),
7082            94 => Some(EResult::SMSCodeFailed),
7083            95 => Some(EResult::AccountLimitExceeded),
7084            96 => Some(EResult::AccountActivityLimitExceeded),
7085            97 => Some(EResult::PhoneActivityLimitExceeded),
7086            98 => Some(EResult::RefundToWallet),
7087            99 => Some(EResult::EmailSendFailure),
7088            100 => Some(EResult::NotSettled),
7089            101 => Some(EResult::NeedCaptcha),
7090            102 => Some(EResult::GSLTDenied),
7091            103 => Some(EResult::GSOwnerDenied),
7092            104 => Some(EResult::InvalidItemType),
7093            105 => Some(EResult::IPBanned),
7094            106 => Some(EResult::GSLTExpired),
7095            107 => Some(EResult::InsufficientFunds),
7096            108 => Some(EResult::TooManyPending),
7097            109 => Some(EResult::NoSiteLicensesFound),
7098            110 => Some(EResult::WGNetworkSendExceeded),
7099            111 => Some(EResult::AccountNotFriends),
7100            112 => Some(EResult::LimitedUserAccount),
7101            113 => Some(EResult::CantRemoveItem),
7102            114 => Some(EResult::AccountDeleted),
7103            115 => Some(EResult::ExistingUserCancelledLicense),
7104            116 => Some(EResult::CommunityCooldown),
7105            117 => Some(EResult::NoLauncherSpecified),
7106            118 => Some(EResult::MustAgreeToSSA),
7107            119 => Some(EResult::LauncherMigrated),
7108            120 => Some(EResult::SteamRealmMismatch),
7109            121 => Some(EResult::InvalidSignature),
7110            122 => Some(EResult::ParseFailure),
7111            123 => Some(EResult::NoVerifiedPhone),
7112            124 => Some(EResult::InsufficientBattery),
7113            125 => Some(EResult::ChargerRequired),
7114            126 => Some(EResult::CachedCredentialInvalid),
7115            127 => Some(EResult::PhoneNumberIsVOIP),
7116            128 => Some(EResult::NotSupported),
7117            129 => Some(EResult::FamilySizeLimitExceeded),
7118            130 => Some(EResult::OfflineAppCacheInvalid),
7119            131 => Some(EResult::TryLater),
7120            _ => None,
7121        }
7122    }
7123}
7124
7125impl TryFrom<i32> for EResult {
7126    type Error = UnknownEnumValue;
7127
7128    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7129        Self::from_value(value).ok_or(UnknownEnumValue::new("EResult", value as i128))
7130    }
7131}
7132
7133#[allow(deprecated)]
7134impl TryFrom<u32> for EResult {
7135    type Error = UnknownEnumValue;
7136
7137    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7138        match value {
7139            0 => Some(EResult::Invalid),
7140            1 => Some(EResult::OK),
7141            2 => Some(EResult::Fail),
7142            3 => Some(EResult::NoConnection),
7143            5 => Some(EResult::InvalidPassword),
7144            6 => Some(EResult::LoggedInElsewhere),
7145            7 => Some(EResult::InvalidProtocolVer),
7146            8 => Some(EResult::InvalidParam),
7147            9 => Some(EResult::FileNotFound),
7148            10 => Some(EResult::Busy),
7149            11 => Some(EResult::InvalidState),
7150            12 => Some(EResult::InvalidName),
7151            13 => Some(EResult::InvalidEmail),
7152            14 => Some(EResult::DuplicateName),
7153            15 => Some(EResult::AccessDenied),
7154            16 => Some(EResult::Timeout),
7155            17 => Some(EResult::Banned),
7156            18 => Some(EResult::AccountNotFound),
7157            19 => Some(EResult::InvalidSteamID),
7158            20 => Some(EResult::ServiceUnavailable),
7159            21 => Some(EResult::NotLoggedOn),
7160            22 => Some(EResult::Pending),
7161            23 => Some(EResult::EncryptionFailure),
7162            24 => Some(EResult::InsufficientPrivilege),
7163            25 => Some(EResult::LimitExceeded),
7164            26 => Some(EResult::Revoked),
7165            27 => Some(EResult::Expired),
7166            28 => Some(EResult::AlreadyRedeemed),
7167            29 => Some(EResult::DuplicateRequest),
7168            30 => Some(EResult::AlreadyOwned),
7169            31 => Some(EResult::IPNotFound),
7170            32 => Some(EResult::PersistFailed),
7171            33 => Some(EResult::LockingFailed),
7172            34 => Some(EResult::LogonSessionReplaced),
7173            35 => Some(EResult::ConnectFailed),
7174            36 => Some(EResult::HandshakeFailed),
7175            37 => Some(EResult::IOFailure),
7176            38 => Some(EResult::RemoteDisconnect),
7177            39 => Some(EResult::ShoppingCartNotFound),
7178            40 => Some(EResult::Blocked),
7179            41 => Some(EResult::Ignored),
7180            42 => Some(EResult::NoMatch),
7181            43 => Some(EResult::AccountDisabled),
7182            44 => Some(EResult::ServiceReadOnly),
7183            45 => Some(EResult::AccountNotFeatured),
7184            46 => Some(EResult::AdministratorOK),
7185            47 => Some(EResult::ContentVersion),
7186            48 => Some(EResult::TryAnotherCM),
7187            49 => Some(EResult::PasswordRequiredToKickSession),
7188            50 => Some(EResult::AlreadyLoggedInElsewhere),
7189            51 => Some(EResult::Suspended),
7190            52 => Some(EResult::Cancelled),
7191            53 => Some(EResult::DataCorruption),
7192            54 => Some(EResult::DiskFull),
7193            55 => Some(EResult::RemoteCallFailed),
7194            56 => Some(EResult::PasswordUnset),
7195            57 => Some(EResult::ExternalAccountUnlinked),
7196            58 => Some(EResult::PSNTicketInvalid),
7197            59 => Some(EResult::ExternalAccountAlreadyLinked),
7198            60 => Some(EResult::RemoteFileConflict),
7199            61 => Some(EResult::IllegalPassword),
7200            62 => Some(EResult::SameAsPreviousValue),
7201            63 => Some(EResult::AccountLogonDenied),
7202            64 => Some(EResult::CannotUseOldPassword),
7203            65 => Some(EResult::InvalidLoginAuthCode),
7204            66 => Some(EResult::AccountLogonDeniedNoMail),
7205            67 => Some(EResult::HardwareNotCapableOfIPT),
7206            68 => Some(EResult::IPTInitError),
7207            69 => Some(EResult::ParentalControlRestricted),
7208            70 => Some(EResult::FacebookQueryError),
7209            71 => Some(EResult::ExpiredLoginAuthCode),
7210            72 => Some(EResult::IPLoginRestrictionFailed),
7211            73 => Some(EResult::AccountLockedDown),
7212            74 => Some(EResult::AccountLogonDeniedVerifiedEmailRequired),
7213            75 => Some(EResult::NoMatchingURL),
7214            76 => Some(EResult::BadResponse),
7215            77 => Some(EResult::RequirePasswordReEntry),
7216            78 => Some(EResult::ValueOutOfRange),
7217            79 => Some(EResult::UnexpectedError),
7218            80 => Some(EResult::Disabled),
7219            81 => Some(EResult::InvalidCEGSubmission),
7220            82 => Some(EResult::RestrictedDevice),
7221            83 => Some(EResult::RegionLocked),
7222            84 => Some(EResult::RateLimitExceeded),
7223            85 => Some(EResult::AccountLoginDeniedNeedTwoFactor),
7224            86 => Some(EResult::ItemDeleted),
7225            87 => Some(EResult::AccountLoginDeniedThrottle),
7226            88 => Some(EResult::TwoFactorCodeMismatch),
7227            89 => Some(EResult::TwoFactorActivationCodeMismatch),
7228            90 => Some(EResult::AccountAssociatedToMultiplePartners),
7229            91 => Some(EResult::NotModified),
7230            92 => Some(EResult::NoMobileDevice),
7231            93 => Some(EResult::TimeNotSynced),
7232            94 => Some(EResult::SMSCodeFailed),
7233            95 => Some(EResult::AccountLimitExceeded),
7234            96 => Some(EResult::AccountActivityLimitExceeded),
7235            97 => Some(EResult::PhoneActivityLimitExceeded),
7236            98 => Some(EResult::RefundToWallet),
7237            99 => Some(EResult::EmailSendFailure),
7238            100 => Some(EResult::NotSettled),
7239            101 => Some(EResult::NeedCaptcha),
7240            102 => Some(EResult::GSLTDenied),
7241            103 => Some(EResult::GSOwnerDenied),
7242            104 => Some(EResult::InvalidItemType),
7243            105 => Some(EResult::IPBanned),
7244            106 => Some(EResult::GSLTExpired),
7245            107 => Some(EResult::InsufficientFunds),
7246            108 => Some(EResult::TooManyPending),
7247            109 => Some(EResult::NoSiteLicensesFound),
7248            110 => Some(EResult::WGNetworkSendExceeded),
7249            111 => Some(EResult::AccountNotFriends),
7250            112 => Some(EResult::LimitedUserAccount),
7251            113 => Some(EResult::CantRemoveItem),
7252            114 => Some(EResult::AccountDeleted),
7253            115 => Some(EResult::ExistingUserCancelledLicense),
7254            116 => Some(EResult::CommunityCooldown),
7255            117 => Some(EResult::NoLauncherSpecified),
7256            118 => Some(EResult::MustAgreeToSSA),
7257            119 => Some(EResult::LauncherMigrated),
7258            120 => Some(EResult::SteamRealmMismatch),
7259            121 => Some(EResult::InvalidSignature),
7260            122 => Some(EResult::ParseFailure),
7261            123 => Some(EResult::NoVerifiedPhone),
7262            124 => Some(EResult::InsufficientBattery),
7263            125 => Some(EResult::ChargerRequired),
7264            126 => Some(EResult::CachedCredentialInvalid),
7265            127 => Some(EResult::PhoneNumberIsVOIP),
7266            128 => Some(EResult::NotSupported),
7267            129 => Some(EResult::FamilySizeLimitExceeded),
7268            130 => Some(EResult::OfflineAppCacheInvalid),
7269            131 => Some(EResult::TryLater),
7270            _ => None,
7271        }
7272        .ok_or(UnknownEnumValue::new("EResult", value as i128))
7273    }
7274}
7275
7276impl From<EResult> for i32 {
7277    fn from(value: EResult) -> i32 {
7278        value as i32
7279    }
7280}
7281
7282/// The `EUniverse` enumeration.
7283///
7284/// Source: `lang/steammsg.steamd`.
7285#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7286#[repr(i32)]
7287pub enum EUniverse {
7288    Invalid = 0,
7289    Public = 1,
7290    Beta = 2,
7291    Internal = 3,
7292    Dev = 4,
7293}
7294
7295#[allow(deprecated)]
7296impl EUniverse {
7297    /// Every variant of `EUniverse`.
7298    pub const ALL: &'static [EUniverse] = &[
7299        EUniverse::Invalid,
7300        EUniverse::Public,
7301        EUniverse::Beta,
7302        EUniverse::Internal,
7303        EUniverse::Dev,
7304    ];
7305
7306    /// The numeric value of this variant.
7307    pub const fn value(self) -> i32 {
7308        self as i32
7309    }
7310
7311    /// Builds a variant from its numeric value.
7312    ///
7313    /// When several variants share a value, the first declared one is returned.
7314    pub fn from_value(value: i32) -> Option<Self> {
7315        match value {
7316            0 => Some(EUniverse::Invalid),
7317            1 => Some(EUniverse::Public),
7318            2 => Some(EUniverse::Beta),
7319            3 => Some(EUniverse::Internal),
7320            4 => Some(EUniverse::Dev),
7321            _ => None,
7322        }
7323    }
7324}
7325
7326impl TryFrom<i32> for EUniverse {
7327    type Error = UnknownEnumValue;
7328
7329    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7330        Self::from_value(value).ok_or(UnknownEnumValue::new("EUniverse", value as i128))
7331    }
7332}
7333
7334#[allow(deprecated)]
7335impl TryFrom<u32> for EUniverse {
7336    type Error = UnknownEnumValue;
7337
7338    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7339        match value {
7340            0 => Some(EUniverse::Invalid),
7341            1 => Some(EUniverse::Public),
7342            2 => Some(EUniverse::Beta),
7343            3 => Some(EUniverse::Internal),
7344            4 => Some(EUniverse::Dev),
7345            _ => None,
7346        }
7347        .ok_or(UnknownEnumValue::new("EUniverse", value as i128))
7348    }
7349}
7350
7351impl From<EUniverse> for i32 {
7352    fn from(value: EUniverse) -> i32 {
7353        value as i32
7354    }
7355}
7356
7357/// The `EChatEntryType` enumeration.
7358///
7359/// Source: `lang/steammsg.steamd`.
7360#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7361#[repr(i32)]
7362pub enum EChatEntryType {
7363    Invalid = 0,
7364    ChatMsg = 1,
7365    Typing = 2,
7366    InviteGame = 3,
7367    LeftConversation = 6,
7368    Entered = 7,
7369    WasKicked = 8,
7370    WasBanned = 9,
7371    Disconnected = 10,
7372    HistoricalChat = 11,
7373    Reserved1 = 12,
7374    Reserved2 = 13,
7375    LinkBlocked = 14,
7376}
7377
7378#[allow(deprecated)]
7379impl EChatEntryType {
7380    /// Every variant of `EChatEntryType`.
7381    pub const ALL: &'static [EChatEntryType] = &[
7382        EChatEntryType::Invalid,
7383        EChatEntryType::ChatMsg,
7384        EChatEntryType::Typing,
7385        EChatEntryType::InviteGame,
7386        EChatEntryType::LeftConversation,
7387        EChatEntryType::Entered,
7388        EChatEntryType::WasKicked,
7389        EChatEntryType::WasBanned,
7390        EChatEntryType::Disconnected,
7391        EChatEntryType::HistoricalChat,
7392        EChatEntryType::Reserved1,
7393        EChatEntryType::Reserved2,
7394        EChatEntryType::LinkBlocked,
7395    ];
7396
7397    /// The numeric value of this variant.
7398    pub const fn value(self) -> i32 {
7399        self as i32
7400    }
7401
7402    /// Builds a variant from its numeric value.
7403    ///
7404    /// When several variants share a value, the first declared one is returned.
7405    pub fn from_value(value: i32) -> Option<Self> {
7406        match value {
7407            0 => Some(EChatEntryType::Invalid),
7408            1 => Some(EChatEntryType::ChatMsg),
7409            2 => Some(EChatEntryType::Typing),
7410            3 => Some(EChatEntryType::InviteGame),
7411            6 => Some(EChatEntryType::LeftConversation),
7412            7 => Some(EChatEntryType::Entered),
7413            8 => Some(EChatEntryType::WasKicked),
7414            9 => Some(EChatEntryType::WasBanned),
7415            10 => Some(EChatEntryType::Disconnected),
7416            11 => Some(EChatEntryType::HistoricalChat),
7417            12 => Some(EChatEntryType::Reserved1),
7418            13 => Some(EChatEntryType::Reserved2),
7419            14 => Some(EChatEntryType::LinkBlocked),
7420            _ => None,
7421        }
7422    }
7423}
7424
7425impl TryFrom<i32> for EChatEntryType {
7426    type Error = UnknownEnumValue;
7427
7428    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7429        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatEntryType", value as i128))
7430    }
7431}
7432
7433#[allow(deprecated)]
7434impl TryFrom<u32> for EChatEntryType {
7435    type Error = UnknownEnumValue;
7436
7437    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7438        match value {
7439            0 => Some(EChatEntryType::Invalid),
7440            1 => Some(EChatEntryType::ChatMsg),
7441            2 => Some(EChatEntryType::Typing),
7442            3 => Some(EChatEntryType::InviteGame),
7443            6 => Some(EChatEntryType::LeftConversation),
7444            7 => Some(EChatEntryType::Entered),
7445            8 => Some(EChatEntryType::WasKicked),
7446            9 => Some(EChatEntryType::WasBanned),
7447            10 => Some(EChatEntryType::Disconnected),
7448            11 => Some(EChatEntryType::HistoricalChat),
7449            12 => Some(EChatEntryType::Reserved1),
7450            13 => Some(EChatEntryType::Reserved2),
7451            14 => Some(EChatEntryType::LinkBlocked),
7452            _ => None,
7453        }
7454        .ok_or(UnknownEnumValue::new("EChatEntryType", value as i128))
7455    }
7456}
7457
7458impl From<EChatEntryType> for i32 {
7459    fn from(value: EChatEntryType) -> i32 {
7460        value as i32
7461    }
7462}
7463
7464/// The `EPersonaState` enumeration.
7465///
7466/// Source: `lang/steammsg.steamd`.
7467#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7468#[repr(i32)]
7469pub enum EPersonaState {
7470    Offline = 0,
7471    Online = 1,
7472    Busy = 2,
7473    Away = 3,
7474    Snooze = 4,
7475    LookingToTrade = 5,
7476    LookingToPlay = 6,
7477    Invisible = 7,
7478}
7479
7480#[allow(deprecated)]
7481impl EPersonaState {
7482    /// Every variant of `EPersonaState`.
7483    pub const ALL: &'static [EPersonaState] = &[
7484        EPersonaState::Offline,
7485        EPersonaState::Online,
7486        EPersonaState::Busy,
7487        EPersonaState::Away,
7488        EPersonaState::Snooze,
7489        EPersonaState::LookingToTrade,
7490        EPersonaState::LookingToPlay,
7491        EPersonaState::Invisible,
7492    ];
7493
7494    /// The numeric value of this variant.
7495    pub const fn value(self) -> i32 {
7496        self as i32
7497    }
7498
7499    /// Builds a variant from its numeric value.
7500    ///
7501    /// When several variants share a value, the first declared one is returned.
7502    pub fn from_value(value: i32) -> Option<Self> {
7503        match value {
7504            0 => Some(EPersonaState::Offline),
7505            1 => Some(EPersonaState::Online),
7506            2 => Some(EPersonaState::Busy),
7507            3 => Some(EPersonaState::Away),
7508            4 => Some(EPersonaState::Snooze),
7509            5 => Some(EPersonaState::LookingToTrade),
7510            6 => Some(EPersonaState::LookingToPlay),
7511            7 => Some(EPersonaState::Invisible),
7512            _ => None,
7513        }
7514    }
7515}
7516
7517impl TryFrom<i32> for EPersonaState {
7518    type Error = UnknownEnumValue;
7519
7520    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7521        Self::from_value(value).ok_or(UnknownEnumValue::new("EPersonaState", value as i128))
7522    }
7523}
7524
7525#[allow(deprecated)]
7526impl TryFrom<u32> for EPersonaState {
7527    type Error = UnknownEnumValue;
7528
7529    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7530        match value {
7531            0 => Some(EPersonaState::Offline),
7532            1 => Some(EPersonaState::Online),
7533            2 => Some(EPersonaState::Busy),
7534            3 => Some(EPersonaState::Away),
7535            4 => Some(EPersonaState::Snooze),
7536            5 => Some(EPersonaState::LookingToTrade),
7537            6 => Some(EPersonaState::LookingToPlay),
7538            7 => Some(EPersonaState::Invisible),
7539            _ => None,
7540        }
7541        .ok_or(UnknownEnumValue::new("EPersonaState", value as i128))
7542    }
7543}
7544
7545impl From<EPersonaState> for i32 {
7546    fn from(value: EPersonaState) -> i32 {
7547        value as i32
7548    }
7549}
7550
7551/// The `EAccountType` enumeration.
7552///
7553/// Source: `lang/steammsg.steamd`.
7554#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7555#[repr(i32)]
7556pub enum EAccountType {
7557    Invalid = 0,
7558    Individual = 1,
7559    Multiseat = 2,
7560    GameServer = 3,
7561    AnonGameServer = 4,
7562    Pending = 5,
7563    ContentServer = 6,
7564    Clan = 7,
7565    Chat = 8,
7566    ConsoleUser = 9,
7567    AnonUser = 10,
7568}
7569
7570#[allow(deprecated)]
7571impl EAccountType {
7572    /// Every variant of `EAccountType`.
7573    pub const ALL: &'static [EAccountType] = &[
7574        EAccountType::Invalid,
7575        EAccountType::Individual,
7576        EAccountType::Multiseat,
7577        EAccountType::GameServer,
7578        EAccountType::AnonGameServer,
7579        EAccountType::Pending,
7580        EAccountType::ContentServer,
7581        EAccountType::Clan,
7582        EAccountType::Chat,
7583        EAccountType::ConsoleUser,
7584        EAccountType::AnonUser,
7585    ];
7586
7587    /// The numeric value of this variant.
7588    pub const fn value(self) -> i32 {
7589        self as i32
7590    }
7591
7592    /// Builds a variant from its numeric value.
7593    ///
7594    /// When several variants share a value, the first declared one is returned.
7595    pub fn from_value(value: i32) -> Option<Self> {
7596        match value {
7597            0 => Some(EAccountType::Invalid),
7598            1 => Some(EAccountType::Individual),
7599            2 => Some(EAccountType::Multiseat),
7600            3 => Some(EAccountType::GameServer),
7601            4 => Some(EAccountType::AnonGameServer),
7602            5 => Some(EAccountType::Pending),
7603            6 => Some(EAccountType::ContentServer),
7604            7 => Some(EAccountType::Clan),
7605            8 => Some(EAccountType::Chat),
7606            9 => Some(EAccountType::ConsoleUser),
7607            10 => Some(EAccountType::AnonUser),
7608            _ => None,
7609        }
7610    }
7611}
7612
7613impl TryFrom<i32> for EAccountType {
7614    type Error = UnknownEnumValue;
7615
7616    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7617        Self::from_value(value).ok_or(UnknownEnumValue::new("EAccountType", value as i128))
7618    }
7619}
7620
7621#[allow(deprecated)]
7622impl TryFrom<u32> for EAccountType {
7623    type Error = UnknownEnumValue;
7624
7625    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7626        match value {
7627            0 => Some(EAccountType::Invalid),
7628            1 => Some(EAccountType::Individual),
7629            2 => Some(EAccountType::Multiseat),
7630            3 => Some(EAccountType::GameServer),
7631            4 => Some(EAccountType::AnonGameServer),
7632            5 => Some(EAccountType::Pending),
7633            6 => Some(EAccountType::ContentServer),
7634            7 => Some(EAccountType::Clan),
7635            8 => Some(EAccountType::Chat),
7636            9 => Some(EAccountType::ConsoleUser),
7637            10 => Some(EAccountType::AnonUser),
7638            _ => None,
7639        }
7640        .ok_or(UnknownEnumValue::new("EAccountType", value as i128))
7641    }
7642}
7643
7644impl From<EAccountType> for i32 {
7645    fn from(value: EAccountType) -> i32 {
7646        value as i32
7647    }
7648}
7649
7650/// The `EFriendRelationship` enumeration.
7651///
7652/// Source: `lang/steammsg.steamd`.
7653#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7654#[repr(i32)]
7655pub enum EFriendRelationship {
7656    None = 0,
7657    Blocked = 1,
7658    RequestRecipient = 2,
7659    Friend = 3,
7660    RequestInitiator = 4,
7661    Ignored = 5,
7662    IgnoredFriend = 6,
7663}
7664
7665#[allow(deprecated)]
7666impl EFriendRelationship {
7667    /// Every variant of `EFriendRelationship`.
7668    pub const ALL: &'static [EFriendRelationship] = &[
7669        EFriendRelationship::None,
7670        EFriendRelationship::Blocked,
7671        EFriendRelationship::RequestRecipient,
7672        EFriendRelationship::Friend,
7673        EFriendRelationship::RequestInitiator,
7674        EFriendRelationship::Ignored,
7675        EFriendRelationship::IgnoredFriend,
7676    ];
7677
7678    /// The numeric value of this variant.
7679    pub const fn value(self) -> i32 {
7680        self as i32
7681    }
7682
7683    /// Builds a variant from its numeric value.
7684    ///
7685    /// When several variants share a value, the first declared one is returned.
7686    pub fn from_value(value: i32) -> Option<Self> {
7687        match value {
7688            0 => Some(EFriendRelationship::None),
7689            1 => Some(EFriendRelationship::Blocked),
7690            2 => Some(EFriendRelationship::RequestRecipient),
7691            3 => Some(EFriendRelationship::Friend),
7692            4 => Some(EFriendRelationship::RequestInitiator),
7693            5 => Some(EFriendRelationship::Ignored),
7694            6 => Some(EFriendRelationship::IgnoredFriend),
7695            _ => None,
7696        }
7697    }
7698}
7699
7700impl TryFrom<i32> for EFriendRelationship {
7701    type Error = UnknownEnumValue;
7702
7703    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7704        Self::from_value(value).ok_or(UnknownEnumValue::new("EFriendRelationship", value as i128))
7705    }
7706}
7707
7708#[allow(deprecated)]
7709impl TryFrom<u32> for EFriendRelationship {
7710    type Error = UnknownEnumValue;
7711
7712    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7713        match value {
7714            0 => Some(EFriendRelationship::None),
7715            1 => Some(EFriendRelationship::Blocked),
7716            2 => Some(EFriendRelationship::RequestRecipient),
7717            3 => Some(EFriendRelationship::Friend),
7718            4 => Some(EFriendRelationship::RequestInitiator),
7719            5 => Some(EFriendRelationship::Ignored),
7720            6 => Some(EFriendRelationship::IgnoredFriend),
7721            _ => None,
7722        }
7723        .ok_or(UnknownEnumValue::new("EFriendRelationship", value as i128))
7724    }
7725}
7726
7727impl From<EFriendRelationship> for i32 {
7728    fn from(value: EFriendRelationship) -> i32 {
7729        value as i32
7730    }
7731}
7732
7733/// The `EAccountFlags` enumeration.
7734///
7735/// A bit flag set: the variants can be combined with a bitwise or.
7736///
7737/// Source: `lang/steammsg.steamd`.
7738#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7739#[repr(i32)]
7740pub enum EAccountFlags {
7741    NormalUser = 0,
7742    PersonaNameSet = 1,
7743    Unbannable = 2,
7744    PasswordSet = 4,
7745    Support = 8,
7746    Admin = 16,
7747    Supervisor = 32,
7748    AppEditor = 64,
7749    HWIDSet = 128,
7750    PersonalQASet = 256,
7751    VacBeta = 512,
7752    Debug = 1024,
7753    Disabled = 2048,
7754    LimitedUser = 4096,
7755    LimitedUserForce = 8192,
7756    EmailValidated = 16384,
7757    ValveEmail = 32768,
7758    OGGInviteOptOut = 65536,
7759    ForcePasswordChange = 131072,
7760    ForceEmailVerification = 262144,
7761    LogonExtraSecurity = 524288,
7762    LogonExtraSecurityDisabled = 1048576,
7763    Steam2MigrationComplete = 2097152,
7764    NeedLogs = 4194304,
7765    Lockdown = 8388608,
7766    MasterAppEditor = 16777216,
7767    BannedFromWebAPI = 33554432,
7768    PartnerMember = 67108864,
7769    GlobalModerator = 134217728,
7770    ParentalSettings = 268435456,
7771    ThirdPartySupport = 536870912,
7772    NeedsSSANextSteamLogon = 1073741824,
7773}
7774
7775#[allow(deprecated)]
7776impl EAccountFlags {
7777    /// Every variant of `EAccountFlags`.
7778    pub const ALL: &'static [EAccountFlags] = &[
7779        EAccountFlags::NormalUser,
7780        EAccountFlags::PersonaNameSet,
7781        EAccountFlags::Unbannable,
7782        EAccountFlags::PasswordSet,
7783        EAccountFlags::Support,
7784        EAccountFlags::Admin,
7785        EAccountFlags::Supervisor,
7786        EAccountFlags::AppEditor,
7787        EAccountFlags::HWIDSet,
7788        EAccountFlags::PersonalQASet,
7789        EAccountFlags::VacBeta,
7790        EAccountFlags::Debug,
7791        EAccountFlags::Disabled,
7792        EAccountFlags::LimitedUser,
7793        EAccountFlags::LimitedUserForce,
7794        EAccountFlags::EmailValidated,
7795        EAccountFlags::ValveEmail,
7796        EAccountFlags::OGGInviteOptOut,
7797        EAccountFlags::ForcePasswordChange,
7798        EAccountFlags::ForceEmailVerification,
7799        EAccountFlags::LogonExtraSecurity,
7800        EAccountFlags::LogonExtraSecurityDisabled,
7801        EAccountFlags::Steam2MigrationComplete,
7802        EAccountFlags::NeedLogs,
7803        EAccountFlags::Lockdown,
7804        EAccountFlags::MasterAppEditor,
7805        EAccountFlags::BannedFromWebAPI,
7806        EAccountFlags::PartnerMember,
7807        EAccountFlags::GlobalModerator,
7808        EAccountFlags::ParentalSettings,
7809        EAccountFlags::ThirdPartySupport,
7810        EAccountFlags::NeedsSSANextSteamLogon,
7811    ];
7812
7813    /// The numeric value of this variant.
7814    pub const fn value(self) -> i32 {
7815        self as i32
7816    }
7817
7818    /// The raw bit pattern of this flag set.
7819    pub const fn bits(self) -> i32 {
7820        self as i32
7821    }
7822
7823    /// True when no bit of this flag set is set.
7824    pub const fn is_empty(self) -> bool {
7825        (self as i32) == 0
7826    }
7827
7828    /// True when every bit of `other` is set in this flag set.
7829    pub const fn contains(self, other: Self) -> bool {
7830        (self as i32 & other as i32) == (other as i32)
7831    }
7832
7833    /// The bitwise or of two flag sets, as a raw value.
7834    pub const fn union(self, other: Self) -> i32 {
7835        (self as i32) | (other as i32)
7836    }
7837
7838    /// The bitwise and of two flag sets, as a raw value.
7839    pub const fn intersect(self, other: Self) -> i32 {
7840        (self as i32) & (other as i32)
7841    }
7842
7843    /// Builds a variant from its numeric value.
7844    ///
7845    /// When several variants share a value, the first declared one is returned.
7846    pub fn from_value(value: i32) -> Option<Self> {
7847        match value {
7848            0 => Some(EAccountFlags::NormalUser),
7849            1 => Some(EAccountFlags::PersonaNameSet),
7850            2 => Some(EAccountFlags::Unbannable),
7851            4 => Some(EAccountFlags::PasswordSet),
7852            8 => Some(EAccountFlags::Support),
7853            16 => Some(EAccountFlags::Admin),
7854            32 => Some(EAccountFlags::Supervisor),
7855            64 => Some(EAccountFlags::AppEditor),
7856            128 => Some(EAccountFlags::HWIDSet),
7857            256 => Some(EAccountFlags::PersonalQASet),
7858            512 => Some(EAccountFlags::VacBeta),
7859            1024 => Some(EAccountFlags::Debug),
7860            2048 => Some(EAccountFlags::Disabled),
7861            4096 => Some(EAccountFlags::LimitedUser),
7862            8192 => Some(EAccountFlags::LimitedUserForce),
7863            16384 => Some(EAccountFlags::EmailValidated),
7864            32768 => Some(EAccountFlags::ValveEmail),
7865            65536 => Some(EAccountFlags::OGGInviteOptOut),
7866            131072 => Some(EAccountFlags::ForcePasswordChange),
7867            262144 => Some(EAccountFlags::ForceEmailVerification),
7868            524288 => Some(EAccountFlags::LogonExtraSecurity),
7869            1048576 => Some(EAccountFlags::LogonExtraSecurityDisabled),
7870            2097152 => Some(EAccountFlags::Steam2MigrationComplete),
7871            4194304 => Some(EAccountFlags::NeedLogs),
7872            8388608 => Some(EAccountFlags::Lockdown),
7873            16777216 => Some(EAccountFlags::MasterAppEditor),
7874            33554432 => Some(EAccountFlags::BannedFromWebAPI),
7875            67108864 => Some(EAccountFlags::PartnerMember),
7876            134217728 => Some(EAccountFlags::GlobalModerator),
7877            268435456 => Some(EAccountFlags::ParentalSettings),
7878            536870912 => Some(EAccountFlags::ThirdPartySupport),
7879            1073741824 => Some(EAccountFlags::NeedsSSANextSteamLogon),
7880            _ => None,
7881        }
7882    }
7883}
7884
7885impl TryFrom<i32> for EAccountFlags {
7886    type Error = UnknownEnumValue;
7887
7888    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
7889        Self::from_value(value).ok_or(UnknownEnumValue::new("EAccountFlags", value as i128))
7890    }
7891}
7892
7893#[allow(deprecated)]
7894impl TryFrom<u32> for EAccountFlags {
7895    type Error = UnknownEnumValue;
7896
7897    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
7898        match value {
7899            0 => Some(EAccountFlags::NormalUser),
7900            1 => Some(EAccountFlags::PersonaNameSet),
7901            2 => Some(EAccountFlags::Unbannable),
7902            4 => Some(EAccountFlags::PasswordSet),
7903            8 => Some(EAccountFlags::Support),
7904            16 => Some(EAccountFlags::Admin),
7905            32 => Some(EAccountFlags::Supervisor),
7906            64 => Some(EAccountFlags::AppEditor),
7907            128 => Some(EAccountFlags::HWIDSet),
7908            256 => Some(EAccountFlags::PersonalQASet),
7909            512 => Some(EAccountFlags::VacBeta),
7910            1024 => Some(EAccountFlags::Debug),
7911            2048 => Some(EAccountFlags::Disabled),
7912            4096 => Some(EAccountFlags::LimitedUser),
7913            8192 => Some(EAccountFlags::LimitedUserForce),
7914            16384 => Some(EAccountFlags::EmailValidated),
7915            32768 => Some(EAccountFlags::ValveEmail),
7916            65536 => Some(EAccountFlags::OGGInviteOptOut),
7917            131072 => Some(EAccountFlags::ForcePasswordChange),
7918            262144 => Some(EAccountFlags::ForceEmailVerification),
7919            524288 => Some(EAccountFlags::LogonExtraSecurity),
7920            1048576 => Some(EAccountFlags::LogonExtraSecurityDisabled),
7921            2097152 => Some(EAccountFlags::Steam2MigrationComplete),
7922            4194304 => Some(EAccountFlags::NeedLogs),
7923            8388608 => Some(EAccountFlags::Lockdown),
7924            16777216 => Some(EAccountFlags::MasterAppEditor),
7925            33554432 => Some(EAccountFlags::BannedFromWebAPI),
7926            67108864 => Some(EAccountFlags::PartnerMember),
7927            134217728 => Some(EAccountFlags::GlobalModerator),
7928            268435456 => Some(EAccountFlags::ParentalSettings),
7929            536870912 => Some(EAccountFlags::ThirdPartySupport),
7930            1073741824 => Some(EAccountFlags::NeedsSSANextSteamLogon),
7931            _ => None,
7932        }
7933        .ok_or(UnknownEnumValue::new("EAccountFlags", value as i128))
7934    }
7935}
7936
7937impl From<EAccountFlags> for i32 {
7938    fn from(value: EAccountFlags) -> i32 {
7939        value as i32
7940    }
7941}
7942
7943/// The `EClanPermission` enumeration.
7944///
7945/// A bit flag set: the variants can be combined with a bitwise or.
7946///
7947/// Source: `lang/steammsg.steamd`.
7948#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
7949#[repr(i32)]
7950pub enum EClanPermission {
7951    Nobody = 0,
7952    Owner = 1,
7953    Officer = 2,
7954    OwnerAndOfficer = 3,
7955    Member = 4,
7956    Moderator = 8,
7957    OwnerOfficerModerator = 11,
7958    AllMembers = 15,
7959    OGGGameOwner = 16,
7960    NonMember = 128,
7961    MemberAllowed = 132,
7962    ModeratorAllowed = 140,
7963    OfficerAllowed = 142,
7964    OwnerAllowed = 143,
7965}
7966
7967#[allow(deprecated)]
7968impl EClanPermission {
7969    /// Alias of [`EClanPermission::OwnerAllowed`].
7970    pub const Anybody: EClanPermission = EClanPermission::OwnerAllowed;
7971
7972    /// Every variant of `EClanPermission`.
7973    pub const ALL: &'static [EClanPermission] = &[
7974        EClanPermission::Nobody,
7975        EClanPermission::Owner,
7976        EClanPermission::Officer,
7977        EClanPermission::OwnerAndOfficer,
7978        EClanPermission::Member,
7979        EClanPermission::Moderator,
7980        EClanPermission::OwnerOfficerModerator,
7981        EClanPermission::AllMembers,
7982        EClanPermission::OGGGameOwner,
7983        EClanPermission::NonMember,
7984        EClanPermission::MemberAllowed,
7985        EClanPermission::ModeratorAllowed,
7986        EClanPermission::OfficerAllowed,
7987        EClanPermission::OwnerAllowed,
7988        EClanPermission::Anybody,
7989    ];
7990
7991    /// The numeric value of this variant.
7992    pub const fn value(self) -> i32 {
7993        self as i32
7994    }
7995
7996    /// The raw bit pattern of this flag set.
7997    pub const fn bits(self) -> i32 {
7998        self as i32
7999    }
8000
8001    /// True when no bit of this flag set is set.
8002    pub const fn is_empty(self) -> bool {
8003        (self as i32) == 0
8004    }
8005
8006    /// True when every bit of `other` is set in this flag set.
8007    pub const fn contains(self, other: Self) -> bool {
8008        (self as i32 & other as i32) == (other as i32)
8009    }
8010
8011    /// The bitwise or of two flag sets, as a raw value.
8012    pub const fn union(self, other: Self) -> i32 {
8013        (self as i32) | (other as i32)
8014    }
8015
8016    /// The bitwise and of two flag sets, as a raw value.
8017    pub const fn intersect(self, other: Self) -> i32 {
8018        (self as i32) & (other as i32)
8019    }
8020
8021    /// Builds a variant from its numeric value.
8022    ///
8023    /// When several variants share a value, the first declared one is returned.
8024    pub fn from_value(value: i32) -> Option<Self> {
8025        match value {
8026            0 => Some(EClanPermission::Nobody),
8027            1 => Some(EClanPermission::Owner),
8028            2 => Some(EClanPermission::Officer),
8029            3 => Some(EClanPermission::OwnerAndOfficer),
8030            4 => Some(EClanPermission::Member),
8031            8 => Some(EClanPermission::Moderator),
8032            11 => Some(EClanPermission::OwnerOfficerModerator),
8033            15 => Some(EClanPermission::AllMembers),
8034            16 => Some(EClanPermission::OGGGameOwner),
8035            128 => Some(EClanPermission::NonMember),
8036            132 => Some(EClanPermission::MemberAllowed),
8037            140 => Some(EClanPermission::ModeratorAllowed),
8038            142 => Some(EClanPermission::OfficerAllowed),
8039            143 => Some(EClanPermission::OwnerAllowed),
8040            _ => None,
8041        }
8042    }
8043}
8044
8045impl TryFrom<i32> for EClanPermission {
8046    type Error = UnknownEnumValue;
8047
8048    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8049        Self::from_value(value).ok_or(UnknownEnumValue::new("EClanPermission", value as i128))
8050    }
8051}
8052
8053#[allow(deprecated)]
8054impl TryFrom<u32> for EClanPermission {
8055    type Error = UnknownEnumValue;
8056
8057    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8058        match value {
8059            0 => Some(EClanPermission::Nobody),
8060            1 => Some(EClanPermission::Owner),
8061            2 => Some(EClanPermission::Officer),
8062            3 => Some(EClanPermission::OwnerAndOfficer),
8063            4 => Some(EClanPermission::Member),
8064            8 => Some(EClanPermission::Moderator),
8065            11 => Some(EClanPermission::OwnerOfficerModerator),
8066            15 => Some(EClanPermission::AllMembers),
8067            16 => Some(EClanPermission::OGGGameOwner),
8068            128 => Some(EClanPermission::NonMember),
8069            132 => Some(EClanPermission::MemberAllowed),
8070            140 => Some(EClanPermission::ModeratorAllowed),
8071            142 => Some(EClanPermission::OfficerAllowed),
8072            143 => Some(EClanPermission::OwnerAllowed),
8073            _ => None,
8074        }
8075        .ok_or(UnknownEnumValue::new("EClanPermission", value as i128))
8076    }
8077}
8078
8079impl From<EClanPermission> for i32 {
8080    fn from(value: EClanPermission) -> i32 {
8081        value as i32
8082    }
8083}
8084
8085/// The `EChatPermission` enumeration.
8086///
8087/// A bit flag set: the variants can be combined with a bitwise or.
8088///
8089/// Source: `lang/steammsg.steamd`.
8090#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8091#[repr(i32)]
8092pub enum EChatPermission {
8093    Close = 1,
8094    Invite = 2,
8095    Talk = 8,
8096    Kick = 16,
8097    Mute = 32,
8098    SetMetadata = 64,
8099    ChangePermissions = 128,
8100    Ban = 256,
8101    ChangeAccess = 512,
8102    EveryoneDefault = 10,
8103    MemberDefault = 282,
8104    OwnerDefault = 891,
8105    Mask = 1019,
8106}
8107
8108#[allow(deprecated)]
8109impl EChatPermission {
8110    /// Alias of [`EChatPermission::Talk`].
8111    pub const EveryoneNotInClanDefault: EChatPermission = EChatPermission::Talk;
8112    /// Alias of [`EChatPermission::MemberDefault`].
8113    pub const OfficerDefault: EChatPermission = EChatPermission::MemberDefault;
8114
8115    /// Every variant of `EChatPermission`.
8116    pub const ALL: &'static [EChatPermission] = &[
8117        EChatPermission::Close,
8118        EChatPermission::Invite,
8119        EChatPermission::Talk,
8120        EChatPermission::Kick,
8121        EChatPermission::Mute,
8122        EChatPermission::SetMetadata,
8123        EChatPermission::ChangePermissions,
8124        EChatPermission::Ban,
8125        EChatPermission::ChangeAccess,
8126        EChatPermission::EveryoneNotInClanDefault,
8127        EChatPermission::EveryoneDefault,
8128        EChatPermission::MemberDefault,
8129        EChatPermission::OfficerDefault,
8130        EChatPermission::OwnerDefault,
8131        EChatPermission::Mask,
8132    ];
8133
8134    /// The numeric value of this variant.
8135    pub const fn value(self) -> i32 {
8136        self as i32
8137    }
8138
8139    /// The raw bit pattern of this flag set.
8140    pub const fn bits(self) -> i32 {
8141        self as i32
8142    }
8143
8144    /// True when no bit of this flag set is set.
8145    pub const fn is_empty(self) -> bool {
8146        (self as i32) == 0
8147    }
8148
8149    /// True when every bit of `other` is set in this flag set.
8150    pub const fn contains(self, other: Self) -> bool {
8151        (self as i32 & other as i32) == (other as i32)
8152    }
8153
8154    /// The bitwise or of two flag sets, as a raw value.
8155    pub const fn union(self, other: Self) -> i32 {
8156        (self as i32) | (other as i32)
8157    }
8158
8159    /// The bitwise and of two flag sets, as a raw value.
8160    pub const fn intersect(self, other: Self) -> i32 {
8161        (self as i32) & (other as i32)
8162    }
8163
8164    /// Builds a variant from its numeric value.
8165    ///
8166    /// When several variants share a value, the first declared one is returned.
8167    pub fn from_value(value: i32) -> Option<Self> {
8168        match value {
8169            1 => Some(EChatPermission::Close),
8170            2 => Some(EChatPermission::Invite),
8171            8 => Some(EChatPermission::Talk),
8172            16 => Some(EChatPermission::Kick),
8173            32 => Some(EChatPermission::Mute),
8174            64 => Some(EChatPermission::SetMetadata),
8175            128 => Some(EChatPermission::ChangePermissions),
8176            256 => Some(EChatPermission::Ban),
8177            512 => Some(EChatPermission::ChangeAccess),
8178            10 => Some(EChatPermission::EveryoneDefault),
8179            282 => Some(EChatPermission::MemberDefault),
8180            891 => Some(EChatPermission::OwnerDefault),
8181            1019 => Some(EChatPermission::Mask),
8182            _ => None,
8183        }
8184    }
8185}
8186
8187impl TryFrom<i32> for EChatPermission {
8188    type Error = UnknownEnumValue;
8189
8190    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8191        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatPermission", value as i128))
8192    }
8193}
8194
8195#[allow(deprecated)]
8196impl TryFrom<u32> for EChatPermission {
8197    type Error = UnknownEnumValue;
8198
8199    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8200        match value {
8201            1 => Some(EChatPermission::Close),
8202            2 => Some(EChatPermission::Invite),
8203            8 => Some(EChatPermission::Talk),
8204            16 => Some(EChatPermission::Kick),
8205            32 => Some(EChatPermission::Mute),
8206            64 => Some(EChatPermission::SetMetadata),
8207            128 => Some(EChatPermission::ChangePermissions),
8208            256 => Some(EChatPermission::Ban),
8209            512 => Some(EChatPermission::ChangeAccess),
8210            10 => Some(EChatPermission::EveryoneDefault),
8211            282 => Some(EChatPermission::MemberDefault),
8212            891 => Some(EChatPermission::OwnerDefault),
8213            1019 => Some(EChatPermission::Mask),
8214            _ => None,
8215        }
8216        .ok_or(UnknownEnumValue::new("EChatPermission", value as i128))
8217    }
8218}
8219
8220impl From<EChatPermission> for i32 {
8221    fn from(value: EChatPermission) -> i32 {
8222        value as i32
8223    }
8224}
8225
8226/// The `EFriendFlags` enumeration.
8227///
8228/// A bit flag set: the variants can be combined with a bitwise or.
8229///
8230/// Source: `lang/steammsg.steamd`.
8231#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8232#[repr(i32)]
8233pub enum EFriendFlags {
8234    None = 0,
8235    Blocked = 1,
8236    FriendshipRequested = 2,
8237    Immediate = 4,
8238    ClanMember = 8,
8239    OnGameServer = 16,
8240    RequestingFriendship = 128,
8241    RequestingInfo = 256,
8242    Ignored = 512,
8243    IgnoredFriend = 1024,
8244    Suggested = 2048,
8245    ChatMember = 4096,
8246    FlagAll = 65535,
8247}
8248
8249#[allow(deprecated)]
8250impl EFriendFlags {
8251    /// Every variant of `EFriendFlags`.
8252    pub const ALL: &'static [EFriendFlags] = &[
8253        EFriendFlags::None,
8254        EFriendFlags::Blocked,
8255        EFriendFlags::FriendshipRequested,
8256        EFriendFlags::Immediate,
8257        EFriendFlags::ClanMember,
8258        EFriendFlags::OnGameServer,
8259        EFriendFlags::RequestingFriendship,
8260        EFriendFlags::RequestingInfo,
8261        EFriendFlags::Ignored,
8262        EFriendFlags::IgnoredFriend,
8263        EFriendFlags::Suggested,
8264        EFriendFlags::ChatMember,
8265        EFriendFlags::FlagAll,
8266    ];
8267
8268    /// The numeric value of this variant.
8269    pub const fn value(self) -> i32 {
8270        self as i32
8271    }
8272
8273    /// The raw bit pattern of this flag set.
8274    pub const fn bits(self) -> i32 {
8275        self as i32
8276    }
8277
8278    /// True when no bit of this flag set is set.
8279    pub const fn is_empty(self) -> bool {
8280        (self as i32) == 0
8281    }
8282
8283    /// True when every bit of `other` is set in this flag set.
8284    pub const fn contains(self, other: Self) -> bool {
8285        (self as i32 & other as i32) == (other as i32)
8286    }
8287
8288    /// The bitwise or of two flag sets, as a raw value.
8289    pub const fn union(self, other: Self) -> i32 {
8290        (self as i32) | (other as i32)
8291    }
8292
8293    /// The bitwise and of two flag sets, as a raw value.
8294    pub const fn intersect(self, other: Self) -> i32 {
8295        (self as i32) & (other as i32)
8296    }
8297
8298    /// Builds a variant from its numeric value.
8299    ///
8300    /// When several variants share a value, the first declared one is returned.
8301    pub fn from_value(value: i32) -> Option<Self> {
8302        match value {
8303            0 => Some(EFriendFlags::None),
8304            1 => Some(EFriendFlags::Blocked),
8305            2 => Some(EFriendFlags::FriendshipRequested),
8306            4 => Some(EFriendFlags::Immediate),
8307            8 => Some(EFriendFlags::ClanMember),
8308            16 => Some(EFriendFlags::OnGameServer),
8309            128 => Some(EFriendFlags::RequestingFriendship),
8310            256 => Some(EFriendFlags::RequestingInfo),
8311            512 => Some(EFriendFlags::Ignored),
8312            1024 => Some(EFriendFlags::IgnoredFriend),
8313            2048 => Some(EFriendFlags::Suggested),
8314            4096 => Some(EFriendFlags::ChatMember),
8315            65535 => Some(EFriendFlags::FlagAll),
8316            _ => None,
8317        }
8318    }
8319}
8320
8321impl TryFrom<i32> for EFriendFlags {
8322    type Error = UnknownEnumValue;
8323
8324    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8325        Self::from_value(value).ok_or(UnknownEnumValue::new("EFriendFlags", value as i128))
8326    }
8327}
8328
8329#[allow(deprecated)]
8330impl TryFrom<u32> for EFriendFlags {
8331    type Error = UnknownEnumValue;
8332
8333    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8334        match value {
8335            0 => Some(EFriendFlags::None),
8336            1 => Some(EFriendFlags::Blocked),
8337            2 => Some(EFriendFlags::FriendshipRequested),
8338            4 => Some(EFriendFlags::Immediate),
8339            8 => Some(EFriendFlags::ClanMember),
8340            16 => Some(EFriendFlags::OnGameServer),
8341            128 => Some(EFriendFlags::RequestingFriendship),
8342            256 => Some(EFriendFlags::RequestingInfo),
8343            512 => Some(EFriendFlags::Ignored),
8344            1024 => Some(EFriendFlags::IgnoredFriend),
8345            2048 => Some(EFriendFlags::Suggested),
8346            4096 => Some(EFriendFlags::ChatMember),
8347            65535 => Some(EFriendFlags::FlagAll),
8348            _ => None,
8349        }
8350        .ok_or(UnknownEnumValue::new("EFriendFlags", value as i128))
8351    }
8352}
8353
8354impl From<EFriendFlags> for i32 {
8355    fn from(value: EFriendFlags) -> i32 {
8356        value as i32
8357    }
8358}
8359
8360/// The `EPersonaStateFlag` enumeration.
8361///
8362/// A bit flag set: the variants can be combined with a bitwise or.
8363///
8364/// Source: `lang/steammsg.steamd`.
8365#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8366#[repr(i32)]
8367pub enum EPersonaStateFlag {
8368    HasRichPresence = 1,
8369    InJoinableGame = 2,
8370    Golden = 4,
8371    RemotePlayTogether = 8,
8372    ClientTypeWeb = 256,
8373    ClientTypeMobile = 512,
8374    ClientTypeTenfoot = 1024,
8375    ClientTypeVR = 2048,
8376    LaunchTypeGamepad = 4096,
8377    LaunchTypeCompatTool = 8192,
8378}
8379
8380#[allow(deprecated)]
8381impl EPersonaStateFlag {
8382    /// Every variant of `EPersonaStateFlag`.
8383    pub const ALL: &'static [EPersonaStateFlag] = &[
8384        EPersonaStateFlag::HasRichPresence,
8385        EPersonaStateFlag::InJoinableGame,
8386        EPersonaStateFlag::Golden,
8387        EPersonaStateFlag::RemotePlayTogether,
8388        EPersonaStateFlag::ClientTypeWeb,
8389        EPersonaStateFlag::ClientTypeMobile,
8390        EPersonaStateFlag::ClientTypeTenfoot,
8391        EPersonaStateFlag::ClientTypeVR,
8392        EPersonaStateFlag::LaunchTypeGamepad,
8393        EPersonaStateFlag::LaunchTypeCompatTool,
8394    ];
8395
8396    /// The numeric value of this variant.
8397    pub const fn value(self) -> i32 {
8398        self as i32
8399    }
8400
8401    /// The raw bit pattern of this flag set.
8402    pub const fn bits(self) -> i32 {
8403        self as i32
8404    }
8405
8406    /// True when no bit of this flag set is set.
8407    pub const fn is_empty(self) -> bool {
8408        (self as i32) == 0
8409    }
8410
8411    /// True when every bit of `other` is set in this flag set.
8412    pub const fn contains(self, other: Self) -> bool {
8413        (self as i32 & other as i32) == (other as i32)
8414    }
8415
8416    /// The bitwise or of two flag sets, as a raw value.
8417    pub const fn union(self, other: Self) -> i32 {
8418        (self as i32) | (other as i32)
8419    }
8420
8421    /// The bitwise and of two flag sets, as a raw value.
8422    pub const fn intersect(self, other: Self) -> i32 {
8423        (self as i32) & (other as i32)
8424    }
8425
8426    /// Builds a variant from its numeric value.
8427    ///
8428    /// When several variants share a value, the first declared one is returned.
8429    pub fn from_value(value: i32) -> Option<Self> {
8430        match value {
8431            1 => Some(EPersonaStateFlag::HasRichPresence),
8432            2 => Some(EPersonaStateFlag::InJoinableGame),
8433            4 => Some(EPersonaStateFlag::Golden),
8434            8 => Some(EPersonaStateFlag::RemotePlayTogether),
8435            256 => Some(EPersonaStateFlag::ClientTypeWeb),
8436            512 => Some(EPersonaStateFlag::ClientTypeMobile),
8437            1024 => Some(EPersonaStateFlag::ClientTypeTenfoot),
8438            2048 => Some(EPersonaStateFlag::ClientTypeVR),
8439            4096 => Some(EPersonaStateFlag::LaunchTypeGamepad),
8440            8192 => Some(EPersonaStateFlag::LaunchTypeCompatTool),
8441            _ => None,
8442        }
8443    }
8444}
8445
8446impl TryFrom<i32> for EPersonaStateFlag {
8447    type Error = UnknownEnumValue;
8448
8449    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8450        Self::from_value(value).ok_or(UnknownEnumValue::new("EPersonaStateFlag", value as i128))
8451    }
8452}
8453
8454#[allow(deprecated)]
8455impl TryFrom<u32> for EPersonaStateFlag {
8456    type Error = UnknownEnumValue;
8457
8458    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8459        match value {
8460            1 => Some(EPersonaStateFlag::HasRichPresence),
8461            2 => Some(EPersonaStateFlag::InJoinableGame),
8462            4 => Some(EPersonaStateFlag::Golden),
8463            8 => Some(EPersonaStateFlag::RemotePlayTogether),
8464            256 => Some(EPersonaStateFlag::ClientTypeWeb),
8465            512 => Some(EPersonaStateFlag::ClientTypeMobile),
8466            1024 => Some(EPersonaStateFlag::ClientTypeTenfoot),
8467            2048 => Some(EPersonaStateFlag::ClientTypeVR),
8468            4096 => Some(EPersonaStateFlag::LaunchTypeGamepad),
8469            8192 => Some(EPersonaStateFlag::LaunchTypeCompatTool),
8470            _ => None,
8471        }
8472        .ok_or(UnknownEnumValue::new("EPersonaStateFlag", value as i128))
8473    }
8474}
8475
8476impl From<EPersonaStateFlag> for i32 {
8477    fn from(value: EPersonaStateFlag) -> i32 {
8478        value as i32
8479    }
8480}
8481
8482/// The `EClientPersonaStateFlag` enumeration.
8483///
8484/// A bit flag set: the variants can be combined with a bitwise or.
8485///
8486/// Source: `lang/steammsg.steamd`.
8487#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8488#[repr(i32)]
8489pub enum EClientPersonaStateFlag {
8490    Status = 1,
8491    PlayerName = 2,
8492    QueryPort = 4,
8493    SourceID = 8,
8494    Presence = 16,
8495    LastSeen = 64,
8496    UserClanRank = 128,
8497    GameExtraInfo = 256,
8498    GameDataBlob = 512,
8499    ClanData = 1024,
8500    Facebook = 2048,
8501    RichPresence = 4096,
8502    Broadcast = 8192,
8503    Watching = 16384,
8504}
8505
8506#[allow(deprecated)]
8507impl EClientPersonaStateFlag {
8508    /// Every variant of `EClientPersonaStateFlag`.
8509    pub const ALL: &'static [EClientPersonaStateFlag] = &[
8510        EClientPersonaStateFlag::Status,
8511        EClientPersonaStateFlag::PlayerName,
8512        EClientPersonaStateFlag::QueryPort,
8513        EClientPersonaStateFlag::SourceID,
8514        EClientPersonaStateFlag::Presence,
8515        EClientPersonaStateFlag::LastSeen,
8516        EClientPersonaStateFlag::UserClanRank,
8517        EClientPersonaStateFlag::GameExtraInfo,
8518        EClientPersonaStateFlag::GameDataBlob,
8519        EClientPersonaStateFlag::ClanData,
8520        EClientPersonaStateFlag::Facebook,
8521        EClientPersonaStateFlag::RichPresence,
8522        EClientPersonaStateFlag::Broadcast,
8523        EClientPersonaStateFlag::Watching,
8524    ];
8525
8526    /// The numeric value of this variant.
8527    pub const fn value(self) -> i32 {
8528        self as i32
8529    }
8530
8531    /// The raw bit pattern of this flag set.
8532    pub const fn bits(self) -> i32 {
8533        self as i32
8534    }
8535
8536    /// True when no bit of this flag set is set.
8537    pub const fn is_empty(self) -> bool {
8538        (self as i32) == 0
8539    }
8540
8541    /// True when every bit of `other` is set in this flag set.
8542    pub const fn contains(self, other: Self) -> bool {
8543        (self as i32 & other as i32) == (other as i32)
8544    }
8545
8546    /// The bitwise or of two flag sets, as a raw value.
8547    pub const fn union(self, other: Self) -> i32 {
8548        (self as i32) | (other as i32)
8549    }
8550
8551    /// The bitwise and of two flag sets, as a raw value.
8552    pub const fn intersect(self, other: Self) -> i32 {
8553        (self as i32) & (other as i32)
8554    }
8555
8556    /// Builds a variant from its numeric value.
8557    ///
8558    /// When several variants share a value, the first declared one is returned.
8559    pub fn from_value(value: i32) -> Option<Self> {
8560        match value {
8561            1 => Some(EClientPersonaStateFlag::Status),
8562            2 => Some(EClientPersonaStateFlag::PlayerName),
8563            4 => Some(EClientPersonaStateFlag::QueryPort),
8564            8 => Some(EClientPersonaStateFlag::SourceID),
8565            16 => Some(EClientPersonaStateFlag::Presence),
8566            64 => Some(EClientPersonaStateFlag::LastSeen),
8567            128 => Some(EClientPersonaStateFlag::UserClanRank),
8568            256 => Some(EClientPersonaStateFlag::GameExtraInfo),
8569            512 => Some(EClientPersonaStateFlag::GameDataBlob),
8570            1024 => Some(EClientPersonaStateFlag::ClanData),
8571            2048 => Some(EClientPersonaStateFlag::Facebook),
8572            4096 => Some(EClientPersonaStateFlag::RichPresence),
8573            8192 => Some(EClientPersonaStateFlag::Broadcast),
8574            16384 => Some(EClientPersonaStateFlag::Watching),
8575            _ => None,
8576        }
8577    }
8578}
8579
8580impl TryFrom<i32> for EClientPersonaStateFlag {
8581    type Error = UnknownEnumValue;
8582
8583    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8584        Self::from_value(value).ok_or(UnknownEnumValue::new("EClientPersonaStateFlag", value as i128))
8585    }
8586}
8587
8588#[allow(deprecated)]
8589impl TryFrom<u32> for EClientPersonaStateFlag {
8590    type Error = UnknownEnumValue;
8591
8592    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8593        match value {
8594            1 => Some(EClientPersonaStateFlag::Status),
8595            2 => Some(EClientPersonaStateFlag::PlayerName),
8596            4 => Some(EClientPersonaStateFlag::QueryPort),
8597            8 => Some(EClientPersonaStateFlag::SourceID),
8598            16 => Some(EClientPersonaStateFlag::Presence),
8599            64 => Some(EClientPersonaStateFlag::LastSeen),
8600            128 => Some(EClientPersonaStateFlag::UserClanRank),
8601            256 => Some(EClientPersonaStateFlag::GameExtraInfo),
8602            512 => Some(EClientPersonaStateFlag::GameDataBlob),
8603            1024 => Some(EClientPersonaStateFlag::ClanData),
8604            2048 => Some(EClientPersonaStateFlag::Facebook),
8605            4096 => Some(EClientPersonaStateFlag::RichPresence),
8606            8192 => Some(EClientPersonaStateFlag::Broadcast),
8607            16384 => Some(EClientPersonaStateFlag::Watching),
8608            _ => None,
8609        }
8610        .ok_or(UnknownEnumValue::new("EClientPersonaStateFlag", value as i128))
8611    }
8612}
8613
8614impl From<EClientPersonaStateFlag> for i32 {
8615    fn from(value: EClientPersonaStateFlag) -> i32 {
8616        value as i32
8617    }
8618}
8619
8620/// The `EAppUsageEvent` enumeration.
8621///
8622/// Source: `lang/steammsg.steamd`.
8623#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8624#[repr(i32)]
8625pub enum EAppUsageEvent {
8626    GameLaunch = 1,
8627    GameLaunchTrial = 2,
8628    Media = 3,
8629    PreloadStart = 4,
8630    PreloadFinish = 5,
8631    MarketingMessageView = 6,
8632    InGameAdViewed = 7,
8633    GameLaunchFreeWeekend = 8,
8634}
8635
8636#[allow(deprecated)]
8637impl EAppUsageEvent {
8638    /// Every variant of `EAppUsageEvent`.
8639    pub const ALL: &'static [EAppUsageEvent] = &[
8640        EAppUsageEvent::GameLaunch,
8641        EAppUsageEvent::GameLaunchTrial,
8642        EAppUsageEvent::Media,
8643        EAppUsageEvent::PreloadStart,
8644        EAppUsageEvent::PreloadFinish,
8645        EAppUsageEvent::MarketingMessageView,
8646        EAppUsageEvent::InGameAdViewed,
8647        EAppUsageEvent::GameLaunchFreeWeekend,
8648    ];
8649
8650    /// The numeric value of this variant.
8651    pub const fn value(self) -> i32 {
8652        self as i32
8653    }
8654
8655    /// Builds a variant from its numeric value.
8656    ///
8657    /// When several variants share a value, the first declared one is returned.
8658    pub fn from_value(value: i32) -> Option<Self> {
8659        match value {
8660            1 => Some(EAppUsageEvent::GameLaunch),
8661            2 => Some(EAppUsageEvent::GameLaunchTrial),
8662            3 => Some(EAppUsageEvent::Media),
8663            4 => Some(EAppUsageEvent::PreloadStart),
8664            5 => Some(EAppUsageEvent::PreloadFinish),
8665            6 => Some(EAppUsageEvent::MarketingMessageView),
8666            7 => Some(EAppUsageEvent::InGameAdViewed),
8667            8 => Some(EAppUsageEvent::GameLaunchFreeWeekend),
8668            _ => None,
8669        }
8670    }
8671}
8672
8673impl TryFrom<i32> for EAppUsageEvent {
8674    type Error = UnknownEnumValue;
8675
8676    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8677        Self::from_value(value).ok_or(UnknownEnumValue::new("EAppUsageEvent", value as i128))
8678    }
8679}
8680
8681#[allow(deprecated)]
8682impl TryFrom<u32> for EAppUsageEvent {
8683    type Error = UnknownEnumValue;
8684
8685    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8686        match value {
8687            1 => Some(EAppUsageEvent::GameLaunch),
8688            2 => Some(EAppUsageEvent::GameLaunchTrial),
8689            3 => Some(EAppUsageEvent::Media),
8690            4 => Some(EAppUsageEvent::PreloadStart),
8691            5 => Some(EAppUsageEvent::PreloadFinish),
8692            6 => Some(EAppUsageEvent::MarketingMessageView),
8693            7 => Some(EAppUsageEvent::InGameAdViewed),
8694            8 => Some(EAppUsageEvent::GameLaunchFreeWeekend),
8695            _ => None,
8696        }
8697        .ok_or(UnknownEnumValue::new("EAppUsageEvent", value as i128))
8698    }
8699}
8700
8701impl From<EAppUsageEvent> for i32 {
8702    fn from(value: EAppUsageEvent) -> i32 {
8703        value as i32
8704    }
8705}
8706
8707/// The `ELicenseFlags` enumeration.
8708///
8709/// A bit flag set: the variants can be combined with a bitwise or.
8710///
8711/// Source: `lang/steammsg.steamd`.
8712#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8713#[repr(i32)]
8714pub enum ELicenseFlags {
8715    None = 0,
8716    Renew = 1,
8717    RenewalFailed = 2,
8718    Pending = 4,
8719    Expired = 8,
8720    CancelledByUser = 16,
8721    CancelledByAdmin = 32,
8722    LowViolenceContent = 64,
8723    ImportedFromSteam2 = 128,
8724    ForceRunRestriction = 256,
8725    RegionRestrictionExpired = 512,
8726    CancelledByFriendlyFraudLock = 1024,
8727    NotActivated = 2048,
8728    PendingRefund = 8192,
8729    Borrowed = 16384,
8730    ReleaseStateOverride = 32768,
8731    CancelledByPartner = 262144,
8732    NonPermanent = 524288,
8733    PreferredOwner = 1048576,
8734}
8735
8736#[allow(deprecated)]
8737impl ELicenseFlags {
8738    /// Every variant of `ELicenseFlags`.
8739    pub const ALL: &'static [ELicenseFlags] = &[
8740        ELicenseFlags::None,
8741        ELicenseFlags::Renew,
8742        ELicenseFlags::RenewalFailed,
8743        ELicenseFlags::Pending,
8744        ELicenseFlags::Expired,
8745        ELicenseFlags::CancelledByUser,
8746        ELicenseFlags::CancelledByAdmin,
8747        ELicenseFlags::LowViolenceContent,
8748        ELicenseFlags::ImportedFromSteam2,
8749        ELicenseFlags::ForceRunRestriction,
8750        ELicenseFlags::RegionRestrictionExpired,
8751        ELicenseFlags::CancelledByFriendlyFraudLock,
8752        ELicenseFlags::NotActivated,
8753        ELicenseFlags::PendingRefund,
8754        ELicenseFlags::Borrowed,
8755        ELicenseFlags::ReleaseStateOverride,
8756        ELicenseFlags::CancelledByPartner,
8757        ELicenseFlags::NonPermanent,
8758        ELicenseFlags::PreferredOwner,
8759    ];
8760
8761    /// The numeric value of this variant.
8762    pub const fn value(self) -> i32 {
8763        self as i32
8764    }
8765
8766    /// The raw bit pattern of this flag set.
8767    pub const fn bits(self) -> i32 {
8768        self as i32
8769    }
8770
8771    /// True when no bit of this flag set is set.
8772    pub const fn is_empty(self) -> bool {
8773        (self as i32) == 0
8774    }
8775
8776    /// True when every bit of `other` is set in this flag set.
8777    pub const fn contains(self, other: Self) -> bool {
8778        (self as i32 & other as i32) == (other as i32)
8779    }
8780
8781    /// The bitwise or of two flag sets, as a raw value.
8782    pub const fn union(self, other: Self) -> i32 {
8783        (self as i32) | (other as i32)
8784    }
8785
8786    /// The bitwise and of two flag sets, as a raw value.
8787    pub const fn intersect(self, other: Self) -> i32 {
8788        (self as i32) & (other as i32)
8789    }
8790
8791    /// Builds a variant from its numeric value.
8792    ///
8793    /// When several variants share a value, the first declared one is returned.
8794    pub fn from_value(value: i32) -> Option<Self> {
8795        match value {
8796            0 => Some(ELicenseFlags::None),
8797            1 => Some(ELicenseFlags::Renew),
8798            2 => Some(ELicenseFlags::RenewalFailed),
8799            4 => Some(ELicenseFlags::Pending),
8800            8 => Some(ELicenseFlags::Expired),
8801            16 => Some(ELicenseFlags::CancelledByUser),
8802            32 => Some(ELicenseFlags::CancelledByAdmin),
8803            64 => Some(ELicenseFlags::LowViolenceContent),
8804            128 => Some(ELicenseFlags::ImportedFromSteam2),
8805            256 => Some(ELicenseFlags::ForceRunRestriction),
8806            512 => Some(ELicenseFlags::RegionRestrictionExpired),
8807            1024 => Some(ELicenseFlags::CancelledByFriendlyFraudLock),
8808            2048 => Some(ELicenseFlags::NotActivated),
8809            8192 => Some(ELicenseFlags::PendingRefund),
8810            16384 => Some(ELicenseFlags::Borrowed),
8811            32768 => Some(ELicenseFlags::ReleaseStateOverride),
8812            262144 => Some(ELicenseFlags::CancelledByPartner),
8813            524288 => Some(ELicenseFlags::NonPermanent),
8814            1048576 => Some(ELicenseFlags::PreferredOwner),
8815            _ => None,
8816        }
8817    }
8818}
8819
8820impl TryFrom<i32> for ELicenseFlags {
8821    type Error = UnknownEnumValue;
8822
8823    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8824        Self::from_value(value).ok_or(UnknownEnumValue::new("ELicenseFlags", value as i128))
8825    }
8826}
8827
8828#[allow(deprecated)]
8829impl TryFrom<u32> for ELicenseFlags {
8830    type Error = UnknownEnumValue;
8831
8832    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8833        match value {
8834            0 => Some(ELicenseFlags::None),
8835            1 => Some(ELicenseFlags::Renew),
8836            2 => Some(ELicenseFlags::RenewalFailed),
8837            4 => Some(ELicenseFlags::Pending),
8838            8 => Some(ELicenseFlags::Expired),
8839            16 => Some(ELicenseFlags::CancelledByUser),
8840            32 => Some(ELicenseFlags::CancelledByAdmin),
8841            64 => Some(ELicenseFlags::LowViolenceContent),
8842            128 => Some(ELicenseFlags::ImportedFromSteam2),
8843            256 => Some(ELicenseFlags::ForceRunRestriction),
8844            512 => Some(ELicenseFlags::RegionRestrictionExpired),
8845            1024 => Some(ELicenseFlags::CancelledByFriendlyFraudLock),
8846            2048 => Some(ELicenseFlags::NotActivated),
8847            8192 => Some(ELicenseFlags::PendingRefund),
8848            16384 => Some(ELicenseFlags::Borrowed),
8849            32768 => Some(ELicenseFlags::ReleaseStateOverride),
8850            262144 => Some(ELicenseFlags::CancelledByPartner),
8851            524288 => Some(ELicenseFlags::NonPermanent),
8852            1048576 => Some(ELicenseFlags::PreferredOwner),
8853            _ => None,
8854        }
8855        .ok_or(UnknownEnumValue::new("ELicenseFlags", value as i128))
8856    }
8857}
8858
8859impl From<ELicenseFlags> for i32 {
8860    fn from(value: ELicenseFlags) -> i32 {
8861        value as i32
8862    }
8863}
8864
8865/// The `ELicenseType` enumeration.
8866///
8867/// Source: `lang/steammsg.steamd`.
8868#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8869#[repr(i32)]
8870pub enum ELicenseType {
8871    NoLicense = 0,
8872    SinglePurchase = 1,
8873    SinglePurchaseLimitedUse = 2,
8874    RecurringCharge = 3,
8875    RecurringChargeLimitedUse = 4,
8876    RecurringChargeLimitedUseWithOverages = 5,
8877    RecurringOption = 6,
8878    LimitedUseDelayedActivation = 7,
8879}
8880
8881#[allow(deprecated)]
8882impl ELicenseType {
8883    /// Every variant of `ELicenseType`.
8884    pub const ALL: &'static [ELicenseType] = &[
8885        ELicenseType::NoLicense,
8886        ELicenseType::SinglePurchase,
8887        ELicenseType::SinglePurchaseLimitedUse,
8888        ELicenseType::RecurringCharge,
8889        ELicenseType::RecurringChargeLimitedUse,
8890        ELicenseType::RecurringChargeLimitedUseWithOverages,
8891        ELicenseType::RecurringOption,
8892        ELicenseType::LimitedUseDelayedActivation,
8893    ];
8894
8895    /// The numeric value of this variant.
8896    pub const fn value(self) -> i32 {
8897        self as i32
8898    }
8899
8900    /// Builds a variant from its numeric value.
8901    ///
8902    /// When several variants share a value, the first declared one is returned.
8903    pub fn from_value(value: i32) -> Option<Self> {
8904        match value {
8905            0 => Some(ELicenseType::NoLicense),
8906            1 => Some(ELicenseType::SinglePurchase),
8907            2 => Some(ELicenseType::SinglePurchaseLimitedUse),
8908            3 => Some(ELicenseType::RecurringCharge),
8909            4 => Some(ELicenseType::RecurringChargeLimitedUse),
8910            5 => Some(ELicenseType::RecurringChargeLimitedUseWithOverages),
8911            6 => Some(ELicenseType::RecurringOption),
8912            7 => Some(ELicenseType::LimitedUseDelayedActivation),
8913            _ => None,
8914        }
8915    }
8916}
8917
8918impl TryFrom<i32> for ELicenseType {
8919    type Error = UnknownEnumValue;
8920
8921    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
8922        Self::from_value(value).ok_or(UnknownEnumValue::new("ELicenseType", value as i128))
8923    }
8924}
8925
8926#[allow(deprecated)]
8927impl TryFrom<u32> for ELicenseType {
8928    type Error = UnknownEnumValue;
8929
8930    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
8931        match value {
8932            0 => Some(ELicenseType::NoLicense),
8933            1 => Some(ELicenseType::SinglePurchase),
8934            2 => Some(ELicenseType::SinglePurchaseLimitedUse),
8935            3 => Some(ELicenseType::RecurringCharge),
8936            4 => Some(ELicenseType::RecurringChargeLimitedUse),
8937            5 => Some(ELicenseType::RecurringChargeLimitedUseWithOverages),
8938            6 => Some(ELicenseType::RecurringOption),
8939            7 => Some(ELicenseType::LimitedUseDelayedActivation),
8940            _ => None,
8941        }
8942        .ok_or(UnknownEnumValue::new("ELicenseType", value as i128))
8943    }
8944}
8945
8946impl From<ELicenseType> for i32 {
8947    fn from(value: ELicenseType) -> i32 {
8948        value as i32
8949    }
8950}
8951
8952/// The `EPaymentMethod` enumeration.
8953///
8954/// Source: `lang/steammsg.steamd`.
8955#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
8956#[repr(i32)]
8957pub enum EPaymentMethod {
8958    None = 0,
8959    ActivationCode = 1,
8960    CreditCard = 2,
8961    Giropay = 3,
8962    PayPal = 4,
8963    Ideal = 5,
8964    PaySafeCard = 6,
8965    Sofort = 7,
8966    GuestPass = 8,
8967    WebMoney = 9,
8968    MoneyBookers = 10,
8969    AliPay = 11,
8970    Yandex = 12,
8971    Kiosk = 13,
8972    Qiwi = 14,
8973    GameStop = 15,
8974    HardwarePromo = 16,
8975    MoPay = 17,
8976    BoletoBancario = 18,
8977    BoaCompraGold = 19,
8978    BancoDoBrasilOnline = 20,
8979    ItauOnline = 21,
8980    BradescoOnline = 22,
8981    Pagseguro = 23,
8982    VisaBrazil = 24,
8983    AmexBrazil = 25,
8984    Aura = 26,
8985    Hipercard = 27,
8986    MastercardBrazil = 28,
8987    DinersCardBrazil = 29,
8988    AuthorizedDevice = 30,
8989    MOLPoints = 31,
8990    ClickAndBuy = 32,
8991    Beeline = 33,
8992    Konbini = 34,
8993    EClubPoints = 35,
8994    CreditCardJapan = 36,
8995    BankTransferJapan = 37,
8996    PayEasy = 38,
8997    Zong = 39,
8998    CultureVoucher = 40,
8999    BookVoucher = 41,
9000    HappymoneyVoucher = 42,
9001    ConvenientStoreVoucher = 43,
9002    GameVoucher = 44,
9003    Multibanco = 45,
9004    Payshop = 46,
9005    MaestroBoaCompra = 47,
9006    OXXO = 48,
9007    ToditoCash = 49,
9008    Carnet = 50,
9009    SPEI = 51,
9010    ThreePay = 52,
9011    IsBank = 53,
9012    Garanti = 54,
9013    Akbank = 55,
9014    YapiKredi = 56,
9015    Halkbank = 57,
9016    BankAsya = 58,
9017    Finansbank = 59,
9018    DenizBank = 60,
9019    PTT = 61,
9020    CashU = 62,
9021    SantanderRio = 63,
9022    AutoGrant = 64,
9023    WebMoneyJapan = 65,
9024    OneCard = 66,
9025    PSE = 67,
9026    Exito = 68,
9027    Efecty = 69,
9028    Paloto = 70,
9029    PinValidda = 71,
9030    MangirKart = 72,
9031    BancoCreditoDePeru = 73,
9032    BBVAContinental = 74,
9033    SafetyPay = 75,
9034    PagoEfectivo = 76,
9035    Trustly = 77,
9036    UnionPay = 78,
9037    BitCoin = 79,
9038    LicensedSite = 80,
9039    BitCash = 81,
9040    NetCash = 82,
9041    Nanaco = 83,
9042    Tenpay = 84,
9043    WeChat = 85,
9044    CashonDelivery = 86,
9045    CreditCardNodwin = 87,
9046    DebitCardNodwin = 88,
9047    NetBankingNodwin = 89,
9048    CashCardNodwin = 90,
9049    WalletNodwin = 91,
9050    MobileDegica = 92,
9051    Naranja = 93,
9052    Cencosud = 94,
9053    Cabal = 95,
9054    PagoFacil = 96,
9055    Rapipago = 97,
9056    BancoNacionaldeCostaRica = 98,
9057    BancoPoplar = 99,
9058    RedPagos = 100,
9059    SPE = 101,
9060    Multicaja = 102,
9061    RedCompra = 103,
9062    ZiraatBank = 104,
9063    VakiflarBank = 105,
9064    KuveytTurkBank = 106,
9065    EkonomiBank = 107,
9066    Pichincha = 108,
9067    PichinchaCash = 109,
9068    Przelewy24 = 110,
9069    Trustpay = 111,
9070    POLi = 112,
9071    MercadoPago = 113,
9072    PayU = 114,
9073    VTCPayWallet = 115,
9074    MrCash = 116,
9075    EPS = 117,
9076    Interac = 118,
9077    VTCPayCards = 119,
9078    VTCPayOnlineBanking = 120,
9079    VisaElectronBoaCompra = 121,
9080    CafeFunded = 122,
9081    OCA = 123,
9082    Lider = 124,
9083    WebMoneySteamCardJapan = 125,
9084    WebMoneySteamCardTopUpJapan = 126,
9085    Toss = 127,
9086    Wallet = 128,
9087    Valve = 129,
9088    MasterComp = 130,
9089    Promotional = 131,
9090    MasterSubscription = 134,
9091    Payco = 135,
9092    MobileWalletJapan = 136,
9093    BoletoFlash = 137,
9094    PIX = 138,
9095    GCash = 139,
9096    KakaoPay = 140,
9097    Dana = 141,
9098    TrueMoney = 142,
9099    TouchnGo = 143,
9100    LinePay = 144,
9101    MerPay = 145,
9102    PayPay = 146,
9103    AlfaClick = 147,
9104    Sberbank = 148,
9105    YooMoney = 149,
9106    Tinkoff = 150,
9107    CashInCIS = 151,
9108    AuPAY = 152,
9109    AliPayHK = 153,
9110    NaverPay = 154,
9111    Linkaja = 155,
9112    ShopeePay = 156,
9113    GrabPay = 157,
9114    PayNow = 158,
9115    OnlineBankingThailand = 159,
9116    CashOptionsThailand = 160,
9117    OEMTicket = 256,
9118    Split = 512,
9119    Complimentary = 1024,
9120    FamilyGroup = 1025,
9121}
9122
9123#[allow(deprecated)]
9124impl EPaymentMethod {
9125    /// Every variant of `EPaymentMethod`.
9126    pub const ALL: &'static [EPaymentMethod] = &[
9127        EPaymentMethod::None,
9128        EPaymentMethod::ActivationCode,
9129        EPaymentMethod::CreditCard,
9130        EPaymentMethod::Giropay,
9131        EPaymentMethod::PayPal,
9132        EPaymentMethod::Ideal,
9133        EPaymentMethod::PaySafeCard,
9134        EPaymentMethod::Sofort,
9135        EPaymentMethod::GuestPass,
9136        EPaymentMethod::WebMoney,
9137        EPaymentMethod::MoneyBookers,
9138        EPaymentMethod::AliPay,
9139        EPaymentMethod::Yandex,
9140        EPaymentMethod::Kiosk,
9141        EPaymentMethod::Qiwi,
9142        EPaymentMethod::GameStop,
9143        EPaymentMethod::HardwarePromo,
9144        EPaymentMethod::MoPay,
9145        EPaymentMethod::BoletoBancario,
9146        EPaymentMethod::BoaCompraGold,
9147        EPaymentMethod::BancoDoBrasilOnline,
9148        EPaymentMethod::ItauOnline,
9149        EPaymentMethod::BradescoOnline,
9150        EPaymentMethod::Pagseguro,
9151        EPaymentMethod::VisaBrazil,
9152        EPaymentMethod::AmexBrazil,
9153        EPaymentMethod::Aura,
9154        EPaymentMethod::Hipercard,
9155        EPaymentMethod::MastercardBrazil,
9156        EPaymentMethod::DinersCardBrazil,
9157        EPaymentMethod::AuthorizedDevice,
9158        EPaymentMethod::MOLPoints,
9159        EPaymentMethod::ClickAndBuy,
9160        EPaymentMethod::Beeline,
9161        EPaymentMethod::Konbini,
9162        EPaymentMethod::EClubPoints,
9163        EPaymentMethod::CreditCardJapan,
9164        EPaymentMethod::BankTransferJapan,
9165        EPaymentMethod::PayEasy,
9166        EPaymentMethod::Zong,
9167        EPaymentMethod::CultureVoucher,
9168        EPaymentMethod::BookVoucher,
9169        EPaymentMethod::HappymoneyVoucher,
9170        EPaymentMethod::ConvenientStoreVoucher,
9171        EPaymentMethod::GameVoucher,
9172        EPaymentMethod::Multibanco,
9173        EPaymentMethod::Payshop,
9174        EPaymentMethod::MaestroBoaCompra,
9175        EPaymentMethod::OXXO,
9176        EPaymentMethod::ToditoCash,
9177        EPaymentMethod::Carnet,
9178        EPaymentMethod::SPEI,
9179        EPaymentMethod::ThreePay,
9180        EPaymentMethod::IsBank,
9181        EPaymentMethod::Garanti,
9182        EPaymentMethod::Akbank,
9183        EPaymentMethod::YapiKredi,
9184        EPaymentMethod::Halkbank,
9185        EPaymentMethod::BankAsya,
9186        EPaymentMethod::Finansbank,
9187        EPaymentMethod::DenizBank,
9188        EPaymentMethod::PTT,
9189        EPaymentMethod::CashU,
9190        EPaymentMethod::SantanderRio,
9191        EPaymentMethod::AutoGrant,
9192        EPaymentMethod::WebMoneyJapan,
9193        EPaymentMethod::OneCard,
9194        EPaymentMethod::PSE,
9195        EPaymentMethod::Exito,
9196        EPaymentMethod::Efecty,
9197        EPaymentMethod::Paloto,
9198        EPaymentMethod::PinValidda,
9199        EPaymentMethod::MangirKart,
9200        EPaymentMethod::BancoCreditoDePeru,
9201        EPaymentMethod::BBVAContinental,
9202        EPaymentMethod::SafetyPay,
9203        EPaymentMethod::PagoEfectivo,
9204        EPaymentMethod::Trustly,
9205        EPaymentMethod::UnionPay,
9206        EPaymentMethod::BitCoin,
9207        EPaymentMethod::LicensedSite,
9208        EPaymentMethod::BitCash,
9209        EPaymentMethod::NetCash,
9210        EPaymentMethod::Nanaco,
9211        EPaymentMethod::Tenpay,
9212        EPaymentMethod::WeChat,
9213        EPaymentMethod::CashonDelivery,
9214        EPaymentMethod::CreditCardNodwin,
9215        EPaymentMethod::DebitCardNodwin,
9216        EPaymentMethod::NetBankingNodwin,
9217        EPaymentMethod::CashCardNodwin,
9218        EPaymentMethod::WalletNodwin,
9219        EPaymentMethod::MobileDegica,
9220        EPaymentMethod::Naranja,
9221        EPaymentMethod::Cencosud,
9222        EPaymentMethod::Cabal,
9223        EPaymentMethod::PagoFacil,
9224        EPaymentMethod::Rapipago,
9225        EPaymentMethod::BancoNacionaldeCostaRica,
9226        EPaymentMethod::BancoPoplar,
9227        EPaymentMethod::RedPagos,
9228        EPaymentMethod::SPE,
9229        EPaymentMethod::Multicaja,
9230        EPaymentMethod::RedCompra,
9231        EPaymentMethod::ZiraatBank,
9232        EPaymentMethod::VakiflarBank,
9233        EPaymentMethod::KuveytTurkBank,
9234        EPaymentMethod::EkonomiBank,
9235        EPaymentMethod::Pichincha,
9236        EPaymentMethod::PichinchaCash,
9237        EPaymentMethod::Przelewy24,
9238        EPaymentMethod::Trustpay,
9239        EPaymentMethod::POLi,
9240        EPaymentMethod::MercadoPago,
9241        EPaymentMethod::PayU,
9242        EPaymentMethod::VTCPayWallet,
9243        EPaymentMethod::MrCash,
9244        EPaymentMethod::EPS,
9245        EPaymentMethod::Interac,
9246        EPaymentMethod::VTCPayCards,
9247        EPaymentMethod::VTCPayOnlineBanking,
9248        EPaymentMethod::VisaElectronBoaCompra,
9249        EPaymentMethod::CafeFunded,
9250        EPaymentMethod::OCA,
9251        EPaymentMethod::Lider,
9252        EPaymentMethod::WebMoneySteamCardJapan,
9253        EPaymentMethod::WebMoneySteamCardTopUpJapan,
9254        EPaymentMethod::Toss,
9255        EPaymentMethod::Wallet,
9256        EPaymentMethod::Valve,
9257        EPaymentMethod::MasterComp,
9258        EPaymentMethod::Promotional,
9259        EPaymentMethod::MasterSubscription,
9260        EPaymentMethod::Payco,
9261        EPaymentMethod::MobileWalletJapan,
9262        EPaymentMethod::BoletoFlash,
9263        EPaymentMethod::PIX,
9264        EPaymentMethod::GCash,
9265        EPaymentMethod::KakaoPay,
9266        EPaymentMethod::Dana,
9267        EPaymentMethod::TrueMoney,
9268        EPaymentMethod::TouchnGo,
9269        EPaymentMethod::LinePay,
9270        EPaymentMethod::MerPay,
9271        EPaymentMethod::PayPay,
9272        EPaymentMethod::AlfaClick,
9273        EPaymentMethod::Sberbank,
9274        EPaymentMethod::YooMoney,
9275        EPaymentMethod::Tinkoff,
9276        EPaymentMethod::CashInCIS,
9277        EPaymentMethod::AuPAY,
9278        EPaymentMethod::AliPayHK,
9279        EPaymentMethod::NaverPay,
9280        EPaymentMethod::Linkaja,
9281        EPaymentMethod::ShopeePay,
9282        EPaymentMethod::GrabPay,
9283        EPaymentMethod::PayNow,
9284        EPaymentMethod::OnlineBankingThailand,
9285        EPaymentMethod::CashOptionsThailand,
9286        EPaymentMethod::OEMTicket,
9287        EPaymentMethod::Split,
9288        EPaymentMethod::Complimentary,
9289        EPaymentMethod::FamilyGroup,
9290    ];
9291
9292    /// The numeric value of this variant.
9293    pub const fn value(self) -> i32 {
9294        self as i32
9295    }
9296
9297    /// Builds a variant from its numeric value.
9298    ///
9299    /// When several variants share a value, the first declared one is returned.
9300    pub fn from_value(value: i32) -> Option<Self> {
9301        match value {
9302            0 => Some(EPaymentMethod::None),
9303            1 => Some(EPaymentMethod::ActivationCode),
9304            2 => Some(EPaymentMethod::CreditCard),
9305            3 => Some(EPaymentMethod::Giropay),
9306            4 => Some(EPaymentMethod::PayPal),
9307            5 => Some(EPaymentMethod::Ideal),
9308            6 => Some(EPaymentMethod::PaySafeCard),
9309            7 => Some(EPaymentMethod::Sofort),
9310            8 => Some(EPaymentMethod::GuestPass),
9311            9 => Some(EPaymentMethod::WebMoney),
9312            10 => Some(EPaymentMethod::MoneyBookers),
9313            11 => Some(EPaymentMethod::AliPay),
9314            12 => Some(EPaymentMethod::Yandex),
9315            13 => Some(EPaymentMethod::Kiosk),
9316            14 => Some(EPaymentMethod::Qiwi),
9317            15 => Some(EPaymentMethod::GameStop),
9318            16 => Some(EPaymentMethod::HardwarePromo),
9319            17 => Some(EPaymentMethod::MoPay),
9320            18 => Some(EPaymentMethod::BoletoBancario),
9321            19 => Some(EPaymentMethod::BoaCompraGold),
9322            20 => Some(EPaymentMethod::BancoDoBrasilOnline),
9323            21 => Some(EPaymentMethod::ItauOnline),
9324            22 => Some(EPaymentMethod::BradescoOnline),
9325            23 => Some(EPaymentMethod::Pagseguro),
9326            24 => Some(EPaymentMethod::VisaBrazil),
9327            25 => Some(EPaymentMethod::AmexBrazil),
9328            26 => Some(EPaymentMethod::Aura),
9329            27 => Some(EPaymentMethod::Hipercard),
9330            28 => Some(EPaymentMethod::MastercardBrazil),
9331            29 => Some(EPaymentMethod::DinersCardBrazil),
9332            30 => Some(EPaymentMethod::AuthorizedDevice),
9333            31 => Some(EPaymentMethod::MOLPoints),
9334            32 => Some(EPaymentMethod::ClickAndBuy),
9335            33 => Some(EPaymentMethod::Beeline),
9336            34 => Some(EPaymentMethod::Konbini),
9337            35 => Some(EPaymentMethod::EClubPoints),
9338            36 => Some(EPaymentMethod::CreditCardJapan),
9339            37 => Some(EPaymentMethod::BankTransferJapan),
9340            38 => Some(EPaymentMethod::PayEasy),
9341            39 => Some(EPaymentMethod::Zong),
9342            40 => Some(EPaymentMethod::CultureVoucher),
9343            41 => Some(EPaymentMethod::BookVoucher),
9344            42 => Some(EPaymentMethod::HappymoneyVoucher),
9345            43 => Some(EPaymentMethod::ConvenientStoreVoucher),
9346            44 => Some(EPaymentMethod::GameVoucher),
9347            45 => Some(EPaymentMethod::Multibanco),
9348            46 => Some(EPaymentMethod::Payshop),
9349            47 => Some(EPaymentMethod::MaestroBoaCompra),
9350            48 => Some(EPaymentMethod::OXXO),
9351            49 => Some(EPaymentMethod::ToditoCash),
9352            50 => Some(EPaymentMethod::Carnet),
9353            51 => Some(EPaymentMethod::SPEI),
9354            52 => Some(EPaymentMethod::ThreePay),
9355            53 => Some(EPaymentMethod::IsBank),
9356            54 => Some(EPaymentMethod::Garanti),
9357            55 => Some(EPaymentMethod::Akbank),
9358            56 => Some(EPaymentMethod::YapiKredi),
9359            57 => Some(EPaymentMethod::Halkbank),
9360            58 => Some(EPaymentMethod::BankAsya),
9361            59 => Some(EPaymentMethod::Finansbank),
9362            60 => Some(EPaymentMethod::DenizBank),
9363            61 => Some(EPaymentMethod::PTT),
9364            62 => Some(EPaymentMethod::CashU),
9365            63 => Some(EPaymentMethod::SantanderRio),
9366            64 => Some(EPaymentMethod::AutoGrant),
9367            65 => Some(EPaymentMethod::WebMoneyJapan),
9368            66 => Some(EPaymentMethod::OneCard),
9369            67 => Some(EPaymentMethod::PSE),
9370            68 => Some(EPaymentMethod::Exito),
9371            69 => Some(EPaymentMethod::Efecty),
9372            70 => Some(EPaymentMethod::Paloto),
9373            71 => Some(EPaymentMethod::PinValidda),
9374            72 => Some(EPaymentMethod::MangirKart),
9375            73 => Some(EPaymentMethod::BancoCreditoDePeru),
9376            74 => Some(EPaymentMethod::BBVAContinental),
9377            75 => Some(EPaymentMethod::SafetyPay),
9378            76 => Some(EPaymentMethod::PagoEfectivo),
9379            77 => Some(EPaymentMethod::Trustly),
9380            78 => Some(EPaymentMethod::UnionPay),
9381            79 => Some(EPaymentMethod::BitCoin),
9382            80 => Some(EPaymentMethod::LicensedSite),
9383            81 => Some(EPaymentMethod::BitCash),
9384            82 => Some(EPaymentMethod::NetCash),
9385            83 => Some(EPaymentMethod::Nanaco),
9386            84 => Some(EPaymentMethod::Tenpay),
9387            85 => Some(EPaymentMethod::WeChat),
9388            86 => Some(EPaymentMethod::CashonDelivery),
9389            87 => Some(EPaymentMethod::CreditCardNodwin),
9390            88 => Some(EPaymentMethod::DebitCardNodwin),
9391            89 => Some(EPaymentMethod::NetBankingNodwin),
9392            90 => Some(EPaymentMethod::CashCardNodwin),
9393            91 => Some(EPaymentMethod::WalletNodwin),
9394            92 => Some(EPaymentMethod::MobileDegica),
9395            93 => Some(EPaymentMethod::Naranja),
9396            94 => Some(EPaymentMethod::Cencosud),
9397            95 => Some(EPaymentMethod::Cabal),
9398            96 => Some(EPaymentMethod::PagoFacil),
9399            97 => Some(EPaymentMethod::Rapipago),
9400            98 => Some(EPaymentMethod::BancoNacionaldeCostaRica),
9401            99 => Some(EPaymentMethod::BancoPoplar),
9402            100 => Some(EPaymentMethod::RedPagos),
9403            101 => Some(EPaymentMethod::SPE),
9404            102 => Some(EPaymentMethod::Multicaja),
9405            103 => Some(EPaymentMethod::RedCompra),
9406            104 => Some(EPaymentMethod::ZiraatBank),
9407            105 => Some(EPaymentMethod::VakiflarBank),
9408            106 => Some(EPaymentMethod::KuveytTurkBank),
9409            107 => Some(EPaymentMethod::EkonomiBank),
9410            108 => Some(EPaymentMethod::Pichincha),
9411            109 => Some(EPaymentMethod::PichinchaCash),
9412            110 => Some(EPaymentMethod::Przelewy24),
9413            111 => Some(EPaymentMethod::Trustpay),
9414            112 => Some(EPaymentMethod::POLi),
9415            113 => Some(EPaymentMethod::MercadoPago),
9416            114 => Some(EPaymentMethod::PayU),
9417            115 => Some(EPaymentMethod::VTCPayWallet),
9418            116 => Some(EPaymentMethod::MrCash),
9419            117 => Some(EPaymentMethod::EPS),
9420            118 => Some(EPaymentMethod::Interac),
9421            119 => Some(EPaymentMethod::VTCPayCards),
9422            120 => Some(EPaymentMethod::VTCPayOnlineBanking),
9423            121 => Some(EPaymentMethod::VisaElectronBoaCompra),
9424            122 => Some(EPaymentMethod::CafeFunded),
9425            123 => Some(EPaymentMethod::OCA),
9426            124 => Some(EPaymentMethod::Lider),
9427            125 => Some(EPaymentMethod::WebMoneySteamCardJapan),
9428            126 => Some(EPaymentMethod::WebMoneySteamCardTopUpJapan),
9429            127 => Some(EPaymentMethod::Toss),
9430            128 => Some(EPaymentMethod::Wallet),
9431            129 => Some(EPaymentMethod::Valve),
9432            130 => Some(EPaymentMethod::MasterComp),
9433            131 => Some(EPaymentMethod::Promotional),
9434            134 => Some(EPaymentMethod::MasterSubscription),
9435            135 => Some(EPaymentMethod::Payco),
9436            136 => Some(EPaymentMethod::MobileWalletJapan),
9437            137 => Some(EPaymentMethod::BoletoFlash),
9438            138 => Some(EPaymentMethod::PIX),
9439            139 => Some(EPaymentMethod::GCash),
9440            140 => Some(EPaymentMethod::KakaoPay),
9441            141 => Some(EPaymentMethod::Dana),
9442            142 => Some(EPaymentMethod::TrueMoney),
9443            143 => Some(EPaymentMethod::TouchnGo),
9444            144 => Some(EPaymentMethod::LinePay),
9445            145 => Some(EPaymentMethod::MerPay),
9446            146 => Some(EPaymentMethod::PayPay),
9447            147 => Some(EPaymentMethod::AlfaClick),
9448            148 => Some(EPaymentMethod::Sberbank),
9449            149 => Some(EPaymentMethod::YooMoney),
9450            150 => Some(EPaymentMethod::Tinkoff),
9451            151 => Some(EPaymentMethod::CashInCIS),
9452            152 => Some(EPaymentMethod::AuPAY),
9453            153 => Some(EPaymentMethod::AliPayHK),
9454            154 => Some(EPaymentMethod::NaverPay),
9455            155 => Some(EPaymentMethod::Linkaja),
9456            156 => Some(EPaymentMethod::ShopeePay),
9457            157 => Some(EPaymentMethod::GrabPay),
9458            158 => Some(EPaymentMethod::PayNow),
9459            159 => Some(EPaymentMethod::OnlineBankingThailand),
9460            160 => Some(EPaymentMethod::CashOptionsThailand),
9461            256 => Some(EPaymentMethod::OEMTicket),
9462            512 => Some(EPaymentMethod::Split),
9463            1024 => Some(EPaymentMethod::Complimentary),
9464            1025 => Some(EPaymentMethod::FamilyGroup),
9465            _ => None,
9466        }
9467    }
9468}
9469
9470impl TryFrom<i32> for EPaymentMethod {
9471    type Error = UnknownEnumValue;
9472
9473    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
9474        Self::from_value(value).ok_or(UnknownEnumValue::new("EPaymentMethod", value as i128))
9475    }
9476}
9477
9478#[allow(deprecated)]
9479impl TryFrom<u32> for EPaymentMethod {
9480    type Error = UnknownEnumValue;
9481
9482    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
9483        match value {
9484            0 => Some(EPaymentMethod::None),
9485            1 => Some(EPaymentMethod::ActivationCode),
9486            2 => Some(EPaymentMethod::CreditCard),
9487            3 => Some(EPaymentMethod::Giropay),
9488            4 => Some(EPaymentMethod::PayPal),
9489            5 => Some(EPaymentMethod::Ideal),
9490            6 => Some(EPaymentMethod::PaySafeCard),
9491            7 => Some(EPaymentMethod::Sofort),
9492            8 => Some(EPaymentMethod::GuestPass),
9493            9 => Some(EPaymentMethod::WebMoney),
9494            10 => Some(EPaymentMethod::MoneyBookers),
9495            11 => Some(EPaymentMethod::AliPay),
9496            12 => Some(EPaymentMethod::Yandex),
9497            13 => Some(EPaymentMethod::Kiosk),
9498            14 => Some(EPaymentMethod::Qiwi),
9499            15 => Some(EPaymentMethod::GameStop),
9500            16 => Some(EPaymentMethod::HardwarePromo),
9501            17 => Some(EPaymentMethod::MoPay),
9502            18 => Some(EPaymentMethod::BoletoBancario),
9503            19 => Some(EPaymentMethod::BoaCompraGold),
9504            20 => Some(EPaymentMethod::BancoDoBrasilOnline),
9505            21 => Some(EPaymentMethod::ItauOnline),
9506            22 => Some(EPaymentMethod::BradescoOnline),
9507            23 => Some(EPaymentMethod::Pagseguro),
9508            24 => Some(EPaymentMethod::VisaBrazil),
9509            25 => Some(EPaymentMethod::AmexBrazil),
9510            26 => Some(EPaymentMethod::Aura),
9511            27 => Some(EPaymentMethod::Hipercard),
9512            28 => Some(EPaymentMethod::MastercardBrazil),
9513            29 => Some(EPaymentMethod::DinersCardBrazil),
9514            30 => Some(EPaymentMethod::AuthorizedDevice),
9515            31 => Some(EPaymentMethod::MOLPoints),
9516            32 => Some(EPaymentMethod::ClickAndBuy),
9517            33 => Some(EPaymentMethod::Beeline),
9518            34 => Some(EPaymentMethod::Konbini),
9519            35 => Some(EPaymentMethod::EClubPoints),
9520            36 => Some(EPaymentMethod::CreditCardJapan),
9521            37 => Some(EPaymentMethod::BankTransferJapan),
9522            38 => Some(EPaymentMethod::PayEasy),
9523            39 => Some(EPaymentMethod::Zong),
9524            40 => Some(EPaymentMethod::CultureVoucher),
9525            41 => Some(EPaymentMethod::BookVoucher),
9526            42 => Some(EPaymentMethod::HappymoneyVoucher),
9527            43 => Some(EPaymentMethod::ConvenientStoreVoucher),
9528            44 => Some(EPaymentMethod::GameVoucher),
9529            45 => Some(EPaymentMethod::Multibanco),
9530            46 => Some(EPaymentMethod::Payshop),
9531            47 => Some(EPaymentMethod::MaestroBoaCompra),
9532            48 => Some(EPaymentMethod::OXXO),
9533            49 => Some(EPaymentMethod::ToditoCash),
9534            50 => Some(EPaymentMethod::Carnet),
9535            51 => Some(EPaymentMethod::SPEI),
9536            52 => Some(EPaymentMethod::ThreePay),
9537            53 => Some(EPaymentMethod::IsBank),
9538            54 => Some(EPaymentMethod::Garanti),
9539            55 => Some(EPaymentMethod::Akbank),
9540            56 => Some(EPaymentMethod::YapiKredi),
9541            57 => Some(EPaymentMethod::Halkbank),
9542            58 => Some(EPaymentMethod::BankAsya),
9543            59 => Some(EPaymentMethod::Finansbank),
9544            60 => Some(EPaymentMethod::DenizBank),
9545            61 => Some(EPaymentMethod::PTT),
9546            62 => Some(EPaymentMethod::CashU),
9547            63 => Some(EPaymentMethod::SantanderRio),
9548            64 => Some(EPaymentMethod::AutoGrant),
9549            65 => Some(EPaymentMethod::WebMoneyJapan),
9550            66 => Some(EPaymentMethod::OneCard),
9551            67 => Some(EPaymentMethod::PSE),
9552            68 => Some(EPaymentMethod::Exito),
9553            69 => Some(EPaymentMethod::Efecty),
9554            70 => Some(EPaymentMethod::Paloto),
9555            71 => Some(EPaymentMethod::PinValidda),
9556            72 => Some(EPaymentMethod::MangirKart),
9557            73 => Some(EPaymentMethod::BancoCreditoDePeru),
9558            74 => Some(EPaymentMethod::BBVAContinental),
9559            75 => Some(EPaymentMethod::SafetyPay),
9560            76 => Some(EPaymentMethod::PagoEfectivo),
9561            77 => Some(EPaymentMethod::Trustly),
9562            78 => Some(EPaymentMethod::UnionPay),
9563            79 => Some(EPaymentMethod::BitCoin),
9564            80 => Some(EPaymentMethod::LicensedSite),
9565            81 => Some(EPaymentMethod::BitCash),
9566            82 => Some(EPaymentMethod::NetCash),
9567            83 => Some(EPaymentMethod::Nanaco),
9568            84 => Some(EPaymentMethod::Tenpay),
9569            85 => Some(EPaymentMethod::WeChat),
9570            86 => Some(EPaymentMethod::CashonDelivery),
9571            87 => Some(EPaymentMethod::CreditCardNodwin),
9572            88 => Some(EPaymentMethod::DebitCardNodwin),
9573            89 => Some(EPaymentMethod::NetBankingNodwin),
9574            90 => Some(EPaymentMethod::CashCardNodwin),
9575            91 => Some(EPaymentMethod::WalletNodwin),
9576            92 => Some(EPaymentMethod::MobileDegica),
9577            93 => Some(EPaymentMethod::Naranja),
9578            94 => Some(EPaymentMethod::Cencosud),
9579            95 => Some(EPaymentMethod::Cabal),
9580            96 => Some(EPaymentMethod::PagoFacil),
9581            97 => Some(EPaymentMethod::Rapipago),
9582            98 => Some(EPaymentMethod::BancoNacionaldeCostaRica),
9583            99 => Some(EPaymentMethod::BancoPoplar),
9584            100 => Some(EPaymentMethod::RedPagos),
9585            101 => Some(EPaymentMethod::SPE),
9586            102 => Some(EPaymentMethod::Multicaja),
9587            103 => Some(EPaymentMethod::RedCompra),
9588            104 => Some(EPaymentMethod::ZiraatBank),
9589            105 => Some(EPaymentMethod::VakiflarBank),
9590            106 => Some(EPaymentMethod::KuveytTurkBank),
9591            107 => Some(EPaymentMethod::EkonomiBank),
9592            108 => Some(EPaymentMethod::Pichincha),
9593            109 => Some(EPaymentMethod::PichinchaCash),
9594            110 => Some(EPaymentMethod::Przelewy24),
9595            111 => Some(EPaymentMethod::Trustpay),
9596            112 => Some(EPaymentMethod::POLi),
9597            113 => Some(EPaymentMethod::MercadoPago),
9598            114 => Some(EPaymentMethod::PayU),
9599            115 => Some(EPaymentMethod::VTCPayWallet),
9600            116 => Some(EPaymentMethod::MrCash),
9601            117 => Some(EPaymentMethod::EPS),
9602            118 => Some(EPaymentMethod::Interac),
9603            119 => Some(EPaymentMethod::VTCPayCards),
9604            120 => Some(EPaymentMethod::VTCPayOnlineBanking),
9605            121 => Some(EPaymentMethod::VisaElectronBoaCompra),
9606            122 => Some(EPaymentMethod::CafeFunded),
9607            123 => Some(EPaymentMethod::OCA),
9608            124 => Some(EPaymentMethod::Lider),
9609            125 => Some(EPaymentMethod::WebMoneySteamCardJapan),
9610            126 => Some(EPaymentMethod::WebMoneySteamCardTopUpJapan),
9611            127 => Some(EPaymentMethod::Toss),
9612            128 => Some(EPaymentMethod::Wallet),
9613            129 => Some(EPaymentMethod::Valve),
9614            130 => Some(EPaymentMethod::MasterComp),
9615            131 => Some(EPaymentMethod::Promotional),
9616            134 => Some(EPaymentMethod::MasterSubscription),
9617            135 => Some(EPaymentMethod::Payco),
9618            136 => Some(EPaymentMethod::MobileWalletJapan),
9619            137 => Some(EPaymentMethod::BoletoFlash),
9620            138 => Some(EPaymentMethod::PIX),
9621            139 => Some(EPaymentMethod::GCash),
9622            140 => Some(EPaymentMethod::KakaoPay),
9623            141 => Some(EPaymentMethod::Dana),
9624            142 => Some(EPaymentMethod::TrueMoney),
9625            143 => Some(EPaymentMethod::TouchnGo),
9626            144 => Some(EPaymentMethod::LinePay),
9627            145 => Some(EPaymentMethod::MerPay),
9628            146 => Some(EPaymentMethod::PayPay),
9629            147 => Some(EPaymentMethod::AlfaClick),
9630            148 => Some(EPaymentMethod::Sberbank),
9631            149 => Some(EPaymentMethod::YooMoney),
9632            150 => Some(EPaymentMethod::Tinkoff),
9633            151 => Some(EPaymentMethod::CashInCIS),
9634            152 => Some(EPaymentMethod::AuPAY),
9635            153 => Some(EPaymentMethod::AliPayHK),
9636            154 => Some(EPaymentMethod::NaverPay),
9637            155 => Some(EPaymentMethod::Linkaja),
9638            156 => Some(EPaymentMethod::ShopeePay),
9639            157 => Some(EPaymentMethod::GrabPay),
9640            158 => Some(EPaymentMethod::PayNow),
9641            159 => Some(EPaymentMethod::OnlineBankingThailand),
9642            160 => Some(EPaymentMethod::CashOptionsThailand),
9643            256 => Some(EPaymentMethod::OEMTicket),
9644            512 => Some(EPaymentMethod::Split),
9645            1024 => Some(EPaymentMethod::Complimentary),
9646            1025 => Some(EPaymentMethod::FamilyGroup),
9647            _ => None,
9648        }
9649        .ok_or(UnknownEnumValue::new("EPaymentMethod", value as i128))
9650    }
9651}
9652
9653impl From<EPaymentMethod> for i32 {
9654    fn from(value: EPaymentMethod) -> i32 {
9655        value as i32
9656    }
9657}
9658
9659/// The `EPurchaseResultDetail` enumeration.
9660///
9661/// Source: `lang/steammsg.steamd`.
9662#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
9663#[repr(i32)]
9664pub enum EPurchaseResultDetail {
9665    NoDetail = 0,
9666    AVSFailure = 1,
9667    InsufficientFunds = 2,
9668    ContactSupport = 3,
9669    Timeout = 4,
9670    InvalidPackage = 5,
9671    InvalidPaymentMethod = 6,
9672    InvalidData = 7,
9673    OthersInProgress = 8,
9674    AlreadyPurchased = 9,
9675    WrongPrice = 10,
9676    FraudCheckFailed = 11,
9677    CancelledByUser = 12,
9678    RestrictedCountry = 13,
9679    BadActivationCode = 14,
9680    DuplicateActivationCode = 15,
9681    UseOtherPaymentMethod = 16,
9682    UseOtherFunctionSource = 17,
9683    InvalidShippingAddress = 18,
9684    RegionNotSupported = 19,
9685    AcctIsBlocked = 20,
9686    AcctNotVerified = 21,
9687    InvalidAccount = 22,
9688    StoreBillingCountryMismatch = 23,
9689    DoesNotOwnRequiredApp = 24,
9690    CanceledByNewTransaction = 25,
9691    ForceCanceledPending = 26,
9692    FailCurrencyTransProvider = 27,
9693    FailedCyberCafe = 28,
9694    NeedsPreApproval = 29,
9695    PreApprovalDenied = 30,
9696    WalletCurrencyMismatch = 31,
9697    EmailNotValidated = 32,
9698    ExpiredCard = 33,
9699    TransactionExpired = 34,
9700    WouldExceedMaxWallet = 35,
9701    MustLoginPS3AppForPurchase = 36,
9702    CannotShipToPOBox = 37,
9703    InsufficientInventory = 38,
9704    CannotGiftShippedGoods = 39,
9705    CannotShipInternationally = 40,
9706    BillingAgreementCancelled = 41,
9707    InvalidCoupon = 42,
9708    ExpiredCoupon = 43,
9709    AccountLocked = 44,
9710    OtherAbortableInProgress = 45,
9711    ExceededSteamLimit = 46,
9712    OverlappingPackagesInCart = 47,
9713    NoWallet = 48,
9714    NoCachedPaymentMethod = 49,
9715    CannotRedeemCodeFromClient = 50,
9716    PurchaseAmountNoSupportedByProvider = 51,
9717    OverlappingPackagesInPendingTransaction = 52,
9718    RateLimited = 53,
9719    OwnsExcludedApp = 54,
9720    CreditCardBinMismatchesType = 55,
9721    CartValueTooHigh = 56,
9722    BillingAgreementAlreadyExists = 57,
9723    POSACodeNotActivated = 58,
9724    CannotShipToCountry = 59,
9725    HungTransactionCancelled = 60,
9726    PaypalInternalError = 61,
9727    UnknownGlobalCollectError = 62,
9728    InvalidTaxAddress = 63,
9729    PhysicalProductLimitExceeded = 64,
9730    PurchaseCannotBeReplayed = 65,
9731    DelayedCompletion = 66,
9732    BundleTypeCannotBeGifted = 67,
9733    BlockedByUSGov = 68,
9734    ItemsReservedForCommercialUse = 69,
9735    GiftAlreadyOwned = 70,
9736    GiftInvalidForRecipientRegion = 71,
9737    GiftPricingImbalance = 72,
9738    GiftRecipientNotSpecified = 73,
9739    ItemsNotAllowedForCommercialUse = 74,
9740    BusinessStoreCountryCodeMismatch = 75,
9741    UserAssociatedWithManyCafes = 76,
9742    UserNotAssociatedWithCafe = 77,
9743    AddressInvalid = 78,
9744    CreditCardNumberInvalid = 79,
9745    CannotShipToMilitaryPostOffice = 80,
9746    BillingNameInvalidResemblesCreditCard = 81,
9747    PaymentMethodTemporarilyUnavailable = 82,
9748    PaymentMethodNotSupportedForProduct = 83,
9749}
9750
9751#[allow(deprecated)]
9752impl EPurchaseResultDetail {
9753    /// Every variant of `EPurchaseResultDetail`.
9754    pub const ALL: &'static [EPurchaseResultDetail] = &[
9755        EPurchaseResultDetail::NoDetail,
9756        EPurchaseResultDetail::AVSFailure,
9757        EPurchaseResultDetail::InsufficientFunds,
9758        EPurchaseResultDetail::ContactSupport,
9759        EPurchaseResultDetail::Timeout,
9760        EPurchaseResultDetail::InvalidPackage,
9761        EPurchaseResultDetail::InvalidPaymentMethod,
9762        EPurchaseResultDetail::InvalidData,
9763        EPurchaseResultDetail::OthersInProgress,
9764        EPurchaseResultDetail::AlreadyPurchased,
9765        EPurchaseResultDetail::WrongPrice,
9766        EPurchaseResultDetail::FraudCheckFailed,
9767        EPurchaseResultDetail::CancelledByUser,
9768        EPurchaseResultDetail::RestrictedCountry,
9769        EPurchaseResultDetail::BadActivationCode,
9770        EPurchaseResultDetail::DuplicateActivationCode,
9771        EPurchaseResultDetail::UseOtherPaymentMethod,
9772        EPurchaseResultDetail::UseOtherFunctionSource,
9773        EPurchaseResultDetail::InvalidShippingAddress,
9774        EPurchaseResultDetail::RegionNotSupported,
9775        EPurchaseResultDetail::AcctIsBlocked,
9776        EPurchaseResultDetail::AcctNotVerified,
9777        EPurchaseResultDetail::InvalidAccount,
9778        EPurchaseResultDetail::StoreBillingCountryMismatch,
9779        EPurchaseResultDetail::DoesNotOwnRequiredApp,
9780        EPurchaseResultDetail::CanceledByNewTransaction,
9781        EPurchaseResultDetail::ForceCanceledPending,
9782        EPurchaseResultDetail::FailCurrencyTransProvider,
9783        EPurchaseResultDetail::FailedCyberCafe,
9784        EPurchaseResultDetail::NeedsPreApproval,
9785        EPurchaseResultDetail::PreApprovalDenied,
9786        EPurchaseResultDetail::WalletCurrencyMismatch,
9787        EPurchaseResultDetail::EmailNotValidated,
9788        EPurchaseResultDetail::ExpiredCard,
9789        EPurchaseResultDetail::TransactionExpired,
9790        EPurchaseResultDetail::WouldExceedMaxWallet,
9791        EPurchaseResultDetail::MustLoginPS3AppForPurchase,
9792        EPurchaseResultDetail::CannotShipToPOBox,
9793        EPurchaseResultDetail::InsufficientInventory,
9794        EPurchaseResultDetail::CannotGiftShippedGoods,
9795        EPurchaseResultDetail::CannotShipInternationally,
9796        EPurchaseResultDetail::BillingAgreementCancelled,
9797        EPurchaseResultDetail::InvalidCoupon,
9798        EPurchaseResultDetail::ExpiredCoupon,
9799        EPurchaseResultDetail::AccountLocked,
9800        EPurchaseResultDetail::OtherAbortableInProgress,
9801        EPurchaseResultDetail::ExceededSteamLimit,
9802        EPurchaseResultDetail::OverlappingPackagesInCart,
9803        EPurchaseResultDetail::NoWallet,
9804        EPurchaseResultDetail::NoCachedPaymentMethod,
9805        EPurchaseResultDetail::CannotRedeemCodeFromClient,
9806        EPurchaseResultDetail::PurchaseAmountNoSupportedByProvider,
9807        EPurchaseResultDetail::OverlappingPackagesInPendingTransaction,
9808        EPurchaseResultDetail::RateLimited,
9809        EPurchaseResultDetail::OwnsExcludedApp,
9810        EPurchaseResultDetail::CreditCardBinMismatchesType,
9811        EPurchaseResultDetail::CartValueTooHigh,
9812        EPurchaseResultDetail::BillingAgreementAlreadyExists,
9813        EPurchaseResultDetail::POSACodeNotActivated,
9814        EPurchaseResultDetail::CannotShipToCountry,
9815        EPurchaseResultDetail::HungTransactionCancelled,
9816        EPurchaseResultDetail::PaypalInternalError,
9817        EPurchaseResultDetail::UnknownGlobalCollectError,
9818        EPurchaseResultDetail::InvalidTaxAddress,
9819        EPurchaseResultDetail::PhysicalProductLimitExceeded,
9820        EPurchaseResultDetail::PurchaseCannotBeReplayed,
9821        EPurchaseResultDetail::DelayedCompletion,
9822        EPurchaseResultDetail::BundleTypeCannotBeGifted,
9823        EPurchaseResultDetail::BlockedByUSGov,
9824        EPurchaseResultDetail::ItemsReservedForCommercialUse,
9825        EPurchaseResultDetail::GiftAlreadyOwned,
9826        EPurchaseResultDetail::GiftInvalidForRecipientRegion,
9827        EPurchaseResultDetail::GiftPricingImbalance,
9828        EPurchaseResultDetail::GiftRecipientNotSpecified,
9829        EPurchaseResultDetail::ItemsNotAllowedForCommercialUse,
9830        EPurchaseResultDetail::BusinessStoreCountryCodeMismatch,
9831        EPurchaseResultDetail::UserAssociatedWithManyCafes,
9832        EPurchaseResultDetail::UserNotAssociatedWithCafe,
9833        EPurchaseResultDetail::AddressInvalid,
9834        EPurchaseResultDetail::CreditCardNumberInvalid,
9835        EPurchaseResultDetail::CannotShipToMilitaryPostOffice,
9836        EPurchaseResultDetail::BillingNameInvalidResemblesCreditCard,
9837        EPurchaseResultDetail::PaymentMethodTemporarilyUnavailable,
9838        EPurchaseResultDetail::PaymentMethodNotSupportedForProduct,
9839    ];
9840
9841    /// The numeric value of this variant.
9842    pub const fn value(self) -> i32 {
9843        self as i32
9844    }
9845
9846    /// Builds a variant from its numeric value.
9847    ///
9848    /// When several variants share a value, the first declared one is returned.
9849    pub fn from_value(value: i32) -> Option<Self> {
9850        match value {
9851            0 => Some(EPurchaseResultDetail::NoDetail),
9852            1 => Some(EPurchaseResultDetail::AVSFailure),
9853            2 => Some(EPurchaseResultDetail::InsufficientFunds),
9854            3 => Some(EPurchaseResultDetail::ContactSupport),
9855            4 => Some(EPurchaseResultDetail::Timeout),
9856            5 => Some(EPurchaseResultDetail::InvalidPackage),
9857            6 => Some(EPurchaseResultDetail::InvalidPaymentMethod),
9858            7 => Some(EPurchaseResultDetail::InvalidData),
9859            8 => Some(EPurchaseResultDetail::OthersInProgress),
9860            9 => Some(EPurchaseResultDetail::AlreadyPurchased),
9861            10 => Some(EPurchaseResultDetail::WrongPrice),
9862            11 => Some(EPurchaseResultDetail::FraudCheckFailed),
9863            12 => Some(EPurchaseResultDetail::CancelledByUser),
9864            13 => Some(EPurchaseResultDetail::RestrictedCountry),
9865            14 => Some(EPurchaseResultDetail::BadActivationCode),
9866            15 => Some(EPurchaseResultDetail::DuplicateActivationCode),
9867            16 => Some(EPurchaseResultDetail::UseOtherPaymentMethod),
9868            17 => Some(EPurchaseResultDetail::UseOtherFunctionSource),
9869            18 => Some(EPurchaseResultDetail::InvalidShippingAddress),
9870            19 => Some(EPurchaseResultDetail::RegionNotSupported),
9871            20 => Some(EPurchaseResultDetail::AcctIsBlocked),
9872            21 => Some(EPurchaseResultDetail::AcctNotVerified),
9873            22 => Some(EPurchaseResultDetail::InvalidAccount),
9874            23 => Some(EPurchaseResultDetail::StoreBillingCountryMismatch),
9875            24 => Some(EPurchaseResultDetail::DoesNotOwnRequiredApp),
9876            25 => Some(EPurchaseResultDetail::CanceledByNewTransaction),
9877            26 => Some(EPurchaseResultDetail::ForceCanceledPending),
9878            27 => Some(EPurchaseResultDetail::FailCurrencyTransProvider),
9879            28 => Some(EPurchaseResultDetail::FailedCyberCafe),
9880            29 => Some(EPurchaseResultDetail::NeedsPreApproval),
9881            30 => Some(EPurchaseResultDetail::PreApprovalDenied),
9882            31 => Some(EPurchaseResultDetail::WalletCurrencyMismatch),
9883            32 => Some(EPurchaseResultDetail::EmailNotValidated),
9884            33 => Some(EPurchaseResultDetail::ExpiredCard),
9885            34 => Some(EPurchaseResultDetail::TransactionExpired),
9886            35 => Some(EPurchaseResultDetail::WouldExceedMaxWallet),
9887            36 => Some(EPurchaseResultDetail::MustLoginPS3AppForPurchase),
9888            37 => Some(EPurchaseResultDetail::CannotShipToPOBox),
9889            38 => Some(EPurchaseResultDetail::InsufficientInventory),
9890            39 => Some(EPurchaseResultDetail::CannotGiftShippedGoods),
9891            40 => Some(EPurchaseResultDetail::CannotShipInternationally),
9892            41 => Some(EPurchaseResultDetail::BillingAgreementCancelled),
9893            42 => Some(EPurchaseResultDetail::InvalidCoupon),
9894            43 => Some(EPurchaseResultDetail::ExpiredCoupon),
9895            44 => Some(EPurchaseResultDetail::AccountLocked),
9896            45 => Some(EPurchaseResultDetail::OtherAbortableInProgress),
9897            46 => Some(EPurchaseResultDetail::ExceededSteamLimit),
9898            47 => Some(EPurchaseResultDetail::OverlappingPackagesInCart),
9899            48 => Some(EPurchaseResultDetail::NoWallet),
9900            49 => Some(EPurchaseResultDetail::NoCachedPaymentMethod),
9901            50 => Some(EPurchaseResultDetail::CannotRedeemCodeFromClient),
9902            51 => Some(EPurchaseResultDetail::PurchaseAmountNoSupportedByProvider),
9903            52 => Some(EPurchaseResultDetail::OverlappingPackagesInPendingTransaction),
9904            53 => Some(EPurchaseResultDetail::RateLimited),
9905            54 => Some(EPurchaseResultDetail::OwnsExcludedApp),
9906            55 => Some(EPurchaseResultDetail::CreditCardBinMismatchesType),
9907            56 => Some(EPurchaseResultDetail::CartValueTooHigh),
9908            57 => Some(EPurchaseResultDetail::BillingAgreementAlreadyExists),
9909            58 => Some(EPurchaseResultDetail::POSACodeNotActivated),
9910            59 => Some(EPurchaseResultDetail::CannotShipToCountry),
9911            60 => Some(EPurchaseResultDetail::HungTransactionCancelled),
9912            61 => Some(EPurchaseResultDetail::PaypalInternalError),
9913            62 => Some(EPurchaseResultDetail::UnknownGlobalCollectError),
9914            63 => Some(EPurchaseResultDetail::InvalidTaxAddress),
9915            64 => Some(EPurchaseResultDetail::PhysicalProductLimitExceeded),
9916            65 => Some(EPurchaseResultDetail::PurchaseCannotBeReplayed),
9917            66 => Some(EPurchaseResultDetail::DelayedCompletion),
9918            67 => Some(EPurchaseResultDetail::BundleTypeCannotBeGifted),
9919            68 => Some(EPurchaseResultDetail::BlockedByUSGov),
9920            69 => Some(EPurchaseResultDetail::ItemsReservedForCommercialUse),
9921            70 => Some(EPurchaseResultDetail::GiftAlreadyOwned),
9922            71 => Some(EPurchaseResultDetail::GiftInvalidForRecipientRegion),
9923            72 => Some(EPurchaseResultDetail::GiftPricingImbalance),
9924            73 => Some(EPurchaseResultDetail::GiftRecipientNotSpecified),
9925            74 => Some(EPurchaseResultDetail::ItemsNotAllowedForCommercialUse),
9926            75 => Some(EPurchaseResultDetail::BusinessStoreCountryCodeMismatch),
9927            76 => Some(EPurchaseResultDetail::UserAssociatedWithManyCafes),
9928            77 => Some(EPurchaseResultDetail::UserNotAssociatedWithCafe),
9929            78 => Some(EPurchaseResultDetail::AddressInvalid),
9930            79 => Some(EPurchaseResultDetail::CreditCardNumberInvalid),
9931            80 => Some(EPurchaseResultDetail::CannotShipToMilitaryPostOffice),
9932            81 => Some(EPurchaseResultDetail::BillingNameInvalidResemblesCreditCard),
9933            82 => Some(EPurchaseResultDetail::PaymentMethodTemporarilyUnavailable),
9934            83 => Some(EPurchaseResultDetail::PaymentMethodNotSupportedForProduct),
9935            _ => None,
9936        }
9937    }
9938}
9939
9940impl TryFrom<i32> for EPurchaseResultDetail {
9941    type Error = UnknownEnumValue;
9942
9943    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
9944        Self::from_value(value).ok_or(UnknownEnumValue::new("EPurchaseResultDetail", value as i128))
9945    }
9946}
9947
9948#[allow(deprecated)]
9949impl TryFrom<u32> for EPurchaseResultDetail {
9950    type Error = UnknownEnumValue;
9951
9952    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
9953        match value {
9954            0 => Some(EPurchaseResultDetail::NoDetail),
9955            1 => Some(EPurchaseResultDetail::AVSFailure),
9956            2 => Some(EPurchaseResultDetail::InsufficientFunds),
9957            3 => Some(EPurchaseResultDetail::ContactSupport),
9958            4 => Some(EPurchaseResultDetail::Timeout),
9959            5 => Some(EPurchaseResultDetail::InvalidPackage),
9960            6 => Some(EPurchaseResultDetail::InvalidPaymentMethod),
9961            7 => Some(EPurchaseResultDetail::InvalidData),
9962            8 => Some(EPurchaseResultDetail::OthersInProgress),
9963            9 => Some(EPurchaseResultDetail::AlreadyPurchased),
9964            10 => Some(EPurchaseResultDetail::WrongPrice),
9965            11 => Some(EPurchaseResultDetail::FraudCheckFailed),
9966            12 => Some(EPurchaseResultDetail::CancelledByUser),
9967            13 => Some(EPurchaseResultDetail::RestrictedCountry),
9968            14 => Some(EPurchaseResultDetail::BadActivationCode),
9969            15 => Some(EPurchaseResultDetail::DuplicateActivationCode),
9970            16 => Some(EPurchaseResultDetail::UseOtherPaymentMethod),
9971            17 => Some(EPurchaseResultDetail::UseOtherFunctionSource),
9972            18 => Some(EPurchaseResultDetail::InvalidShippingAddress),
9973            19 => Some(EPurchaseResultDetail::RegionNotSupported),
9974            20 => Some(EPurchaseResultDetail::AcctIsBlocked),
9975            21 => Some(EPurchaseResultDetail::AcctNotVerified),
9976            22 => Some(EPurchaseResultDetail::InvalidAccount),
9977            23 => Some(EPurchaseResultDetail::StoreBillingCountryMismatch),
9978            24 => Some(EPurchaseResultDetail::DoesNotOwnRequiredApp),
9979            25 => Some(EPurchaseResultDetail::CanceledByNewTransaction),
9980            26 => Some(EPurchaseResultDetail::ForceCanceledPending),
9981            27 => Some(EPurchaseResultDetail::FailCurrencyTransProvider),
9982            28 => Some(EPurchaseResultDetail::FailedCyberCafe),
9983            29 => Some(EPurchaseResultDetail::NeedsPreApproval),
9984            30 => Some(EPurchaseResultDetail::PreApprovalDenied),
9985            31 => Some(EPurchaseResultDetail::WalletCurrencyMismatch),
9986            32 => Some(EPurchaseResultDetail::EmailNotValidated),
9987            33 => Some(EPurchaseResultDetail::ExpiredCard),
9988            34 => Some(EPurchaseResultDetail::TransactionExpired),
9989            35 => Some(EPurchaseResultDetail::WouldExceedMaxWallet),
9990            36 => Some(EPurchaseResultDetail::MustLoginPS3AppForPurchase),
9991            37 => Some(EPurchaseResultDetail::CannotShipToPOBox),
9992            38 => Some(EPurchaseResultDetail::InsufficientInventory),
9993            39 => Some(EPurchaseResultDetail::CannotGiftShippedGoods),
9994            40 => Some(EPurchaseResultDetail::CannotShipInternationally),
9995            41 => Some(EPurchaseResultDetail::BillingAgreementCancelled),
9996            42 => Some(EPurchaseResultDetail::InvalidCoupon),
9997            43 => Some(EPurchaseResultDetail::ExpiredCoupon),
9998            44 => Some(EPurchaseResultDetail::AccountLocked),
9999            45 => Some(EPurchaseResultDetail::OtherAbortableInProgress),
10000            46 => Some(EPurchaseResultDetail::ExceededSteamLimit),
10001            47 => Some(EPurchaseResultDetail::OverlappingPackagesInCart),
10002            48 => Some(EPurchaseResultDetail::NoWallet),
10003            49 => Some(EPurchaseResultDetail::NoCachedPaymentMethod),
10004            50 => Some(EPurchaseResultDetail::CannotRedeemCodeFromClient),
10005            51 => Some(EPurchaseResultDetail::PurchaseAmountNoSupportedByProvider),
10006            52 => Some(EPurchaseResultDetail::OverlappingPackagesInPendingTransaction),
10007            53 => Some(EPurchaseResultDetail::RateLimited),
10008            54 => Some(EPurchaseResultDetail::OwnsExcludedApp),
10009            55 => Some(EPurchaseResultDetail::CreditCardBinMismatchesType),
10010            56 => Some(EPurchaseResultDetail::CartValueTooHigh),
10011            57 => Some(EPurchaseResultDetail::BillingAgreementAlreadyExists),
10012            58 => Some(EPurchaseResultDetail::POSACodeNotActivated),
10013            59 => Some(EPurchaseResultDetail::CannotShipToCountry),
10014            60 => Some(EPurchaseResultDetail::HungTransactionCancelled),
10015            61 => Some(EPurchaseResultDetail::PaypalInternalError),
10016            62 => Some(EPurchaseResultDetail::UnknownGlobalCollectError),
10017            63 => Some(EPurchaseResultDetail::InvalidTaxAddress),
10018            64 => Some(EPurchaseResultDetail::PhysicalProductLimitExceeded),
10019            65 => Some(EPurchaseResultDetail::PurchaseCannotBeReplayed),
10020            66 => Some(EPurchaseResultDetail::DelayedCompletion),
10021            67 => Some(EPurchaseResultDetail::BundleTypeCannotBeGifted),
10022            68 => Some(EPurchaseResultDetail::BlockedByUSGov),
10023            69 => Some(EPurchaseResultDetail::ItemsReservedForCommercialUse),
10024            70 => Some(EPurchaseResultDetail::GiftAlreadyOwned),
10025            71 => Some(EPurchaseResultDetail::GiftInvalidForRecipientRegion),
10026            72 => Some(EPurchaseResultDetail::GiftPricingImbalance),
10027            73 => Some(EPurchaseResultDetail::GiftRecipientNotSpecified),
10028            74 => Some(EPurchaseResultDetail::ItemsNotAllowedForCommercialUse),
10029            75 => Some(EPurchaseResultDetail::BusinessStoreCountryCodeMismatch),
10030            76 => Some(EPurchaseResultDetail::UserAssociatedWithManyCafes),
10031            77 => Some(EPurchaseResultDetail::UserNotAssociatedWithCafe),
10032            78 => Some(EPurchaseResultDetail::AddressInvalid),
10033            79 => Some(EPurchaseResultDetail::CreditCardNumberInvalid),
10034            80 => Some(EPurchaseResultDetail::CannotShipToMilitaryPostOffice),
10035            81 => Some(EPurchaseResultDetail::BillingNameInvalidResemblesCreditCard),
10036            82 => Some(EPurchaseResultDetail::PaymentMethodTemporarilyUnavailable),
10037            83 => Some(EPurchaseResultDetail::PaymentMethodNotSupportedForProduct),
10038            _ => None,
10039        }
10040        .ok_or(UnknownEnumValue::new("EPurchaseResultDetail", value as i128))
10041    }
10042}
10043
10044impl From<EPurchaseResultDetail> for i32 {
10045    fn from(value: EPurchaseResultDetail) -> i32 {
10046        value as i32
10047    }
10048}
10049
10050/// The `EIntroducerRouting` enumeration.
10051///
10052/// Source: `lang/steammsg.steamd`.
10053#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10054#[repr(i32)]
10055pub enum EIntroducerRouting {
10056    P2PVoiceChat = 1,
10057    P2PNetworking = 2,
10058}
10059
10060#[allow(deprecated)]
10061impl EIntroducerRouting {
10062    /// Every variant of `EIntroducerRouting`.
10063    pub const ALL: &'static [EIntroducerRouting] = &[
10064        EIntroducerRouting::P2PVoiceChat,
10065        EIntroducerRouting::P2PNetworking,
10066    ];
10067
10068    /// The numeric value of this variant.
10069    pub const fn value(self) -> i32 {
10070        self as i32
10071    }
10072
10073    /// Builds a variant from its numeric value.
10074    ///
10075    /// When several variants share a value, the first declared one is returned.
10076    pub fn from_value(value: i32) -> Option<Self> {
10077        match value {
10078            1 => Some(EIntroducerRouting::P2PVoiceChat),
10079            2 => Some(EIntroducerRouting::P2PNetworking),
10080            _ => None,
10081        }
10082    }
10083}
10084
10085impl TryFrom<i32> for EIntroducerRouting {
10086    type Error = UnknownEnumValue;
10087
10088    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10089        Self::from_value(value).ok_or(UnknownEnumValue::new("EIntroducerRouting", value as i128))
10090    }
10091}
10092
10093#[allow(deprecated)]
10094impl TryFrom<u32> for EIntroducerRouting {
10095    type Error = UnknownEnumValue;
10096
10097    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10098        match value {
10099            1 => Some(EIntroducerRouting::P2PVoiceChat),
10100            2 => Some(EIntroducerRouting::P2PNetworking),
10101            _ => None,
10102        }
10103        .ok_or(UnknownEnumValue::new("EIntroducerRouting", value as i128))
10104    }
10105}
10106
10107impl From<EIntroducerRouting> for i32 {
10108    fn from(value: EIntroducerRouting) -> i32 {
10109        value as i32
10110    }
10111}
10112
10113/// The `EServerFlags` enumeration.
10114///
10115/// A bit flag set: the variants can be combined with a bitwise or.
10116///
10117/// Source: `lang/steammsg.steamd`.
10118#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10119#[repr(i32)]
10120pub enum EServerFlags {
10121    None = 0,
10122    Active = 1,
10123    Secure = 2,
10124    Dedicated = 4,
10125    Linux = 8,
10126    Passworded = 16,
10127    Private = 32,
10128}
10129
10130#[allow(deprecated)]
10131impl EServerFlags {
10132    /// Every variant of `EServerFlags`.
10133    pub const ALL: &'static [EServerFlags] = &[
10134        EServerFlags::None,
10135        EServerFlags::Active,
10136        EServerFlags::Secure,
10137        EServerFlags::Dedicated,
10138        EServerFlags::Linux,
10139        EServerFlags::Passworded,
10140        EServerFlags::Private,
10141    ];
10142
10143    /// The numeric value of this variant.
10144    pub const fn value(self) -> i32 {
10145        self as i32
10146    }
10147
10148    /// The raw bit pattern of this flag set.
10149    pub const fn bits(self) -> i32 {
10150        self as i32
10151    }
10152
10153    /// True when no bit of this flag set is set.
10154    pub const fn is_empty(self) -> bool {
10155        (self as i32) == 0
10156    }
10157
10158    /// True when every bit of `other` is set in this flag set.
10159    pub const fn contains(self, other: Self) -> bool {
10160        (self as i32 & other as i32) == (other as i32)
10161    }
10162
10163    /// The bitwise or of two flag sets, as a raw value.
10164    pub const fn union(self, other: Self) -> i32 {
10165        (self as i32) | (other as i32)
10166    }
10167
10168    /// The bitwise and of two flag sets, as a raw value.
10169    pub const fn intersect(self, other: Self) -> i32 {
10170        (self as i32) & (other as i32)
10171    }
10172
10173    /// Builds a variant from its numeric value.
10174    ///
10175    /// When several variants share a value, the first declared one is returned.
10176    pub fn from_value(value: i32) -> Option<Self> {
10177        match value {
10178            0 => Some(EServerFlags::None),
10179            1 => Some(EServerFlags::Active),
10180            2 => Some(EServerFlags::Secure),
10181            4 => Some(EServerFlags::Dedicated),
10182            8 => Some(EServerFlags::Linux),
10183            16 => Some(EServerFlags::Passworded),
10184            32 => Some(EServerFlags::Private),
10185            _ => None,
10186        }
10187    }
10188}
10189
10190impl TryFrom<i32> for EServerFlags {
10191    type Error = UnknownEnumValue;
10192
10193    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10194        Self::from_value(value).ok_or(UnknownEnumValue::new("EServerFlags", value as i128))
10195    }
10196}
10197
10198#[allow(deprecated)]
10199impl TryFrom<u32> for EServerFlags {
10200    type Error = UnknownEnumValue;
10201
10202    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10203        match value {
10204            0 => Some(EServerFlags::None),
10205            1 => Some(EServerFlags::Active),
10206            2 => Some(EServerFlags::Secure),
10207            4 => Some(EServerFlags::Dedicated),
10208            8 => Some(EServerFlags::Linux),
10209            16 => Some(EServerFlags::Passworded),
10210            32 => Some(EServerFlags::Private),
10211            _ => None,
10212        }
10213        .ok_or(UnknownEnumValue::new("EServerFlags", value as i128))
10214    }
10215}
10216
10217impl From<EServerFlags> for i32 {
10218    fn from(value: EServerFlags) -> i32 {
10219        value as i32
10220    }
10221}
10222
10223/// The `EDenyReason` enumeration.
10224///
10225/// Source: `lang/steammsg.steamd`.
10226#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10227#[repr(i32)]
10228pub enum EDenyReason {
10229    InvalidVersion = 1,
10230    Generic = 2,
10231    NotLoggedOn = 3,
10232    NoLicense = 4,
10233    Cheater = 5,
10234    LoggedInElseWhere = 6,
10235    UnknownText = 7,
10236    IncompatibleAnticheat = 8,
10237    MemoryCorruption = 9,
10238    IncompatibleSoftware = 10,
10239    SteamConnectionLost = 11,
10240    SteamConnectionError = 12,
10241    SteamResponseTimedOut = 13,
10242    SteamValidationStalled = 14,
10243    SteamOwnerLeftGuestUser = 15,
10244}
10245
10246#[allow(deprecated)]
10247impl EDenyReason {
10248    /// Every variant of `EDenyReason`.
10249    pub const ALL: &'static [EDenyReason] = &[
10250        EDenyReason::InvalidVersion,
10251        EDenyReason::Generic,
10252        EDenyReason::NotLoggedOn,
10253        EDenyReason::NoLicense,
10254        EDenyReason::Cheater,
10255        EDenyReason::LoggedInElseWhere,
10256        EDenyReason::UnknownText,
10257        EDenyReason::IncompatibleAnticheat,
10258        EDenyReason::MemoryCorruption,
10259        EDenyReason::IncompatibleSoftware,
10260        EDenyReason::SteamConnectionLost,
10261        EDenyReason::SteamConnectionError,
10262        EDenyReason::SteamResponseTimedOut,
10263        EDenyReason::SteamValidationStalled,
10264        EDenyReason::SteamOwnerLeftGuestUser,
10265    ];
10266
10267    /// The numeric value of this variant.
10268    pub const fn value(self) -> i32 {
10269        self as i32
10270    }
10271
10272    /// Builds a variant from its numeric value.
10273    ///
10274    /// When several variants share a value, the first declared one is returned.
10275    pub fn from_value(value: i32) -> Option<Self> {
10276        match value {
10277            1 => Some(EDenyReason::InvalidVersion),
10278            2 => Some(EDenyReason::Generic),
10279            3 => Some(EDenyReason::NotLoggedOn),
10280            4 => Some(EDenyReason::NoLicense),
10281            5 => Some(EDenyReason::Cheater),
10282            6 => Some(EDenyReason::LoggedInElseWhere),
10283            7 => Some(EDenyReason::UnknownText),
10284            8 => Some(EDenyReason::IncompatibleAnticheat),
10285            9 => Some(EDenyReason::MemoryCorruption),
10286            10 => Some(EDenyReason::IncompatibleSoftware),
10287            11 => Some(EDenyReason::SteamConnectionLost),
10288            12 => Some(EDenyReason::SteamConnectionError),
10289            13 => Some(EDenyReason::SteamResponseTimedOut),
10290            14 => Some(EDenyReason::SteamValidationStalled),
10291            15 => Some(EDenyReason::SteamOwnerLeftGuestUser),
10292            _ => None,
10293        }
10294    }
10295}
10296
10297impl TryFrom<i32> for EDenyReason {
10298    type Error = UnknownEnumValue;
10299
10300    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10301        Self::from_value(value).ok_or(UnknownEnumValue::new("EDenyReason", value as i128))
10302    }
10303}
10304
10305#[allow(deprecated)]
10306impl TryFrom<u32> for EDenyReason {
10307    type Error = UnknownEnumValue;
10308
10309    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10310        match value {
10311            1 => Some(EDenyReason::InvalidVersion),
10312            2 => Some(EDenyReason::Generic),
10313            3 => Some(EDenyReason::NotLoggedOn),
10314            4 => Some(EDenyReason::NoLicense),
10315            5 => Some(EDenyReason::Cheater),
10316            6 => Some(EDenyReason::LoggedInElseWhere),
10317            7 => Some(EDenyReason::UnknownText),
10318            8 => Some(EDenyReason::IncompatibleAnticheat),
10319            9 => Some(EDenyReason::MemoryCorruption),
10320            10 => Some(EDenyReason::IncompatibleSoftware),
10321            11 => Some(EDenyReason::SteamConnectionLost),
10322            12 => Some(EDenyReason::SteamConnectionError),
10323            13 => Some(EDenyReason::SteamResponseTimedOut),
10324            14 => Some(EDenyReason::SteamValidationStalled),
10325            15 => Some(EDenyReason::SteamOwnerLeftGuestUser),
10326            _ => None,
10327        }
10328        .ok_or(UnknownEnumValue::new("EDenyReason", value as i128))
10329    }
10330}
10331
10332impl From<EDenyReason> for i32 {
10333    fn from(value: EDenyReason) -> i32 {
10334        value as i32
10335    }
10336}
10337
10338/// The `EClanRank` enumeration.
10339///
10340/// Source: `lang/steammsg.steamd`.
10341#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10342#[repr(i32)]
10343pub enum EClanRank {
10344    None = 0,
10345    Owner = 1,
10346    Officer = 2,
10347    Member = 3,
10348    Moderator = 4,
10349}
10350
10351#[allow(deprecated)]
10352impl EClanRank {
10353    /// Every variant of `EClanRank`.
10354    pub const ALL: &'static [EClanRank] = &[
10355        EClanRank::None,
10356        EClanRank::Owner,
10357        EClanRank::Officer,
10358        EClanRank::Member,
10359        EClanRank::Moderator,
10360    ];
10361
10362    /// The numeric value of this variant.
10363    pub const fn value(self) -> i32 {
10364        self as i32
10365    }
10366
10367    /// Builds a variant from its numeric value.
10368    ///
10369    /// When several variants share a value, the first declared one is returned.
10370    pub fn from_value(value: i32) -> Option<Self> {
10371        match value {
10372            0 => Some(EClanRank::None),
10373            1 => Some(EClanRank::Owner),
10374            2 => Some(EClanRank::Officer),
10375            3 => Some(EClanRank::Member),
10376            4 => Some(EClanRank::Moderator),
10377            _ => None,
10378        }
10379    }
10380}
10381
10382impl TryFrom<i32> for EClanRank {
10383    type Error = UnknownEnumValue;
10384
10385    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10386        Self::from_value(value).ok_or(UnknownEnumValue::new("EClanRank", value as i128))
10387    }
10388}
10389
10390#[allow(deprecated)]
10391impl TryFrom<u32> for EClanRank {
10392    type Error = UnknownEnumValue;
10393
10394    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10395        match value {
10396            0 => Some(EClanRank::None),
10397            1 => Some(EClanRank::Owner),
10398            2 => Some(EClanRank::Officer),
10399            3 => Some(EClanRank::Member),
10400            4 => Some(EClanRank::Moderator),
10401            _ => None,
10402        }
10403        .ok_or(UnknownEnumValue::new("EClanRank", value as i128))
10404    }
10405}
10406
10407impl From<EClanRank> for i32 {
10408    fn from(value: EClanRank) -> i32 {
10409        value as i32
10410    }
10411}
10412
10413/// The `EClanRelationship` enumeration.
10414///
10415/// Source: `lang/steammsg.steamd`.
10416#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10417#[repr(i32)]
10418pub enum EClanRelationship {
10419    None = 0,
10420    Blocked = 1,
10421    Invited = 2,
10422    Member = 3,
10423    Kicked = 4,
10424    KickAcknowledged = 5,
10425    PendingApproval = 6,
10426    RequestDenied = 7,
10427}
10428
10429#[allow(deprecated)]
10430impl EClanRelationship {
10431    /// Every variant of `EClanRelationship`.
10432    pub const ALL: &'static [EClanRelationship] = &[
10433        EClanRelationship::None,
10434        EClanRelationship::Blocked,
10435        EClanRelationship::Invited,
10436        EClanRelationship::Member,
10437        EClanRelationship::Kicked,
10438        EClanRelationship::KickAcknowledged,
10439        EClanRelationship::PendingApproval,
10440        EClanRelationship::RequestDenied,
10441    ];
10442
10443    /// The numeric value of this variant.
10444    pub const fn value(self) -> i32 {
10445        self as i32
10446    }
10447
10448    /// Builds a variant from its numeric value.
10449    ///
10450    /// When several variants share a value, the first declared one is returned.
10451    pub fn from_value(value: i32) -> Option<Self> {
10452        match value {
10453            0 => Some(EClanRelationship::None),
10454            1 => Some(EClanRelationship::Blocked),
10455            2 => Some(EClanRelationship::Invited),
10456            3 => Some(EClanRelationship::Member),
10457            4 => Some(EClanRelationship::Kicked),
10458            5 => Some(EClanRelationship::KickAcknowledged),
10459            6 => Some(EClanRelationship::PendingApproval),
10460            7 => Some(EClanRelationship::RequestDenied),
10461            _ => None,
10462        }
10463    }
10464}
10465
10466impl TryFrom<i32> for EClanRelationship {
10467    type Error = UnknownEnumValue;
10468
10469    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10470        Self::from_value(value).ok_or(UnknownEnumValue::new("EClanRelationship", value as i128))
10471    }
10472}
10473
10474#[allow(deprecated)]
10475impl TryFrom<u32> for EClanRelationship {
10476    type Error = UnknownEnumValue;
10477
10478    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10479        match value {
10480            0 => Some(EClanRelationship::None),
10481            1 => Some(EClanRelationship::Blocked),
10482            2 => Some(EClanRelationship::Invited),
10483            3 => Some(EClanRelationship::Member),
10484            4 => Some(EClanRelationship::Kicked),
10485            5 => Some(EClanRelationship::KickAcknowledged),
10486            6 => Some(EClanRelationship::PendingApproval),
10487            7 => Some(EClanRelationship::RequestDenied),
10488            _ => None,
10489        }
10490        .ok_or(UnknownEnumValue::new("EClanRelationship", value as i128))
10491    }
10492}
10493
10494impl From<EClanRelationship> for i32 {
10495    fn from(value: EClanRelationship) -> i32 {
10496        value as i32
10497    }
10498}
10499
10500/// The `EAuthSessionResponse` enumeration.
10501///
10502/// Source: `lang/steammsg.steamd`.
10503#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10504#[repr(i32)]
10505pub enum EAuthSessionResponse {
10506    OK = 0,
10507    UserNotConnectedToSteam = 1,
10508    NoLicenseOrExpired = 2,
10509    VACBanned = 3,
10510    LoggedInElseWhere = 4,
10511    VACCheckTimedOut = 5,
10512    AuthTicketCanceled = 6,
10513    AuthTicketInvalidAlreadyUsed = 7,
10514    AuthTicketInvalid = 8,
10515    PublisherIssuedBan = 9,
10516}
10517
10518#[allow(deprecated)]
10519impl EAuthSessionResponse {
10520    /// Every variant of `EAuthSessionResponse`.
10521    pub const ALL: &'static [EAuthSessionResponse] = &[
10522        EAuthSessionResponse::OK,
10523        EAuthSessionResponse::UserNotConnectedToSteam,
10524        EAuthSessionResponse::NoLicenseOrExpired,
10525        EAuthSessionResponse::VACBanned,
10526        EAuthSessionResponse::LoggedInElseWhere,
10527        EAuthSessionResponse::VACCheckTimedOut,
10528        EAuthSessionResponse::AuthTicketCanceled,
10529        EAuthSessionResponse::AuthTicketInvalidAlreadyUsed,
10530        EAuthSessionResponse::AuthTicketInvalid,
10531        EAuthSessionResponse::PublisherIssuedBan,
10532    ];
10533
10534    /// The numeric value of this variant.
10535    pub const fn value(self) -> i32 {
10536        self as i32
10537    }
10538
10539    /// Builds a variant from its numeric value.
10540    ///
10541    /// When several variants share a value, the first declared one is returned.
10542    pub fn from_value(value: i32) -> Option<Self> {
10543        match value {
10544            0 => Some(EAuthSessionResponse::OK),
10545            1 => Some(EAuthSessionResponse::UserNotConnectedToSteam),
10546            2 => Some(EAuthSessionResponse::NoLicenseOrExpired),
10547            3 => Some(EAuthSessionResponse::VACBanned),
10548            4 => Some(EAuthSessionResponse::LoggedInElseWhere),
10549            5 => Some(EAuthSessionResponse::VACCheckTimedOut),
10550            6 => Some(EAuthSessionResponse::AuthTicketCanceled),
10551            7 => Some(EAuthSessionResponse::AuthTicketInvalidAlreadyUsed),
10552            8 => Some(EAuthSessionResponse::AuthTicketInvalid),
10553            9 => Some(EAuthSessionResponse::PublisherIssuedBan),
10554            _ => None,
10555        }
10556    }
10557}
10558
10559impl TryFrom<i32> for EAuthSessionResponse {
10560    type Error = UnknownEnumValue;
10561
10562    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10563        Self::from_value(value).ok_or(UnknownEnumValue::new("EAuthSessionResponse", value as i128))
10564    }
10565}
10566
10567#[allow(deprecated)]
10568impl TryFrom<u32> for EAuthSessionResponse {
10569    type Error = UnknownEnumValue;
10570
10571    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10572        match value {
10573            0 => Some(EAuthSessionResponse::OK),
10574            1 => Some(EAuthSessionResponse::UserNotConnectedToSteam),
10575            2 => Some(EAuthSessionResponse::NoLicenseOrExpired),
10576            3 => Some(EAuthSessionResponse::VACBanned),
10577            4 => Some(EAuthSessionResponse::LoggedInElseWhere),
10578            5 => Some(EAuthSessionResponse::VACCheckTimedOut),
10579            6 => Some(EAuthSessionResponse::AuthTicketCanceled),
10580            7 => Some(EAuthSessionResponse::AuthTicketInvalidAlreadyUsed),
10581            8 => Some(EAuthSessionResponse::AuthTicketInvalid),
10582            9 => Some(EAuthSessionResponse::PublisherIssuedBan),
10583            _ => None,
10584        }
10585        .ok_or(UnknownEnumValue::new("EAuthSessionResponse", value as i128))
10586    }
10587}
10588
10589impl From<EAuthSessionResponse> for i32 {
10590    fn from(value: EAuthSessionResponse) -> i32 {
10591        value as i32
10592    }
10593}
10594
10595/// The `EChatRoomEnterResponse` enumeration.
10596///
10597/// Source: `lang/steammsg.steamd`.
10598#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10599#[repr(i32)]
10600pub enum EChatRoomEnterResponse {
10601    Success = 1,
10602    DoesntExist = 2,
10603    NotAllowed = 3,
10604    Full = 4,
10605    Error = 5,
10606    Banned = 6,
10607    Limited = 7,
10608    ClanDisabled = 8,
10609    CommunityBan = 9,
10610    MemberBlockedYou = 10,
10611    YouBlockedMember = 11,
10612}
10613
10614#[allow(deprecated)]
10615impl EChatRoomEnterResponse {
10616    /// Every variant of `EChatRoomEnterResponse`.
10617    pub const ALL: &'static [EChatRoomEnterResponse] = &[
10618        EChatRoomEnterResponse::Success,
10619        EChatRoomEnterResponse::DoesntExist,
10620        EChatRoomEnterResponse::NotAllowed,
10621        EChatRoomEnterResponse::Full,
10622        EChatRoomEnterResponse::Error,
10623        EChatRoomEnterResponse::Banned,
10624        EChatRoomEnterResponse::Limited,
10625        EChatRoomEnterResponse::ClanDisabled,
10626        EChatRoomEnterResponse::CommunityBan,
10627        EChatRoomEnterResponse::MemberBlockedYou,
10628        EChatRoomEnterResponse::YouBlockedMember,
10629    ];
10630
10631    /// The numeric value of this variant.
10632    pub const fn value(self) -> i32 {
10633        self as i32
10634    }
10635
10636    /// Builds a variant from its numeric value.
10637    ///
10638    /// When several variants share a value, the first declared one is returned.
10639    pub fn from_value(value: i32) -> Option<Self> {
10640        match value {
10641            1 => Some(EChatRoomEnterResponse::Success),
10642            2 => Some(EChatRoomEnterResponse::DoesntExist),
10643            3 => Some(EChatRoomEnterResponse::NotAllowed),
10644            4 => Some(EChatRoomEnterResponse::Full),
10645            5 => Some(EChatRoomEnterResponse::Error),
10646            6 => Some(EChatRoomEnterResponse::Banned),
10647            7 => Some(EChatRoomEnterResponse::Limited),
10648            8 => Some(EChatRoomEnterResponse::ClanDisabled),
10649            9 => Some(EChatRoomEnterResponse::CommunityBan),
10650            10 => Some(EChatRoomEnterResponse::MemberBlockedYou),
10651            11 => Some(EChatRoomEnterResponse::YouBlockedMember),
10652            _ => None,
10653        }
10654    }
10655}
10656
10657impl TryFrom<i32> for EChatRoomEnterResponse {
10658    type Error = UnknownEnumValue;
10659
10660    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10661        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomEnterResponse", value as i128))
10662    }
10663}
10664
10665#[allow(deprecated)]
10666impl TryFrom<u32> for EChatRoomEnterResponse {
10667    type Error = UnknownEnumValue;
10668
10669    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10670        match value {
10671            1 => Some(EChatRoomEnterResponse::Success),
10672            2 => Some(EChatRoomEnterResponse::DoesntExist),
10673            3 => Some(EChatRoomEnterResponse::NotAllowed),
10674            4 => Some(EChatRoomEnterResponse::Full),
10675            5 => Some(EChatRoomEnterResponse::Error),
10676            6 => Some(EChatRoomEnterResponse::Banned),
10677            7 => Some(EChatRoomEnterResponse::Limited),
10678            8 => Some(EChatRoomEnterResponse::ClanDisabled),
10679            9 => Some(EChatRoomEnterResponse::CommunityBan),
10680            10 => Some(EChatRoomEnterResponse::MemberBlockedYou),
10681            11 => Some(EChatRoomEnterResponse::YouBlockedMember),
10682            _ => None,
10683        }
10684        .ok_or(UnknownEnumValue::new("EChatRoomEnterResponse", value as i128))
10685    }
10686}
10687
10688impl From<EChatRoomEnterResponse> for i32 {
10689    fn from(value: EChatRoomEnterResponse) -> i32 {
10690        value as i32
10691    }
10692}
10693
10694/// The `EChatRoomType` enumeration.
10695///
10696/// Source: `lang/steammsg.steamd`.
10697#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10698#[repr(i32)]
10699pub enum EChatRoomType {
10700    Friend = 1,
10701    MUC = 2,
10702    Lobby = 3,
10703}
10704
10705#[allow(deprecated)]
10706impl EChatRoomType {
10707    /// Every variant of `EChatRoomType`.
10708    pub const ALL: &'static [EChatRoomType] = &[
10709        EChatRoomType::Friend,
10710        EChatRoomType::MUC,
10711        EChatRoomType::Lobby,
10712    ];
10713
10714    /// The numeric value of this variant.
10715    pub const fn value(self) -> i32 {
10716        self as i32
10717    }
10718
10719    /// Builds a variant from its numeric value.
10720    ///
10721    /// When several variants share a value, the first declared one is returned.
10722    pub fn from_value(value: i32) -> Option<Self> {
10723        match value {
10724            1 => Some(EChatRoomType::Friend),
10725            2 => Some(EChatRoomType::MUC),
10726            3 => Some(EChatRoomType::Lobby),
10727            _ => None,
10728        }
10729    }
10730}
10731
10732impl TryFrom<i32> for EChatRoomType {
10733    type Error = UnknownEnumValue;
10734
10735    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10736        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomType", value as i128))
10737    }
10738}
10739
10740#[allow(deprecated)]
10741impl TryFrom<u32> for EChatRoomType {
10742    type Error = UnknownEnumValue;
10743
10744    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10745        match value {
10746            1 => Some(EChatRoomType::Friend),
10747            2 => Some(EChatRoomType::MUC),
10748            3 => Some(EChatRoomType::Lobby),
10749            _ => None,
10750        }
10751        .ok_or(UnknownEnumValue::new("EChatRoomType", value as i128))
10752    }
10753}
10754
10755impl From<EChatRoomType> for i32 {
10756    fn from(value: EChatRoomType) -> i32 {
10757        value as i32
10758    }
10759}
10760
10761/// The `EChatInfoType` enumeration.
10762///
10763/// Source: `lang/steammsg.steamd`.
10764#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10765#[repr(i32)]
10766pub enum EChatInfoType {
10767    StateChange = 1,
10768    InfoUpdate = 2,
10769    MemberLimitChange = 3,
10770}
10771
10772#[allow(deprecated)]
10773impl EChatInfoType {
10774    /// Every variant of `EChatInfoType`.
10775    pub const ALL: &'static [EChatInfoType] = &[
10776        EChatInfoType::StateChange,
10777        EChatInfoType::InfoUpdate,
10778        EChatInfoType::MemberLimitChange,
10779    ];
10780
10781    /// The numeric value of this variant.
10782    pub const fn value(self) -> i32 {
10783        self as i32
10784    }
10785
10786    /// Builds a variant from its numeric value.
10787    ///
10788    /// When several variants share a value, the first declared one is returned.
10789    pub fn from_value(value: i32) -> Option<Self> {
10790        match value {
10791            1 => Some(EChatInfoType::StateChange),
10792            2 => Some(EChatInfoType::InfoUpdate),
10793            3 => Some(EChatInfoType::MemberLimitChange),
10794            _ => None,
10795        }
10796    }
10797}
10798
10799impl TryFrom<i32> for EChatInfoType {
10800    type Error = UnknownEnumValue;
10801
10802    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10803        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatInfoType", value as i128))
10804    }
10805}
10806
10807#[allow(deprecated)]
10808impl TryFrom<u32> for EChatInfoType {
10809    type Error = UnknownEnumValue;
10810
10811    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10812        match value {
10813            1 => Some(EChatInfoType::StateChange),
10814            2 => Some(EChatInfoType::InfoUpdate),
10815            3 => Some(EChatInfoType::MemberLimitChange),
10816            _ => None,
10817        }
10818        .ok_or(UnknownEnumValue::new("EChatInfoType", value as i128))
10819    }
10820}
10821
10822impl From<EChatInfoType> for i32 {
10823    fn from(value: EChatInfoType) -> i32 {
10824        value as i32
10825    }
10826}
10827
10828/// The `EChatAction` enumeration.
10829///
10830/// Source: `lang/steammsg.steamd`.
10831#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10832#[repr(i32)]
10833pub enum EChatAction {
10834    InviteChat = 1,
10835    Kick = 2,
10836    Ban = 3,
10837    UnBan = 4,
10838    StartVoiceSpeak = 5,
10839    EndVoiceSpeak = 6,
10840    LockChat = 7,
10841    UnlockChat = 8,
10842    CloseChat = 9,
10843    SetJoinable = 10,
10844    SetUnjoinable = 11,
10845    SetOwner = 12,
10846    SetInvisibleToFriends = 13,
10847    SetVisibleToFriends = 14,
10848    SetModerated = 15,
10849    SetUnmoderated = 16,
10850}
10851
10852#[allow(deprecated)]
10853impl EChatAction {
10854    /// Every variant of `EChatAction`.
10855    pub const ALL: &'static [EChatAction] = &[
10856        EChatAction::InviteChat,
10857        EChatAction::Kick,
10858        EChatAction::Ban,
10859        EChatAction::UnBan,
10860        EChatAction::StartVoiceSpeak,
10861        EChatAction::EndVoiceSpeak,
10862        EChatAction::LockChat,
10863        EChatAction::UnlockChat,
10864        EChatAction::CloseChat,
10865        EChatAction::SetJoinable,
10866        EChatAction::SetUnjoinable,
10867        EChatAction::SetOwner,
10868        EChatAction::SetInvisibleToFriends,
10869        EChatAction::SetVisibleToFriends,
10870        EChatAction::SetModerated,
10871        EChatAction::SetUnmoderated,
10872    ];
10873
10874    /// The numeric value of this variant.
10875    pub const fn value(self) -> i32 {
10876        self as i32
10877    }
10878
10879    /// Builds a variant from its numeric value.
10880    ///
10881    /// When several variants share a value, the first declared one is returned.
10882    pub fn from_value(value: i32) -> Option<Self> {
10883        match value {
10884            1 => Some(EChatAction::InviteChat),
10885            2 => Some(EChatAction::Kick),
10886            3 => Some(EChatAction::Ban),
10887            4 => Some(EChatAction::UnBan),
10888            5 => Some(EChatAction::StartVoiceSpeak),
10889            6 => Some(EChatAction::EndVoiceSpeak),
10890            7 => Some(EChatAction::LockChat),
10891            8 => Some(EChatAction::UnlockChat),
10892            9 => Some(EChatAction::CloseChat),
10893            10 => Some(EChatAction::SetJoinable),
10894            11 => Some(EChatAction::SetUnjoinable),
10895            12 => Some(EChatAction::SetOwner),
10896            13 => Some(EChatAction::SetInvisibleToFriends),
10897            14 => Some(EChatAction::SetVisibleToFriends),
10898            15 => Some(EChatAction::SetModerated),
10899            16 => Some(EChatAction::SetUnmoderated),
10900            _ => None,
10901        }
10902    }
10903}
10904
10905impl TryFrom<i32> for EChatAction {
10906    type Error = UnknownEnumValue;
10907
10908    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
10909        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatAction", value as i128))
10910    }
10911}
10912
10913#[allow(deprecated)]
10914impl TryFrom<u32> for EChatAction {
10915    type Error = UnknownEnumValue;
10916
10917    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
10918        match value {
10919            1 => Some(EChatAction::InviteChat),
10920            2 => Some(EChatAction::Kick),
10921            3 => Some(EChatAction::Ban),
10922            4 => Some(EChatAction::UnBan),
10923            5 => Some(EChatAction::StartVoiceSpeak),
10924            6 => Some(EChatAction::EndVoiceSpeak),
10925            7 => Some(EChatAction::LockChat),
10926            8 => Some(EChatAction::UnlockChat),
10927            9 => Some(EChatAction::CloseChat),
10928            10 => Some(EChatAction::SetJoinable),
10929            11 => Some(EChatAction::SetUnjoinable),
10930            12 => Some(EChatAction::SetOwner),
10931            13 => Some(EChatAction::SetInvisibleToFriends),
10932            14 => Some(EChatAction::SetVisibleToFriends),
10933            15 => Some(EChatAction::SetModerated),
10934            16 => Some(EChatAction::SetUnmoderated),
10935            _ => None,
10936        }
10937        .ok_or(UnknownEnumValue::new("EChatAction", value as i128))
10938    }
10939}
10940
10941impl From<EChatAction> for i32 {
10942    fn from(value: EChatAction) -> i32 {
10943        value as i32
10944    }
10945}
10946
10947/// The `EChatActionResult` enumeration.
10948///
10949/// Source: `lang/steammsg.steamd`.
10950#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10951#[repr(i32)]
10952pub enum EChatActionResult {
10953    Success = 1,
10954    Error = 2,
10955    NotPermitted = 3,
10956    NotAllowedOnClanMember = 4,
10957    NotAllowedOnBannedUser = 5,
10958    NotAllowedOnChatOwner = 6,
10959    NotAllowedOnSelf = 7,
10960    ChatDoesntExist = 8,
10961    ChatFull = 9,
10962    VoiceSlotsFull = 10,
10963}
10964
10965#[allow(deprecated)]
10966impl EChatActionResult {
10967    /// Every variant of `EChatActionResult`.
10968    pub const ALL: &'static [EChatActionResult] = &[
10969        EChatActionResult::Success,
10970        EChatActionResult::Error,
10971        EChatActionResult::NotPermitted,
10972        EChatActionResult::NotAllowedOnClanMember,
10973        EChatActionResult::NotAllowedOnBannedUser,
10974        EChatActionResult::NotAllowedOnChatOwner,
10975        EChatActionResult::NotAllowedOnSelf,
10976        EChatActionResult::ChatDoesntExist,
10977        EChatActionResult::ChatFull,
10978        EChatActionResult::VoiceSlotsFull,
10979    ];
10980
10981    /// The numeric value of this variant.
10982    pub const fn value(self) -> i32 {
10983        self as i32
10984    }
10985
10986    /// Builds a variant from its numeric value.
10987    ///
10988    /// When several variants share a value, the first declared one is returned.
10989    pub fn from_value(value: i32) -> Option<Self> {
10990        match value {
10991            1 => Some(EChatActionResult::Success),
10992            2 => Some(EChatActionResult::Error),
10993            3 => Some(EChatActionResult::NotPermitted),
10994            4 => Some(EChatActionResult::NotAllowedOnClanMember),
10995            5 => Some(EChatActionResult::NotAllowedOnBannedUser),
10996            6 => Some(EChatActionResult::NotAllowedOnChatOwner),
10997            7 => Some(EChatActionResult::NotAllowedOnSelf),
10998            8 => Some(EChatActionResult::ChatDoesntExist),
10999            9 => Some(EChatActionResult::ChatFull),
11000            10 => Some(EChatActionResult::VoiceSlotsFull),
11001            _ => None,
11002        }
11003    }
11004}
11005
11006impl TryFrom<i32> for EChatActionResult {
11007    type Error = UnknownEnumValue;
11008
11009    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
11010        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatActionResult", value as i128))
11011    }
11012}
11013
11014#[allow(deprecated)]
11015impl TryFrom<u32> for EChatActionResult {
11016    type Error = UnknownEnumValue;
11017
11018    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
11019        match value {
11020            1 => Some(EChatActionResult::Success),
11021            2 => Some(EChatActionResult::Error),
11022            3 => Some(EChatActionResult::NotPermitted),
11023            4 => Some(EChatActionResult::NotAllowedOnClanMember),
11024            5 => Some(EChatActionResult::NotAllowedOnBannedUser),
11025            6 => Some(EChatActionResult::NotAllowedOnChatOwner),
11026            7 => Some(EChatActionResult::NotAllowedOnSelf),
11027            8 => Some(EChatActionResult::ChatDoesntExist),
11028            9 => Some(EChatActionResult::ChatFull),
11029            10 => Some(EChatActionResult::VoiceSlotsFull),
11030            _ => None,
11031        }
11032        .ok_or(UnknownEnumValue::new("EChatActionResult", value as i128))
11033    }
11034}
11035
11036impl From<EChatActionResult> for i32 {
11037    fn from(value: EChatActionResult) -> i32 {
11038        value as i32
11039    }
11040}
11041
11042/// The `EAppInfoSection` enumeration.
11043///
11044/// Source: `lang/steammsg.steamd`.
11045#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
11046#[repr(i32)]
11047pub enum EAppInfoSection {
11048    Unknown = 0,
11049    All = 1,
11050    First = 2,
11051    Extended = 3,
11052    Config = 4,
11053    Stats = 5,
11054    Install = 6,
11055    Depots = 7,
11056    UFS = 10,
11057    OGG = 11,
11058    Policies = 13,
11059    SysReqs = 14,
11060    Community = 15,
11061    Store = 16,
11062    Localization = 17,
11063    Broadcastgamedata = 18,
11064    Computed = 19,
11065    Albummetadata = 20,
11066}
11067
11068#[allow(deprecated)]
11069impl EAppInfoSection {
11070    /// Alias of [`EAppInfoSection::First`].
11071    pub const Common: EAppInfoSection = EAppInfoSection::First;
11072
11073    /// Every variant of `EAppInfoSection`.
11074    pub const ALL: &'static [EAppInfoSection] = &[
11075        EAppInfoSection::Unknown,
11076        EAppInfoSection::All,
11077        EAppInfoSection::First,
11078        EAppInfoSection::Common,
11079        EAppInfoSection::Extended,
11080        EAppInfoSection::Config,
11081        EAppInfoSection::Stats,
11082        EAppInfoSection::Install,
11083        EAppInfoSection::Depots,
11084        EAppInfoSection::UFS,
11085        EAppInfoSection::OGG,
11086        EAppInfoSection::Policies,
11087        EAppInfoSection::SysReqs,
11088        EAppInfoSection::Community,
11089        EAppInfoSection::Store,
11090        EAppInfoSection::Localization,
11091        EAppInfoSection::Broadcastgamedata,
11092        EAppInfoSection::Computed,
11093        EAppInfoSection::Albummetadata,
11094    ];
11095
11096    /// The numeric value of this variant.
11097    pub const fn value(self) -> i32 {
11098        self as i32
11099    }
11100
11101    /// Builds a variant from its numeric value.
11102    ///
11103    /// When several variants share a value, the first declared one is returned.
11104    pub fn from_value(value: i32) -> Option<Self> {
11105        match value {
11106            0 => Some(EAppInfoSection::Unknown),
11107            1 => Some(EAppInfoSection::All),
11108            2 => Some(EAppInfoSection::First),
11109            3 => Some(EAppInfoSection::Extended),
11110            4 => Some(EAppInfoSection::Config),
11111            5 => Some(EAppInfoSection::Stats),
11112            6 => Some(EAppInfoSection::Install),
11113            7 => Some(EAppInfoSection::Depots),
11114            10 => Some(EAppInfoSection::UFS),
11115            11 => Some(EAppInfoSection::OGG),
11116            13 => Some(EAppInfoSection::Policies),
11117            14 => Some(EAppInfoSection::SysReqs),
11118            15 => Some(EAppInfoSection::Community),
11119            16 => Some(EAppInfoSection::Store),
11120            17 => Some(EAppInfoSection::Localization),
11121            18 => Some(EAppInfoSection::Broadcastgamedata),
11122            19 => Some(EAppInfoSection::Computed),
11123            20 => Some(EAppInfoSection::Albummetadata),
11124            _ => None,
11125        }
11126    }
11127}
11128
11129impl TryFrom<i32> for EAppInfoSection {
11130    type Error = UnknownEnumValue;
11131
11132    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
11133        Self::from_value(value).ok_or(UnknownEnumValue::new("EAppInfoSection", value as i128))
11134    }
11135}
11136
11137#[allow(deprecated)]
11138impl TryFrom<u32> for EAppInfoSection {
11139    type Error = UnknownEnumValue;
11140
11141    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
11142        match value {
11143            0 => Some(EAppInfoSection::Unknown),
11144            1 => Some(EAppInfoSection::All),
11145            2 => Some(EAppInfoSection::First),
11146            3 => Some(EAppInfoSection::Extended),
11147            4 => Some(EAppInfoSection::Config),
11148            5 => Some(EAppInfoSection::Stats),
11149            6 => Some(EAppInfoSection::Install),
11150            7 => Some(EAppInfoSection::Depots),
11151            10 => Some(EAppInfoSection::UFS),
11152            11 => Some(EAppInfoSection::OGG),
11153            13 => Some(EAppInfoSection::Policies),
11154            14 => Some(EAppInfoSection::SysReqs),
11155            15 => Some(EAppInfoSection::Community),
11156            16 => Some(EAppInfoSection::Store),
11157            17 => Some(EAppInfoSection::Localization),
11158            18 => Some(EAppInfoSection::Broadcastgamedata),
11159            19 => Some(EAppInfoSection::Computed),
11160            20 => Some(EAppInfoSection::Albummetadata),
11161            _ => None,
11162        }
11163        .ok_or(UnknownEnumValue::new("EAppInfoSection", value as i128))
11164    }
11165}
11166
11167impl From<EAppInfoSection> for i32 {
11168    fn from(value: EAppInfoSection) -> i32 {
11169        value as i32
11170    }
11171}
11172
11173/// The `EContentDownloadSourceType` enumeration.
11174///
11175/// Source: `lang/steammsg.steamd`.
11176#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
11177#[repr(i32)]
11178pub enum EContentDownloadSourceType {
11179    Invalid = 0,
11180    CS = 1,
11181    CDN = 2,
11182    LCS = 3,
11183    ProxyCache = 4,
11184    LANPeer = 5,
11185    SLS = 6,
11186    SteamCache = 7,
11187    OpenCache = 8,
11188    LANCache = 9,
11189}
11190
11191#[allow(deprecated)]
11192impl EContentDownloadSourceType {
11193    /// Every variant of `EContentDownloadSourceType`.
11194    pub const ALL: &'static [EContentDownloadSourceType] = &[
11195        EContentDownloadSourceType::Invalid,
11196        EContentDownloadSourceType::CS,
11197        EContentDownloadSourceType::CDN,
11198        EContentDownloadSourceType::LCS,
11199        EContentDownloadSourceType::ProxyCache,
11200        EContentDownloadSourceType::LANPeer,
11201        EContentDownloadSourceType::SLS,
11202        EContentDownloadSourceType::SteamCache,
11203        EContentDownloadSourceType::OpenCache,
11204        EContentDownloadSourceType::LANCache,
11205    ];
11206
11207    /// The numeric value of this variant.
11208    pub const fn value(self) -> i32 {
11209        self as i32
11210    }
11211
11212    /// Builds a variant from its numeric value.
11213    ///
11214    /// When several variants share a value, the first declared one is returned.
11215    pub fn from_value(value: i32) -> Option<Self> {
11216        match value {
11217            0 => Some(EContentDownloadSourceType::Invalid),
11218            1 => Some(EContentDownloadSourceType::CS),
11219            2 => Some(EContentDownloadSourceType::CDN),
11220            3 => Some(EContentDownloadSourceType::LCS),
11221            4 => Some(EContentDownloadSourceType::ProxyCache),
11222            5 => Some(EContentDownloadSourceType::LANPeer),
11223            6 => Some(EContentDownloadSourceType::SLS),
11224            7 => Some(EContentDownloadSourceType::SteamCache),
11225            8 => Some(EContentDownloadSourceType::OpenCache),
11226            9 => Some(EContentDownloadSourceType::LANCache),
11227            _ => None,
11228        }
11229    }
11230}
11231
11232impl TryFrom<i32> for EContentDownloadSourceType {
11233    type Error = UnknownEnumValue;
11234
11235    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
11236        Self::from_value(value).ok_or(UnknownEnumValue::new("EContentDownloadSourceType", value as i128))
11237    }
11238}
11239
11240#[allow(deprecated)]
11241impl TryFrom<u32> for EContentDownloadSourceType {
11242    type Error = UnknownEnumValue;
11243
11244    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
11245        match value {
11246            0 => Some(EContentDownloadSourceType::Invalid),
11247            1 => Some(EContentDownloadSourceType::CS),
11248            2 => Some(EContentDownloadSourceType::CDN),
11249            3 => Some(EContentDownloadSourceType::LCS),
11250            4 => Some(EContentDownloadSourceType::ProxyCache),
11251            5 => Some(EContentDownloadSourceType::LANPeer),
11252            6 => Some(EContentDownloadSourceType::SLS),
11253            7 => Some(EContentDownloadSourceType::SteamCache),
11254            8 => Some(EContentDownloadSourceType::OpenCache),
11255            9 => Some(EContentDownloadSourceType::LANCache),
11256            _ => None,
11257        }
11258        .ok_or(UnknownEnumValue::new("EContentDownloadSourceType", value as i128))
11259    }
11260}
11261
11262impl From<EContentDownloadSourceType> for i32 {
11263    fn from(value: EContentDownloadSourceType) -> i32 {
11264        value as i32
11265    }
11266}
11267
11268/// The `EPlatformType` enumeration.
11269///
11270/// Source: `lang/steammsg.steamd`.
11271#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
11272#[repr(i32)]
11273pub enum EPlatformType {
11274    Unknown = 0,
11275    Win32 = 1,
11276    Win64 = 2,
11277    Linux64 = 3,
11278    OSX = 4,
11279    PS3 = 5,
11280    Linux32 = 6,
11281    Android32 = 7,
11282    Android64 = 8,
11283    IOS32 = 9,
11284    IOS64 = 10,
11285    TVOS = 11,
11286    EmbeddedClient = 12,
11287    Browser = 13,
11288}
11289
11290#[allow(deprecated)]
11291impl EPlatformType {
11292    /// Every variant of `EPlatformType`.
11293    pub const ALL: &'static [EPlatformType] = &[
11294        EPlatformType::Unknown,
11295        EPlatformType::Win32,
11296        EPlatformType::Win64,
11297        EPlatformType::Linux64,
11298        EPlatformType::OSX,
11299        EPlatformType::PS3,
11300        EPlatformType::Linux32,
11301        EPlatformType::Android32,
11302        EPlatformType::Android64,
11303        EPlatformType::IOS32,
11304        EPlatformType::IOS64,
11305        EPlatformType::TVOS,
11306        EPlatformType::EmbeddedClient,
11307        EPlatformType::Browser,
11308    ];
11309
11310    /// The numeric value of this variant.
11311    pub const fn value(self) -> i32 {
11312        self as i32
11313    }
11314
11315    /// Builds a variant from its numeric value.
11316    ///
11317    /// When several variants share a value, the first declared one is returned.
11318    pub fn from_value(value: i32) -> Option<Self> {
11319        match value {
11320            0 => Some(EPlatformType::Unknown),
11321            1 => Some(EPlatformType::Win32),
11322            2 => Some(EPlatformType::Win64),
11323            3 => Some(EPlatformType::Linux64),
11324            4 => Some(EPlatformType::OSX),
11325            5 => Some(EPlatformType::PS3),
11326            6 => Some(EPlatformType::Linux32),
11327            7 => Some(EPlatformType::Android32),
11328            8 => Some(EPlatformType::Android64),
11329            9 => Some(EPlatformType::IOS32),
11330            10 => Some(EPlatformType::IOS64),
11331            11 => Some(EPlatformType::TVOS),
11332            12 => Some(EPlatformType::EmbeddedClient),
11333            13 => Some(EPlatformType::Browser),
11334            _ => None,
11335        }
11336    }
11337}
11338
11339impl TryFrom<i32> for EPlatformType {
11340    type Error = UnknownEnumValue;
11341
11342    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
11343        Self::from_value(value).ok_or(UnknownEnumValue::new("EPlatformType", value as i128))
11344    }
11345}
11346
11347#[allow(deprecated)]
11348impl TryFrom<u32> for EPlatformType {
11349    type Error = UnknownEnumValue;
11350
11351    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
11352        match value {
11353            0 => Some(EPlatformType::Unknown),
11354            1 => Some(EPlatformType::Win32),
11355            2 => Some(EPlatformType::Win64),
11356            3 => Some(EPlatformType::Linux64),
11357            4 => Some(EPlatformType::OSX),
11358            5 => Some(EPlatformType::PS3),
11359            6 => Some(EPlatformType::Linux32),
11360            7 => Some(EPlatformType::Android32),
11361            8 => Some(EPlatformType::Android64),
11362            9 => Some(EPlatformType::IOS32),
11363            10 => Some(EPlatformType::IOS64),
11364            11 => Some(EPlatformType::TVOS),
11365            12 => Some(EPlatformType::EmbeddedClient),
11366            13 => Some(EPlatformType::Browser),
11367            _ => None,
11368        }
11369        .ok_or(UnknownEnumValue::new("EPlatformType", value as i128))
11370    }
11371}
11372
11373impl From<EPlatformType> for i32 {
11374    fn from(value: EPlatformType) -> i32 {
11375        value as i32
11376    }
11377}
11378
11379/// The `EOSType` enumeration.
11380///
11381/// Source: `lang/steammsg.steamd`.
11382#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
11383#[repr(i32)]
11384pub enum EOSType {
11385    Unknown = -1,
11386    Web = -700,
11387    IOSUnknown = -600,
11388    IOS1 = -599,
11389    IOS2 = -598,
11390    IOS3 = -597,
11391    IOS4 = -596,
11392    IOS5 = -595,
11393    IOS6 = -594,
11394    IOS6_1 = -593,
11395    IOS7 = -592,
11396    IOS7_1 = -591,
11397    IOS8 = -590,
11398    IOS8_1 = -589,
11399    IOS8_2 = -588,
11400    IOS8_3 = -587,
11401    IOS8_4 = -586,
11402    IOS9 = -585,
11403    IOS9_1 = -584,
11404    IOS9_2 = -583,
11405    IOS9_3 = -582,
11406    IOS10 = -581,
11407    IOS10_1 = -580,
11408    IOS10_2 = -579,
11409    IOS10_3 = -578,
11410    IOS11 = -577,
11411    IOS11_1 = -576,
11412    IOS11_2 = -575,
11413    IOS11_3 = -574,
11414    IOS11_4 = -573,
11415    IOS12 = -572,
11416    IOS12_1 = -571,
11417    AndroidUnknown = -500,
11418    Android6 = -499,
11419    Android7 = -498,
11420    Android8 = -497,
11421    Android9 = -496,
11422    UMQ = -400,
11423    PS3 = -300,
11424    MacOSUnknown = -102,
11425    MacOS104 = -101,
11426    MacOS105 = -100,
11427    MacOS1058 = -99,
11428    MacOS106 = -95,
11429    MacOS1063 = -94,
11430    MacOS1064_slgu = -93,
11431    MacOS1067 = -92,
11432    MacOS107 = -90,
11433    MacOS108 = -89,
11434    MacOS109 = -88,
11435    MacOS1010 = -87,
11436    MacOS1011 = -86,
11437    MacOS1012 = -85,
11438    Macos1013 = -84,
11439    Macos1014 = -83,
11440    Macos1015 = -82,
11441    MacOS1016 = -81,
11442    MacOS11 = -80,
11443    MacOS111 = -79,
11444    MacOS1017 = -78,
11445    MacOS12 = -77,
11446    MacOS1018 = -76,
11447    MacOS13 = -75,
11448    MacOS1019 = -74,
11449    MacOS14 = -73,
11450    MacOS1020 = -72,
11451    MacOS15 = -71,
11452    LinuxUnknown = -203,
11453    Linux22 = -202,
11454    Linux24 = -201,
11455    Linux26 = -200,
11456    Linux32 = -199,
11457    Linux35 = -198,
11458    Linux36 = -197,
11459    Linux310 = -196,
11460    Linux316 = -195,
11461    Linux318 = -194,
11462    Linux3x = -193,
11463    Linux4x = -192,
11464    Linux41 = -191,
11465    Linux44 = -190,
11466    Linux49 = -189,
11467    Linux414 = -188,
11468    Linux419 = -187,
11469    Linux5x = -186,
11470    Linux54 = -185,
11471    Linux6x = -184,
11472    Linux7x = -183,
11473    Linux510 = -182,
11474    WinUnknown = 0,
11475    Win311 = 1,
11476    Win95 = 2,
11477    Win98 = 3,
11478    WinME = 4,
11479    WinNT = 5,
11480    Win2000 = 6,
11481    WinXP = 7,
11482    Win2003 = 8,
11483    WinVista = 9,
11484    Windows7 = 10,
11485    Win2008 = 11,
11486    Win2012 = 12,
11487    Windows8 = 13,
11488    Windows81 = 14,
11489    Win2012R2 = 15,
11490    Windows10 = 16,
11491    Win2016 = 17,
11492    Win2019 = 18,
11493    Win2022 = 19,
11494    Win11 = 20,
11495    WinMAX = 21,
11496}
11497
11498#[allow(deprecated)]
11499impl EOSType {
11500    /// Alias of [`EOSType::Unknown`].
11501    pub const MacOSMax: EOSType = EOSType::Unknown;
11502    /// Alias of [`EOSType::MacOS104`].
11503    pub const LinuxMax: EOSType = EOSType::MacOS104;
11504
11505    /// Every variant of `EOSType`.
11506    pub const ALL: &'static [EOSType] = &[
11507        EOSType::Unknown,
11508        EOSType::Web,
11509        EOSType::IOSUnknown,
11510        EOSType::IOS1,
11511        EOSType::IOS2,
11512        EOSType::IOS3,
11513        EOSType::IOS4,
11514        EOSType::IOS5,
11515        EOSType::IOS6,
11516        EOSType::IOS6_1,
11517        EOSType::IOS7,
11518        EOSType::IOS7_1,
11519        EOSType::IOS8,
11520        EOSType::IOS8_1,
11521        EOSType::IOS8_2,
11522        EOSType::IOS8_3,
11523        EOSType::IOS8_4,
11524        EOSType::IOS9,
11525        EOSType::IOS9_1,
11526        EOSType::IOS9_2,
11527        EOSType::IOS9_3,
11528        EOSType::IOS10,
11529        EOSType::IOS10_1,
11530        EOSType::IOS10_2,
11531        EOSType::IOS10_3,
11532        EOSType::IOS11,
11533        EOSType::IOS11_1,
11534        EOSType::IOS11_2,
11535        EOSType::IOS11_3,
11536        EOSType::IOS11_4,
11537        EOSType::IOS12,
11538        EOSType::IOS12_1,
11539        EOSType::AndroidUnknown,
11540        EOSType::Android6,
11541        EOSType::Android7,
11542        EOSType::Android8,
11543        EOSType::Android9,
11544        EOSType::UMQ,
11545        EOSType::PS3,
11546        EOSType::MacOSUnknown,
11547        EOSType::MacOS104,
11548        EOSType::MacOS105,
11549        EOSType::MacOS1058,
11550        EOSType::MacOS106,
11551        EOSType::MacOS1063,
11552        EOSType::MacOS1064_slgu,
11553        EOSType::MacOS1067,
11554        EOSType::MacOS107,
11555        EOSType::MacOS108,
11556        EOSType::MacOS109,
11557        EOSType::MacOS1010,
11558        EOSType::MacOS1011,
11559        EOSType::MacOS1012,
11560        EOSType::Macos1013,
11561        EOSType::Macos1014,
11562        EOSType::Macos1015,
11563        EOSType::MacOS1016,
11564        EOSType::MacOS11,
11565        EOSType::MacOS111,
11566        EOSType::MacOS1017,
11567        EOSType::MacOS12,
11568        EOSType::MacOS1018,
11569        EOSType::MacOS13,
11570        EOSType::MacOS1019,
11571        EOSType::MacOS14,
11572        EOSType::MacOS1020,
11573        EOSType::MacOS15,
11574        EOSType::MacOSMax,
11575        EOSType::LinuxUnknown,
11576        EOSType::Linux22,
11577        EOSType::Linux24,
11578        EOSType::Linux26,
11579        EOSType::Linux32,
11580        EOSType::Linux35,
11581        EOSType::Linux36,
11582        EOSType::Linux310,
11583        EOSType::Linux316,
11584        EOSType::Linux318,
11585        EOSType::Linux3x,
11586        EOSType::Linux4x,
11587        EOSType::Linux41,
11588        EOSType::Linux44,
11589        EOSType::Linux49,
11590        EOSType::Linux414,
11591        EOSType::Linux419,
11592        EOSType::Linux5x,
11593        EOSType::Linux54,
11594        EOSType::Linux6x,
11595        EOSType::Linux7x,
11596        EOSType::Linux510,
11597        EOSType::LinuxMax,
11598        EOSType::WinUnknown,
11599        EOSType::Win311,
11600        EOSType::Win95,
11601        EOSType::Win98,
11602        EOSType::WinME,
11603        EOSType::WinNT,
11604        EOSType::Win2000,
11605        EOSType::WinXP,
11606        EOSType::Win2003,
11607        EOSType::WinVista,
11608        EOSType::Windows7,
11609        EOSType::Win2008,
11610        EOSType::Win2012,
11611        EOSType::Windows8,
11612        EOSType::Windows81,
11613        EOSType::Win2012R2,
11614        EOSType::Windows10,
11615        EOSType::Win2016,
11616        EOSType::Win2019,
11617        EOSType::Win2022,
11618        EOSType::Win11,
11619        EOSType::WinMAX,
11620    ];
11621
11622    /// The numeric value of this variant.
11623    pub const fn value(self) -> i32 {
11624        self as i32
11625    }
11626
11627    /// Builds a variant from its numeric value.
11628    ///
11629    /// When several variants share a value, the first declared one is returned.
11630    pub fn from_value(value: i32) -> Option<Self> {
11631        match value {
11632            -1 => Some(EOSType::Unknown),
11633            -700 => Some(EOSType::Web),
11634            -600 => Some(EOSType::IOSUnknown),
11635            -599 => Some(EOSType::IOS1),
11636            -598 => Some(EOSType::IOS2),
11637            -597 => Some(EOSType::IOS3),
11638            -596 => Some(EOSType::IOS4),
11639            -595 => Some(EOSType::IOS5),
11640            -594 => Some(EOSType::IOS6),
11641            -593 => Some(EOSType::IOS6_1),
11642            -592 => Some(EOSType::IOS7),
11643            -591 => Some(EOSType::IOS7_1),
11644            -590 => Some(EOSType::IOS8),
11645            -589 => Some(EOSType::IOS8_1),
11646            -588 => Some(EOSType::IOS8_2),
11647            -587 => Some(EOSType::IOS8_3),
11648            -586 => Some(EOSType::IOS8_4),
11649            -585 => Some(EOSType::IOS9),
11650            -584 => Some(EOSType::IOS9_1),
11651            -583 => Some(EOSType::IOS9_2),
11652            -582 => Some(EOSType::IOS9_3),
11653            -581 => Some(EOSType::IOS10),
11654            -580 => Some(EOSType::IOS10_1),
11655            -579 => Some(EOSType::IOS10_2),
11656            -578 => Some(EOSType::IOS10_3),
11657            -577 => Some(EOSType::IOS11),
11658            -576 => Some(EOSType::IOS11_1),
11659            -575 => Some(EOSType::IOS11_2),
11660            -574 => Some(EOSType::IOS11_3),
11661            -573 => Some(EOSType::IOS11_4),
11662            -572 => Some(EOSType::IOS12),
11663            -571 => Some(EOSType::IOS12_1),
11664            -500 => Some(EOSType::AndroidUnknown),
11665            -499 => Some(EOSType::Android6),
11666            -498 => Some(EOSType::Android7),
11667            -497 => Some(EOSType::Android8),
11668            -496 => Some(EOSType::Android9),
11669            -400 => Some(EOSType::UMQ),
11670            -300 => Some(EOSType::PS3),
11671            -102 => Some(EOSType::MacOSUnknown),
11672            -101 => Some(EOSType::MacOS104),
11673            -100 => Some(EOSType::MacOS105),
11674            -99 => Some(EOSType::MacOS1058),
11675            -95 => Some(EOSType::MacOS106),
11676            -94 => Some(EOSType::MacOS1063),
11677            -93 => Some(EOSType::MacOS1064_slgu),
11678            -92 => Some(EOSType::MacOS1067),
11679            -90 => Some(EOSType::MacOS107),
11680            -89 => Some(EOSType::MacOS108),
11681            -88 => Some(EOSType::MacOS109),
11682            -87 => Some(EOSType::MacOS1010),
11683            -86 => Some(EOSType::MacOS1011),
11684            -85 => Some(EOSType::MacOS1012),
11685            -84 => Some(EOSType::Macos1013),
11686            -83 => Some(EOSType::Macos1014),
11687            -82 => Some(EOSType::Macos1015),
11688            -81 => Some(EOSType::MacOS1016),
11689            -80 => Some(EOSType::MacOS11),
11690            -79 => Some(EOSType::MacOS111),
11691            -78 => Some(EOSType::MacOS1017),
11692            -77 => Some(EOSType::MacOS12),
11693            -76 => Some(EOSType::MacOS1018),
11694            -75 => Some(EOSType::MacOS13),
11695            -74 => Some(EOSType::MacOS1019),
11696            -73 => Some(EOSType::MacOS14),
11697            -72 => Some(EOSType::MacOS1020),
11698            -71 => Some(EOSType::MacOS15),
11699            -203 => Some(EOSType::LinuxUnknown),
11700            -202 => Some(EOSType::Linux22),
11701            -201 => Some(EOSType::Linux24),
11702            -200 => Some(EOSType::Linux26),
11703            -199 => Some(EOSType::Linux32),
11704            -198 => Some(EOSType::Linux35),
11705            -197 => Some(EOSType::Linux36),
11706            -196 => Some(EOSType::Linux310),
11707            -195 => Some(EOSType::Linux316),
11708            -194 => Some(EOSType::Linux318),
11709            -193 => Some(EOSType::Linux3x),
11710            -192 => Some(EOSType::Linux4x),
11711            -191 => Some(EOSType::Linux41),
11712            -190 => Some(EOSType::Linux44),
11713            -189 => Some(EOSType::Linux49),
11714            -188 => Some(EOSType::Linux414),
11715            -187 => Some(EOSType::Linux419),
11716            -186 => Some(EOSType::Linux5x),
11717            -185 => Some(EOSType::Linux54),
11718            -184 => Some(EOSType::Linux6x),
11719            -183 => Some(EOSType::Linux7x),
11720            -182 => Some(EOSType::Linux510),
11721            0 => Some(EOSType::WinUnknown),
11722            1 => Some(EOSType::Win311),
11723            2 => Some(EOSType::Win95),
11724            3 => Some(EOSType::Win98),
11725            4 => Some(EOSType::WinME),
11726            5 => Some(EOSType::WinNT),
11727            6 => Some(EOSType::Win2000),
11728            7 => Some(EOSType::WinXP),
11729            8 => Some(EOSType::Win2003),
11730            9 => Some(EOSType::WinVista),
11731            10 => Some(EOSType::Windows7),
11732            11 => Some(EOSType::Win2008),
11733            12 => Some(EOSType::Win2012),
11734            13 => Some(EOSType::Windows8),
11735            14 => Some(EOSType::Windows81),
11736            15 => Some(EOSType::Win2012R2),
11737            16 => Some(EOSType::Windows10),
11738            17 => Some(EOSType::Win2016),
11739            18 => Some(EOSType::Win2019),
11740            19 => Some(EOSType::Win2022),
11741            20 => Some(EOSType::Win11),
11742            21 => Some(EOSType::WinMAX),
11743            _ => None,
11744        }
11745    }
11746}
11747
11748impl TryFrom<i32> for EOSType {
11749    type Error = UnknownEnumValue;
11750
11751    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
11752        Self::from_value(value).ok_or(UnknownEnumValue::new("EOSType", value as i128))
11753    }
11754}
11755
11756impl From<EOSType> for i32 {
11757    fn from(value: EOSType) -> i32 {
11758        value as i32
11759    }
11760}
11761
11762/// The `EServerType` enumeration.
11763///
11764/// Source: `lang/steammsg.steamd`.
11765#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
11766#[repr(i32)]
11767pub enum EServerType {
11768    Util = -2,
11769    Client = -3,
11770    CServer = -4,
11771    CEconBase = -5,
11772    Invalid = -1,
11773    First = 0,
11774    GM = 1,
11775    AM = 3,
11776    BS = 4,
11777    VS = 5,
11778    ATS = 6,
11779    CM = 7,
11780    FBS = 8,
11781    BoxMonitor = 9,
11782    SS = 10,
11783    DRMS = 11,
11784    Console = 13,
11785    PICS = 14,
11786    ContentStats = 16,
11787    DP = 17,
11788    WG = 18,
11789    SM = 19,
11790    SLC = 20,
11791    UFS = 21,
11792    Community = 24,
11793    AppInformation = 26,
11794    Spare = 27,
11795    FTS = 28,
11796    SiteLicense = 29,
11797    PS = 30,
11798    IS = 31,
11799    CCS = 32,
11800    DFS = 33,
11801    LBS = 34,
11802    MDS = 35,
11803    CS = 36,
11804    GC = 37,
11805    NS = 38,
11806    OGS = 39,
11807    WebAPI = 40,
11808    UDS = 41,
11809    MMS = 42,
11810    GMS = 43,
11811    KGS = 44,
11812    UCM = 45,
11813    RM = 46,
11814    FS = 47,
11815    Econ = 48,
11816    Backpack = 49,
11817    UGS = 50,
11818    StoreFeature = 51,
11819    MoneyStats = 52,
11820    CRE = 53,
11821    UMQ = 54,
11822    Workshop = 55,
11823    BRP = 56,
11824    GCH = 57,
11825    MPAS = 58,
11826    Trade = 59,
11827    Secrets = 60,
11828    Logsink = 61,
11829    Market = 62,
11830    Quest = 63,
11831    WDS = 64,
11832    ACS = 65,
11833    PNP = 66,
11834    TaxForm = 67,
11835    ExternalMonitor = 68,
11836    Parental = 69,
11837    PartnerUpload = 70,
11838    Partner = 71,
11839    ES = 72,
11840    DepotWebContent = 73,
11841    ExternalConfig = 74,
11842    GameNotifications = 75,
11843    MarketRepl = 76,
11844    MarketSearch = 77,
11845    Localization = 78,
11846    Steam2Emulator = 79,
11847    PublicTest = 80,
11848    SolrMgr = 81,
11849    BroadcastIngester = 82,
11850    BroadcastDirectory = 83,
11851    VideoManager = 84,
11852    TradeOffer = 85,
11853    BroadcastChat = 86,
11854    Phone = 87,
11855    AccountScore = 88,
11856    Support = 89,
11857    LogRequest = 90,
11858    LogWorker = 91,
11859    EmailDelivery = 92,
11860    InventoryManagement = 93,
11861    Auth = 94,
11862    StoreCatalog = 95,
11863    HLTVRelay = 96,
11864    IDLS = 97,
11865    Perf = 98,
11866    ItemInventory = 99,
11867    Watchdog = 100,
11868    AccountHistory = 101,
11869    Chat = 102,
11870    Shader = 103,
11871    AccountHardware = 104,
11872    WebRTC = 105,
11873    Giveaway = 106,
11874    ChatRoom = 107,
11875    VoiceChat = 108,
11876    QMS = 109,
11877    Trust = 110,
11878    TimeMachine = 111,
11879    VACDBMaster = 112,
11880    ContentServerConfig = 113,
11881    Minigame = 114,
11882    MLTrain = 115,
11883    VACTest = 116,
11884    TaxService = 117,
11885    MLInference = 118,
11886    UGSAggregate = 119,
11887    TURN = 120,
11888    RemoteClient = 121,
11889    BroadcastOrigin = 122,
11890    BroadcastChannel = 123,
11891    SteamAR = 124,
11892    China = 125,
11893    CrashDump = 126,
11894}
11895
11896#[allow(deprecated)]
11897impl EServerType {
11898    /// Alias of [`EServerType::First`].
11899    pub const Shell: EServerType = EServerType::First;
11900
11901    /// Every variant of `EServerType`.
11902    pub const ALL: &'static [EServerType] = &[
11903        EServerType::Util,
11904        EServerType::Client,
11905        EServerType::CServer,
11906        EServerType::CEconBase,
11907        EServerType::Invalid,
11908        EServerType::First,
11909        EServerType::Shell,
11910        EServerType::GM,
11911        EServerType::AM,
11912        EServerType::BS,
11913        EServerType::VS,
11914        EServerType::ATS,
11915        EServerType::CM,
11916        EServerType::FBS,
11917        EServerType::BoxMonitor,
11918        EServerType::SS,
11919        EServerType::DRMS,
11920        EServerType::Console,
11921        EServerType::PICS,
11922        EServerType::ContentStats,
11923        EServerType::DP,
11924        EServerType::WG,
11925        EServerType::SM,
11926        EServerType::SLC,
11927        EServerType::UFS,
11928        EServerType::Community,
11929        EServerType::AppInformation,
11930        EServerType::Spare,
11931        EServerType::FTS,
11932        EServerType::SiteLicense,
11933        EServerType::PS,
11934        EServerType::IS,
11935        EServerType::CCS,
11936        EServerType::DFS,
11937        EServerType::LBS,
11938        EServerType::MDS,
11939        EServerType::CS,
11940        EServerType::GC,
11941        EServerType::NS,
11942        EServerType::OGS,
11943        EServerType::WebAPI,
11944        EServerType::UDS,
11945        EServerType::MMS,
11946        EServerType::GMS,
11947        EServerType::KGS,
11948        EServerType::UCM,
11949        EServerType::RM,
11950        EServerType::FS,
11951        EServerType::Econ,
11952        EServerType::Backpack,
11953        EServerType::UGS,
11954        EServerType::StoreFeature,
11955        EServerType::MoneyStats,
11956        EServerType::CRE,
11957        EServerType::UMQ,
11958        EServerType::Workshop,
11959        EServerType::BRP,
11960        EServerType::GCH,
11961        EServerType::MPAS,
11962        EServerType::Trade,
11963        EServerType::Secrets,
11964        EServerType::Logsink,
11965        EServerType::Market,
11966        EServerType::Quest,
11967        EServerType::WDS,
11968        EServerType::ACS,
11969        EServerType::PNP,
11970        EServerType::TaxForm,
11971        EServerType::ExternalMonitor,
11972        EServerType::Parental,
11973        EServerType::PartnerUpload,
11974        EServerType::Partner,
11975        EServerType::ES,
11976        EServerType::DepotWebContent,
11977        EServerType::ExternalConfig,
11978        EServerType::GameNotifications,
11979        EServerType::MarketRepl,
11980        EServerType::MarketSearch,
11981        EServerType::Localization,
11982        EServerType::Steam2Emulator,
11983        EServerType::PublicTest,
11984        EServerType::SolrMgr,
11985        EServerType::BroadcastIngester,
11986        EServerType::BroadcastDirectory,
11987        EServerType::VideoManager,
11988        EServerType::TradeOffer,
11989        EServerType::BroadcastChat,
11990        EServerType::Phone,
11991        EServerType::AccountScore,
11992        EServerType::Support,
11993        EServerType::LogRequest,
11994        EServerType::LogWorker,
11995        EServerType::EmailDelivery,
11996        EServerType::InventoryManagement,
11997        EServerType::Auth,
11998        EServerType::StoreCatalog,
11999        EServerType::HLTVRelay,
12000        EServerType::IDLS,
12001        EServerType::Perf,
12002        EServerType::ItemInventory,
12003        EServerType::Watchdog,
12004        EServerType::AccountHistory,
12005        EServerType::Chat,
12006        EServerType::Shader,
12007        EServerType::AccountHardware,
12008        EServerType::WebRTC,
12009        EServerType::Giveaway,
12010        EServerType::ChatRoom,
12011        EServerType::VoiceChat,
12012        EServerType::QMS,
12013        EServerType::Trust,
12014        EServerType::TimeMachine,
12015        EServerType::VACDBMaster,
12016        EServerType::ContentServerConfig,
12017        EServerType::Minigame,
12018        EServerType::MLTrain,
12019        EServerType::VACTest,
12020        EServerType::TaxService,
12021        EServerType::MLInference,
12022        EServerType::UGSAggregate,
12023        EServerType::TURN,
12024        EServerType::RemoteClient,
12025        EServerType::BroadcastOrigin,
12026        EServerType::BroadcastChannel,
12027        EServerType::SteamAR,
12028        EServerType::China,
12029        EServerType::CrashDump,
12030    ];
12031
12032    /// The numeric value of this variant.
12033    pub const fn value(self) -> i32 {
12034        self as i32
12035    }
12036
12037    /// Builds a variant from its numeric value.
12038    ///
12039    /// When several variants share a value, the first declared one is returned.
12040    pub fn from_value(value: i32) -> Option<Self> {
12041        match value {
12042            -2 => Some(EServerType::Util),
12043            -3 => Some(EServerType::Client),
12044            -4 => Some(EServerType::CServer),
12045            -5 => Some(EServerType::CEconBase),
12046            -1 => Some(EServerType::Invalid),
12047            0 => Some(EServerType::First),
12048            1 => Some(EServerType::GM),
12049            3 => Some(EServerType::AM),
12050            4 => Some(EServerType::BS),
12051            5 => Some(EServerType::VS),
12052            6 => Some(EServerType::ATS),
12053            7 => Some(EServerType::CM),
12054            8 => Some(EServerType::FBS),
12055            9 => Some(EServerType::BoxMonitor),
12056            10 => Some(EServerType::SS),
12057            11 => Some(EServerType::DRMS),
12058            13 => Some(EServerType::Console),
12059            14 => Some(EServerType::PICS),
12060            16 => Some(EServerType::ContentStats),
12061            17 => Some(EServerType::DP),
12062            18 => Some(EServerType::WG),
12063            19 => Some(EServerType::SM),
12064            20 => Some(EServerType::SLC),
12065            21 => Some(EServerType::UFS),
12066            24 => Some(EServerType::Community),
12067            26 => Some(EServerType::AppInformation),
12068            27 => Some(EServerType::Spare),
12069            28 => Some(EServerType::FTS),
12070            29 => Some(EServerType::SiteLicense),
12071            30 => Some(EServerType::PS),
12072            31 => Some(EServerType::IS),
12073            32 => Some(EServerType::CCS),
12074            33 => Some(EServerType::DFS),
12075            34 => Some(EServerType::LBS),
12076            35 => Some(EServerType::MDS),
12077            36 => Some(EServerType::CS),
12078            37 => Some(EServerType::GC),
12079            38 => Some(EServerType::NS),
12080            39 => Some(EServerType::OGS),
12081            40 => Some(EServerType::WebAPI),
12082            41 => Some(EServerType::UDS),
12083            42 => Some(EServerType::MMS),
12084            43 => Some(EServerType::GMS),
12085            44 => Some(EServerType::KGS),
12086            45 => Some(EServerType::UCM),
12087            46 => Some(EServerType::RM),
12088            47 => Some(EServerType::FS),
12089            48 => Some(EServerType::Econ),
12090            49 => Some(EServerType::Backpack),
12091            50 => Some(EServerType::UGS),
12092            51 => Some(EServerType::StoreFeature),
12093            52 => Some(EServerType::MoneyStats),
12094            53 => Some(EServerType::CRE),
12095            54 => Some(EServerType::UMQ),
12096            55 => Some(EServerType::Workshop),
12097            56 => Some(EServerType::BRP),
12098            57 => Some(EServerType::GCH),
12099            58 => Some(EServerType::MPAS),
12100            59 => Some(EServerType::Trade),
12101            60 => Some(EServerType::Secrets),
12102            61 => Some(EServerType::Logsink),
12103            62 => Some(EServerType::Market),
12104            63 => Some(EServerType::Quest),
12105            64 => Some(EServerType::WDS),
12106            65 => Some(EServerType::ACS),
12107            66 => Some(EServerType::PNP),
12108            67 => Some(EServerType::TaxForm),
12109            68 => Some(EServerType::ExternalMonitor),
12110            69 => Some(EServerType::Parental),
12111            70 => Some(EServerType::PartnerUpload),
12112            71 => Some(EServerType::Partner),
12113            72 => Some(EServerType::ES),
12114            73 => Some(EServerType::DepotWebContent),
12115            74 => Some(EServerType::ExternalConfig),
12116            75 => Some(EServerType::GameNotifications),
12117            76 => Some(EServerType::MarketRepl),
12118            77 => Some(EServerType::MarketSearch),
12119            78 => Some(EServerType::Localization),
12120            79 => Some(EServerType::Steam2Emulator),
12121            80 => Some(EServerType::PublicTest),
12122            81 => Some(EServerType::SolrMgr),
12123            82 => Some(EServerType::BroadcastIngester),
12124            83 => Some(EServerType::BroadcastDirectory),
12125            84 => Some(EServerType::VideoManager),
12126            85 => Some(EServerType::TradeOffer),
12127            86 => Some(EServerType::BroadcastChat),
12128            87 => Some(EServerType::Phone),
12129            88 => Some(EServerType::AccountScore),
12130            89 => Some(EServerType::Support),
12131            90 => Some(EServerType::LogRequest),
12132            91 => Some(EServerType::LogWorker),
12133            92 => Some(EServerType::EmailDelivery),
12134            93 => Some(EServerType::InventoryManagement),
12135            94 => Some(EServerType::Auth),
12136            95 => Some(EServerType::StoreCatalog),
12137            96 => Some(EServerType::HLTVRelay),
12138            97 => Some(EServerType::IDLS),
12139            98 => Some(EServerType::Perf),
12140            99 => Some(EServerType::ItemInventory),
12141            100 => Some(EServerType::Watchdog),
12142            101 => Some(EServerType::AccountHistory),
12143            102 => Some(EServerType::Chat),
12144            103 => Some(EServerType::Shader),
12145            104 => Some(EServerType::AccountHardware),
12146            105 => Some(EServerType::WebRTC),
12147            106 => Some(EServerType::Giveaway),
12148            107 => Some(EServerType::ChatRoom),
12149            108 => Some(EServerType::VoiceChat),
12150            109 => Some(EServerType::QMS),
12151            110 => Some(EServerType::Trust),
12152            111 => Some(EServerType::TimeMachine),
12153            112 => Some(EServerType::VACDBMaster),
12154            113 => Some(EServerType::ContentServerConfig),
12155            114 => Some(EServerType::Minigame),
12156            115 => Some(EServerType::MLTrain),
12157            116 => Some(EServerType::VACTest),
12158            117 => Some(EServerType::TaxService),
12159            118 => Some(EServerType::MLInference),
12160            119 => Some(EServerType::UGSAggregate),
12161            120 => Some(EServerType::TURN),
12162            121 => Some(EServerType::RemoteClient),
12163            122 => Some(EServerType::BroadcastOrigin),
12164            123 => Some(EServerType::BroadcastChannel),
12165            124 => Some(EServerType::SteamAR),
12166            125 => Some(EServerType::China),
12167            126 => Some(EServerType::CrashDump),
12168            _ => None,
12169        }
12170    }
12171}
12172
12173impl TryFrom<i32> for EServerType {
12174    type Error = UnknownEnumValue;
12175
12176    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
12177        Self::from_value(value).ok_or(UnknownEnumValue::new("EServerType", value as i128))
12178    }
12179}
12180
12181impl From<EServerType> for i32 {
12182    fn from(value: EServerType) -> i32 {
12183        value as i32
12184    }
12185}
12186
12187/// The `EBillingType` enumeration.
12188///
12189/// Source: `lang/steammsg.steamd`.
12190#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12191#[repr(i32)]
12192pub enum EBillingType {
12193    NoCost = 0,
12194    BillOnceOnly = 1,
12195    BillMonthly = 2,
12196    ProofOfPrepurchaseOnly = 3,
12197    GuestPass = 4,
12198    HardwarePromo = 5,
12199    Gift = 6,
12200    AutoGrant = 7,
12201    OEMTicket = 8,
12202    RecurringOption = 9,
12203    BillOnceOrCDKey = 10,
12204    Repurchaseable = 11,
12205    FreeOnDemand = 12,
12206    Rental = 13,
12207    CommercialLicense = 14,
12208    FreeCommercialLicense = 15,
12209    NumBillingTypes = 16,
12210}
12211
12212#[allow(deprecated)]
12213impl EBillingType {
12214    /// Every variant of `EBillingType`.
12215    pub const ALL: &'static [EBillingType] = &[
12216        EBillingType::NoCost,
12217        EBillingType::BillOnceOnly,
12218        EBillingType::BillMonthly,
12219        EBillingType::ProofOfPrepurchaseOnly,
12220        EBillingType::GuestPass,
12221        EBillingType::HardwarePromo,
12222        EBillingType::Gift,
12223        EBillingType::AutoGrant,
12224        EBillingType::OEMTicket,
12225        EBillingType::RecurringOption,
12226        EBillingType::BillOnceOrCDKey,
12227        EBillingType::Repurchaseable,
12228        EBillingType::FreeOnDemand,
12229        EBillingType::Rental,
12230        EBillingType::CommercialLicense,
12231        EBillingType::FreeCommercialLicense,
12232        EBillingType::NumBillingTypes,
12233    ];
12234
12235    /// The numeric value of this variant.
12236    pub const fn value(self) -> i32 {
12237        self as i32
12238    }
12239
12240    /// Builds a variant from its numeric value.
12241    ///
12242    /// When several variants share a value, the first declared one is returned.
12243    pub fn from_value(value: i32) -> Option<Self> {
12244        match value {
12245            0 => Some(EBillingType::NoCost),
12246            1 => Some(EBillingType::BillOnceOnly),
12247            2 => Some(EBillingType::BillMonthly),
12248            3 => Some(EBillingType::ProofOfPrepurchaseOnly),
12249            4 => Some(EBillingType::GuestPass),
12250            5 => Some(EBillingType::HardwarePromo),
12251            6 => Some(EBillingType::Gift),
12252            7 => Some(EBillingType::AutoGrant),
12253            8 => Some(EBillingType::OEMTicket),
12254            9 => Some(EBillingType::RecurringOption),
12255            10 => Some(EBillingType::BillOnceOrCDKey),
12256            11 => Some(EBillingType::Repurchaseable),
12257            12 => Some(EBillingType::FreeOnDemand),
12258            13 => Some(EBillingType::Rental),
12259            14 => Some(EBillingType::CommercialLicense),
12260            15 => Some(EBillingType::FreeCommercialLicense),
12261            16 => Some(EBillingType::NumBillingTypes),
12262            _ => None,
12263        }
12264    }
12265}
12266
12267impl TryFrom<i32> for EBillingType {
12268    type Error = UnknownEnumValue;
12269
12270    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
12271        Self::from_value(value).ok_or(UnknownEnumValue::new("EBillingType", value as i128))
12272    }
12273}
12274
12275#[allow(deprecated)]
12276impl TryFrom<u32> for EBillingType {
12277    type Error = UnknownEnumValue;
12278
12279    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12280        match value {
12281            0 => Some(EBillingType::NoCost),
12282            1 => Some(EBillingType::BillOnceOnly),
12283            2 => Some(EBillingType::BillMonthly),
12284            3 => Some(EBillingType::ProofOfPrepurchaseOnly),
12285            4 => Some(EBillingType::GuestPass),
12286            5 => Some(EBillingType::HardwarePromo),
12287            6 => Some(EBillingType::Gift),
12288            7 => Some(EBillingType::AutoGrant),
12289            8 => Some(EBillingType::OEMTicket),
12290            9 => Some(EBillingType::RecurringOption),
12291            10 => Some(EBillingType::BillOnceOrCDKey),
12292            11 => Some(EBillingType::Repurchaseable),
12293            12 => Some(EBillingType::FreeOnDemand),
12294            13 => Some(EBillingType::Rental),
12295            14 => Some(EBillingType::CommercialLicense),
12296            15 => Some(EBillingType::FreeCommercialLicense),
12297            16 => Some(EBillingType::NumBillingTypes),
12298            _ => None,
12299        }
12300        .ok_or(UnknownEnumValue::new("EBillingType", value as i128))
12301    }
12302}
12303
12304impl From<EBillingType> for i32 {
12305    fn from(value: EBillingType) -> i32 {
12306        value as i32
12307    }
12308}
12309
12310/// The `EPackageStatus` enumeration.
12311///
12312/// Source: `lang/steammsg.steamd`.
12313#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12314#[repr(i32)]
12315pub enum EPackageStatus {
12316    Available = 0,
12317    Preorder = 1,
12318    Unavailable = 2,
12319    Invalid = 3,
12320}
12321
12322#[allow(deprecated)]
12323impl EPackageStatus {
12324    /// Every variant of `EPackageStatus`.
12325    pub const ALL: &'static [EPackageStatus] = &[
12326        EPackageStatus::Available,
12327        EPackageStatus::Preorder,
12328        EPackageStatus::Unavailable,
12329        EPackageStatus::Invalid,
12330    ];
12331
12332    /// The numeric value of this variant.
12333    pub const fn value(self) -> i32 {
12334        self as i32
12335    }
12336
12337    /// Builds a variant from its numeric value.
12338    ///
12339    /// When several variants share a value, the first declared one is returned.
12340    pub fn from_value(value: i32) -> Option<Self> {
12341        match value {
12342            0 => Some(EPackageStatus::Available),
12343            1 => Some(EPackageStatus::Preorder),
12344            2 => Some(EPackageStatus::Unavailable),
12345            3 => Some(EPackageStatus::Invalid),
12346            _ => None,
12347        }
12348    }
12349}
12350
12351impl TryFrom<i32> for EPackageStatus {
12352    type Error = UnknownEnumValue;
12353
12354    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
12355        Self::from_value(value).ok_or(UnknownEnumValue::new("EPackageStatus", value as i128))
12356    }
12357}
12358
12359#[allow(deprecated)]
12360impl TryFrom<u32> for EPackageStatus {
12361    type Error = UnknownEnumValue;
12362
12363    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12364        match value {
12365            0 => Some(EPackageStatus::Available),
12366            1 => Some(EPackageStatus::Preorder),
12367            2 => Some(EPackageStatus::Unavailable),
12368            3 => Some(EPackageStatus::Invalid),
12369            _ => None,
12370        }
12371        .ok_or(UnknownEnumValue::new("EPackageStatus", value as i128))
12372    }
12373}
12374
12375impl From<EPackageStatus> for i32 {
12376    fn from(value: EPackageStatus) -> i32 {
12377        value as i32
12378    }
12379}
12380
12381/// The `EActivationCodeClass` enumeration.
12382///
12383/// Source: `lang/steammsg.steamd`.
12384#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12385#[repr(u32)]
12386pub enum EActivationCodeClass {
12387    WonCDKey = 0,
12388    ValveCDKey = 1,
12389    Doom3CDKey = 2,
12390    DBLookup = 3,
12391    Steam2010Key = 4,
12392    Max = 5,
12393    Test = 2147483647,
12394    Invalid = 4294967295,
12395}
12396
12397#[allow(deprecated)]
12398impl EActivationCodeClass {
12399    /// Every variant of `EActivationCodeClass`.
12400    pub const ALL: &'static [EActivationCodeClass] = &[
12401        EActivationCodeClass::WonCDKey,
12402        EActivationCodeClass::ValveCDKey,
12403        EActivationCodeClass::Doom3CDKey,
12404        EActivationCodeClass::DBLookup,
12405        EActivationCodeClass::Steam2010Key,
12406        EActivationCodeClass::Max,
12407        EActivationCodeClass::Test,
12408        EActivationCodeClass::Invalid,
12409    ];
12410
12411    /// The numeric value of this variant.
12412    pub const fn value(self) -> u32 {
12413        self as u32
12414    }
12415
12416    /// Builds a variant from its numeric value.
12417    ///
12418    /// When several variants share a value, the first declared one is returned.
12419    pub fn from_value(value: u32) -> Option<Self> {
12420        match value {
12421            0 => Some(EActivationCodeClass::WonCDKey),
12422            1 => Some(EActivationCodeClass::ValveCDKey),
12423            2 => Some(EActivationCodeClass::Doom3CDKey),
12424            3 => Some(EActivationCodeClass::DBLookup),
12425            4 => Some(EActivationCodeClass::Steam2010Key),
12426            5 => Some(EActivationCodeClass::Max),
12427            2147483647 => Some(EActivationCodeClass::Test),
12428            4294967295 => Some(EActivationCodeClass::Invalid),
12429            _ => None,
12430        }
12431    }
12432}
12433
12434impl TryFrom<u32> for EActivationCodeClass {
12435    type Error = UnknownEnumValue;
12436
12437    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12438        Self::from_value(value).ok_or(UnknownEnumValue::new("EActivationCodeClass", value as i128))
12439    }
12440}
12441
12442impl From<EActivationCodeClass> for u32 {
12443    fn from(value: EActivationCodeClass) -> u32 {
12444        value as u32
12445    }
12446}
12447
12448/// The `EChatMemberStateChange` enumeration.
12449///
12450/// A bit flag set: the variants can be combined with a bitwise or.
12451///
12452/// Source: `lang/steammsg.steamd`.
12453#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12454#[repr(i32)]
12455pub enum EChatMemberStateChange {
12456    Entered = 1,
12457    Left = 2,
12458    Disconnected = 4,
12459    Kicked = 8,
12460    Banned = 16,
12461    VoiceSpeaking = 4096,
12462    VoiceDoneSpeaking = 8192,
12463}
12464
12465#[allow(deprecated)]
12466impl EChatMemberStateChange {
12467    /// Every variant of `EChatMemberStateChange`.
12468    pub const ALL: &'static [EChatMemberStateChange] = &[
12469        EChatMemberStateChange::Entered,
12470        EChatMemberStateChange::Left,
12471        EChatMemberStateChange::Disconnected,
12472        EChatMemberStateChange::Kicked,
12473        EChatMemberStateChange::Banned,
12474        EChatMemberStateChange::VoiceSpeaking,
12475        EChatMemberStateChange::VoiceDoneSpeaking,
12476    ];
12477
12478    /// The numeric value of this variant.
12479    pub const fn value(self) -> i32 {
12480        self as i32
12481    }
12482
12483    /// The raw bit pattern of this flag set.
12484    pub const fn bits(self) -> i32 {
12485        self as i32
12486    }
12487
12488    /// True when no bit of this flag set is set.
12489    pub const fn is_empty(self) -> bool {
12490        (self as i32) == 0
12491    }
12492
12493    /// True when every bit of `other` is set in this flag set.
12494    pub const fn contains(self, other: Self) -> bool {
12495        (self as i32 & other as i32) == (other as i32)
12496    }
12497
12498    /// The bitwise or of two flag sets, as a raw value.
12499    pub const fn union(self, other: Self) -> i32 {
12500        (self as i32) | (other as i32)
12501    }
12502
12503    /// The bitwise and of two flag sets, as a raw value.
12504    pub const fn intersect(self, other: Self) -> i32 {
12505        (self as i32) & (other as i32)
12506    }
12507
12508    /// Builds a variant from its numeric value.
12509    ///
12510    /// When several variants share a value, the first declared one is returned.
12511    pub fn from_value(value: i32) -> Option<Self> {
12512        match value {
12513            1 => Some(EChatMemberStateChange::Entered),
12514            2 => Some(EChatMemberStateChange::Left),
12515            4 => Some(EChatMemberStateChange::Disconnected),
12516            8 => Some(EChatMemberStateChange::Kicked),
12517            16 => Some(EChatMemberStateChange::Banned),
12518            4096 => Some(EChatMemberStateChange::VoiceSpeaking),
12519            8192 => Some(EChatMemberStateChange::VoiceDoneSpeaking),
12520            _ => None,
12521        }
12522    }
12523}
12524
12525impl TryFrom<i32> for EChatMemberStateChange {
12526    type Error = UnknownEnumValue;
12527
12528    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
12529        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatMemberStateChange", value as i128))
12530    }
12531}
12532
12533#[allow(deprecated)]
12534impl TryFrom<u32> for EChatMemberStateChange {
12535    type Error = UnknownEnumValue;
12536
12537    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12538        match value {
12539            1 => Some(EChatMemberStateChange::Entered),
12540            2 => Some(EChatMemberStateChange::Left),
12541            4 => Some(EChatMemberStateChange::Disconnected),
12542            8 => Some(EChatMemberStateChange::Kicked),
12543            16 => Some(EChatMemberStateChange::Banned),
12544            4096 => Some(EChatMemberStateChange::VoiceSpeaking),
12545            8192 => Some(EChatMemberStateChange::VoiceDoneSpeaking),
12546            _ => None,
12547        }
12548        .ok_or(UnknownEnumValue::new("EChatMemberStateChange", value as i128))
12549    }
12550}
12551
12552impl From<EChatMemberStateChange> for i32 {
12553    fn from(value: EChatMemberStateChange) -> i32 {
12554        value as i32
12555    }
12556}
12557
12558/// The `ERegionCode` enumeration.
12559///
12560/// Source: `lang/steammsg.steamd`.
12561#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12562#[repr(u8)]
12563pub enum ERegionCode {
12564    USEast = 0,
12565    USWest = 1,
12566    SouthAmerica = 2,
12567    Europe = 3,
12568    Asia = 4,
12569    Australia = 5,
12570    MiddleEast = 6,
12571    Africa = 7,
12572    World = 255,
12573}
12574
12575#[allow(deprecated)]
12576impl ERegionCode {
12577    /// Every variant of `ERegionCode`.
12578    pub const ALL: &'static [ERegionCode] = &[
12579        ERegionCode::USEast,
12580        ERegionCode::USWest,
12581        ERegionCode::SouthAmerica,
12582        ERegionCode::Europe,
12583        ERegionCode::Asia,
12584        ERegionCode::Australia,
12585        ERegionCode::MiddleEast,
12586        ERegionCode::Africa,
12587        ERegionCode::World,
12588    ];
12589
12590    /// The numeric value of this variant.
12591    pub const fn value(self) -> u8 {
12592        self as u8
12593    }
12594
12595    /// Builds a variant from its numeric value.
12596    ///
12597    /// When several variants share a value, the first declared one is returned.
12598    pub fn from_value(value: u8) -> Option<Self> {
12599        match value {
12600            0 => Some(ERegionCode::USEast),
12601            1 => Some(ERegionCode::USWest),
12602            2 => Some(ERegionCode::SouthAmerica),
12603            3 => Some(ERegionCode::Europe),
12604            4 => Some(ERegionCode::Asia),
12605            5 => Some(ERegionCode::Australia),
12606            6 => Some(ERegionCode::MiddleEast),
12607            7 => Some(ERegionCode::Africa),
12608            255 => Some(ERegionCode::World),
12609            _ => None,
12610        }
12611    }
12612}
12613
12614impl TryFrom<u8> for ERegionCode {
12615    type Error = UnknownEnumValue;
12616
12617    fn try_from(value: u8) -> Result<Self, UnknownEnumValue> {
12618        Self::from_value(value).ok_or(UnknownEnumValue::new("ERegionCode", value as i128))
12619    }
12620}
12621
12622#[allow(deprecated)]
12623impl TryFrom<u32> for ERegionCode {
12624    type Error = UnknownEnumValue;
12625
12626    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12627        match value {
12628            0 => Some(ERegionCode::USEast),
12629            1 => Some(ERegionCode::USWest),
12630            2 => Some(ERegionCode::SouthAmerica),
12631            3 => Some(ERegionCode::Europe),
12632            4 => Some(ERegionCode::Asia),
12633            5 => Some(ERegionCode::Australia),
12634            6 => Some(ERegionCode::MiddleEast),
12635            7 => Some(ERegionCode::Africa),
12636            255 => Some(ERegionCode::World),
12637            _ => None,
12638        }
12639        .ok_or(UnknownEnumValue::new("ERegionCode", value as i128))
12640    }
12641}
12642
12643impl From<ERegionCode> for u8 {
12644    fn from(value: ERegionCode) -> u8 {
12645        value as u8
12646    }
12647}
12648
12649/// The `ECurrencyCode` enumeration.
12650///
12651/// Source: `lang/steammsg.steamd`.
12652#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12653#[repr(i32)]
12654pub enum ECurrencyCode {
12655    Invalid = 0,
12656    USD = 1,
12657    GBP = 2,
12658    EUR = 3,
12659    CHF = 4,
12660    RUB = 5,
12661    PLN = 6,
12662    BRL = 7,
12663    JPY = 8,
12664    NOK = 9,
12665    IDR = 10,
12666    MYR = 11,
12667    PHP = 12,
12668    SGD = 13,
12669    THB = 14,
12670    VND = 15,
12671    KRW = 16,
12672    TRY = 17,
12673    UAH = 18,
12674    MXN = 19,
12675    CAD = 20,
12676    AUD = 21,
12677    NZD = 22,
12678    CNY = 23,
12679    INR = 24,
12680    CLP = 25,
12681    PEN = 26,
12682    COP = 27,
12683    ZAR = 28,
12684    HKD = 29,
12685    TWD = 30,
12686    SAR = 31,
12687    AED = 32,
12688    ARS = 34,
12689    ILS = 35,
12690    BYN = 36,
12691    KZT = 37,
12692    KWD = 38,
12693    QAR = 39,
12694    CRC = 40,
12695    UYU = 41,
12696    BGN = 42,
12697    HRK = 43,
12698    CZK = 44,
12699    DKK = 45,
12700    HUF = 46,
12701    RON = 47,
12702}
12703
12704#[allow(deprecated)]
12705impl ECurrencyCode {
12706    /// Every variant of `ECurrencyCode`.
12707    pub const ALL: &'static [ECurrencyCode] = &[
12708        ECurrencyCode::Invalid,
12709        ECurrencyCode::USD,
12710        ECurrencyCode::GBP,
12711        ECurrencyCode::EUR,
12712        ECurrencyCode::CHF,
12713        ECurrencyCode::RUB,
12714        ECurrencyCode::PLN,
12715        ECurrencyCode::BRL,
12716        ECurrencyCode::JPY,
12717        ECurrencyCode::NOK,
12718        ECurrencyCode::IDR,
12719        ECurrencyCode::MYR,
12720        ECurrencyCode::PHP,
12721        ECurrencyCode::SGD,
12722        ECurrencyCode::THB,
12723        ECurrencyCode::VND,
12724        ECurrencyCode::KRW,
12725        ECurrencyCode::TRY,
12726        ECurrencyCode::UAH,
12727        ECurrencyCode::MXN,
12728        ECurrencyCode::CAD,
12729        ECurrencyCode::AUD,
12730        ECurrencyCode::NZD,
12731        ECurrencyCode::CNY,
12732        ECurrencyCode::INR,
12733        ECurrencyCode::CLP,
12734        ECurrencyCode::PEN,
12735        ECurrencyCode::COP,
12736        ECurrencyCode::ZAR,
12737        ECurrencyCode::HKD,
12738        ECurrencyCode::TWD,
12739        ECurrencyCode::SAR,
12740        ECurrencyCode::AED,
12741        ECurrencyCode::ARS,
12742        ECurrencyCode::ILS,
12743        ECurrencyCode::BYN,
12744        ECurrencyCode::KZT,
12745        ECurrencyCode::KWD,
12746        ECurrencyCode::QAR,
12747        ECurrencyCode::CRC,
12748        ECurrencyCode::UYU,
12749        ECurrencyCode::BGN,
12750        ECurrencyCode::HRK,
12751        ECurrencyCode::CZK,
12752        ECurrencyCode::DKK,
12753        ECurrencyCode::HUF,
12754        ECurrencyCode::RON,
12755    ];
12756
12757    /// The numeric value of this variant.
12758    pub const fn value(self) -> i32 {
12759        self as i32
12760    }
12761
12762    /// Builds a variant from its numeric value.
12763    ///
12764    /// When several variants share a value, the first declared one is returned.
12765    pub fn from_value(value: i32) -> Option<Self> {
12766        match value {
12767            0 => Some(ECurrencyCode::Invalid),
12768            1 => Some(ECurrencyCode::USD),
12769            2 => Some(ECurrencyCode::GBP),
12770            3 => Some(ECurrencyCode::EUR),
12771            4 => Some(ECurrencyCode::CHF),
12772            5 => Some(ECurrencyCode::RUB),
12773            6 => Some(ECurrencyCode::PLN),
12774            7 => Some(ECurrencyCode::BRL),
12775            8 => Some(ECurrencyCode::JPY),
12776            9 => Some(ECurrencyCode::NOK),
12777            10 => Some(ECurrencyCode::IDR),
12778            11 => Some(ECurrencyCode::MYR),
12779            12 => Some(ECurrencyCode::PHP),
12780            13 => Some(ECurrencyCode::SGD),
12781            14 => Some(ECurrencyCode::THB),
12782            15 => Some(ECurrencyCode::VND),
12783            16 => Some(ECurrencyCode::KRW),
12784            17 => Some(ECurrencyCode::TRY),
12785            18 => Some(ECurrencyCode::UAH),
12786            19 => Some(ECurrencyCode::MXN),
12787            20 => Some(ECurrencyCode::CAD),
12788            21 => Some(ECurrencyCode::AUD),
12789            22 => Some(ECurrencyCode::NZD),
12790            23 => Some(ECurrencyCode::CNY),
12791            24 => Some(ECurrencyCode::INR),
12792            25 => Some(ECurrencyCode::CLP),
12793            26 => Some(ECurrencyCode::PEN),
12794            27 => Some(ECurrencyCode::COP),
12795            28 => Some(ECurrencyCode::ZAR),
12796            29 => Some(ECurrencyCode::HKD),
12797            30 => Some(ECurrencyCode::TWD),
12798            31 => Some(ECurrencyCode::SAR),
12799            32 => Some(ECurrencyCode::AED),
12800            34 => Some(ECurrencyCode::ARS),
12801            35 => Some(ECurrencyCode::ILS),
12802            36 => Some(ECurrencyCode::BYN),
12803            37 => Some(ECurrencyCode::KZT),
12804            38 => Some(ECurrencyCode::KWD),
12805            39 => Some(ECurrencyCode::QAR),
12806            40 => Some(ECurrencyCode::CRC),
12807            41 => Some(ECurrencyCode::UYU),
12808            42 => Some(ECurrencyCode::BGN),
12809            43 => Some(ECurrencyCode::HRK),
12810            44 => Some(ECurrencyCode::CZK),
12811            45 => Some(ECurrencyCode::DKK),
12812            46 => Some(ECurrencyCode::HUF),
12813            47 => Some(ECurrencyCode::RON),
12814            _ => None,
12815        }
12816    }
12817}
12818
12819impl TryFrom<i32> for ECurrencyCode {
12820    type Error = UnknownEnumValue;
12821
12822    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
12823        Self::from_value(value).ok_or(UnknownEnumValue::new("ECurrencyCode", value as i128))
12824    }
12825}
12826
12827#[allow(deprecated)]
12828impl TryFrom<u32> for ECurrencyCode {
12829    type Error = UnknownEnumValue;
12830
12831    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12832        match value {
12833            0 => Some(ECurrencyCode::Invalid),
12834            1 => Some(ECurrencyCode::USD),
12835            2 => Some(ECurrencyCode::GBP),
12836            3 => Some(ECurrencyCode::EUR),
12837            4 => Some(ECurrencyCode::CHF),
12838            5 => Some(ECurrencyCode::RUB),
12839            6 => Some(ECurrencyCode::PLN),
12840            7 => Some(ECurrencyCode::BRL),
12841            8 => Some(ECurrencyCode::JPY),
12842            9 => Some(ECurrencyCode::NOK),
12843            10 => Some(ECurrencyCode::IDR),
12844            11 => Some(ECurrencyCode::MYR),
12845            12 => Some(ECurrencyCode::PHP),
12846            13 => Some(ECurrencyCode::SGD),
12847            14 => Some(ECurrencyCode::THB),
12848            15 => Some(ECurrencyCode::VND),
12849            16 => Some(ECurrencyCode::KRW),
12850            17 => Some(ECurrencyCode::TRY),
12851            18 => Some(ECurrencyCode::UAH),
12852            19 => Some(ECurrencyCode::MXN),
12853            20 => Some(ECurrencyCode::CAD),
12854            21 => Some(ECurrencyCode::AUD),
12855            22 => Some(ECurrencyCode::NZD),
12856            23 => Some(ECurrencyCode::CNY),
12857            24 => Some(ECurrencyCode::INR),
12858            25 => Some(ECurrencyCode::CLP),
12859            26 => Some(ECurrencyCode::PEN),
12860            27 => Some(ECurrencyCode::COP),
12861            28 => Some(ECurrencyCode::ZAR),
12862            29 => Some(ECurrencyCode::HKD),
12863            30 => Some(ECurrencyCode::TWD),
12864            31 => Some(ECurrencyCode::SAR),
12865            32 => Some(ECurrencyCode::AED),
12866            34 => Some(ECurrencyCode::ARS),
12867            35 => Some(ECurrencyCode::ILS),
12868            36 => Some(ECurrencyCode::BYN),
12869            37 => Some(ECurrencyCode::KZT),
12870            38 => Some(ECurrencyCode::KWD),
12871            39 => Some(ECurrencyCode::QAR),
12872            40 => Some(ECurrencyCode::CRC),
12873            41 => Some(ECurrencyCode::UYU),
12874            42 => Some(ECurrencyCode::BGN),
12875            43 => Some(ECurrencyCode::HRK),
12876            44 => Some(ECurrencyCode::CZK),
12877            45 => Some(ECurrencyCode::DKK),
12878            46 => Some(ECurrencyCode::HUF),
12879            47 => Some(ECurrencyCode::RON),
12880            _ => None,
12881        }
12882        .ok_or(UnknownEnumValue::new("ECurrencyCode", value as i128))
12883    }
12884}
12885
12886impl From<ECurrencyCode> for i32 {
12887    fn from(value: ECurrencyCode) -> i32 {
12888        value as i32
12889    }
12890}
12891
12892/// The `EDepotFileFlag` enumeration.
12893///
12894/// A bit flag set: the variants can be combined with a bitwise or.
12895///
12896/// Source: `lang/steammsg.steamd`.
12897#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12898#[repr(i32)]
12899pub enum EDepotFileFlag {
12900    UserConfig = 1,
12901    VersionedUserConfig = 2,
12902    Encrypted = 4,
12903    ReadOnly = 8,
12904    Hidden = 16,
12905    Executable = 32,
12906    Directory = 64,
12907    CustomExecutable = 128,
12908    InstallScript = 256,
12909    Symlink = 512,
12910}
12911
12912#[allow(deprecated)]
12913impl EDepotFileFlag {
12914    /// Every variant of `EDepotFileFlag`.
12915    pub const ALL: &'static [EDepotFileFlag] = &[
12916        EDepotFileFlag::UserConfig,
12917        EDepotFileFlag::VersionedUserConfig,
12918        EDepotFileFlag::Encrypted,
12919        EDepotFileFlag::ReadOnly,
12920        EDepotFileFlag::Hidden,
12921        EDepotFileFlag::Executable,
12922        EDepotFileFlag::Directory,
12923        EDepotFileFlag::CustomExecutable,
12924        EDepotFileFlag::InstallScript,
12925        EDepotFileFlag::Symlink,
12926    ];
12927
12928    /// The numeric value of this variant.
12929    pub const fn value(self) -> i32 {
12930        self as i32
12931    }
12932
12933    /// The raw bit pattern of this flag set.
12934    pub const fn bits(self) -> i32 {
12935        self as i32
12936    }
12937
12938    /// True when no bit of this flag set is set.
12939    pub const fn is_empty(self) -> bool {
12940        (self as i32) == 0
12941    }
12942
12943    /// True when every bit of `other` is set in this flag set.
12944    pub const fn contains(self, other: Self) -> bool {
12945        (self as i32 & other as i32) == (other as i32)
12946    }
12947
12948    /// The bitwise or of two flag sets, as a raw value.
12949    pub const fn union(self, other: Self) -> i32 {
12950        (self as i32) | (other as i32)
12951    }
12952
12953    /// The bitwise and of two flag sets, as a raw value.
12954    pub const fn intersect(self, other: Self) -> i32 {
12955        (self as i32) & (other as i32)
12956    }
12957
12958    /// Builds a variant from its numeric value.
12959    ///
12960    /// When several variants share a value, the first declared one is returned.
12961    pub fn from_value(value: i32) -> Option<Self> {
12962        match value {
12963            1 => Some(EDepotFileFlag::UserConfig),
12964            2 => Some(EDepotFileFlag::VersionedUserConfig),
12965            4 => Some(EDepotFileFlag::Encrypted),
12966            8 => Some(EDepotFileFlag::ReadOnly),
12967            16 => Some(EDepotFileFlag::Hidden),
12968            32 => Some(EDepotFileFlag::Executable),
12969            64 => Some(EDepotFileFlag::Directory),
12970            128 => Some(EDepotFileFlag::CustomExecutable),
12971            256 => Some(EDepotFileFlag::InstallScript),
12972            512 => Some(EDepotFileFlag::Symlink),
12973            _ => None,
12974        }
12975    }
12976}
12977
12978impl TryFrom<i32> for EDepotFileFlag {
12979    type Error = UnknownEnumValue;
12980
12981    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
12982        Self::from_value(value).ok_or(UnknownEnumValue::new("EDepotFileFlag", value as i128))
12983    }
12984}
12985
12986#[allow(deprecated)]
12987impl TryFrom<u32> for EDepotFileFlag {
12988    type Error = UnknownEnumValue;
12989
12990    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
12991        match value {
12992            1 => Some(EDepotFileFlag::UserConfig),
12993            2 => Some(EDepotFileFlag::VersionedUserConfig),
12994            4 => Some(EDepotFileFlag::Encrypted),
12995            8 => Some(EDepotFileFlag::ReadOnly),
12996            16 => Some(EDepotFileFlag::Hidden),
12997            32 => Some(EDepotFileFlag::Executable),
12998            64 => Some(EDepotFileFlag::Directory),
12999            128 => Some(EDepotFileFlag::CustomExecutable),
13000            256 => Some(EDepotFileFlag::InstallScript),
13001            512 => Some(EDepotFileFlag::Symlink),
13002            _ => None,
13003        }
13004        .ok_or(UnknownEnumValue::new("EDepotFileFlag", value as i128))
13005    }
13006}
13007
13008impl From<EDepotFileFlag> for i32 {
13009    fn from(value: EDepotFileFlag) -> i32 {
13010        value as i32
13011    }
13012}
13013
13014/// The `EWorkshopEnumerationType` enumeration.
13015///
13016/// Source: `lang/steammsg.steamd`.
13017#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13018#[repr(i32)]
13019pub enum EWorkshopEnumerationType {
13020    RankedByVote = 0,
13021    Recent = 1,
13022    Trending = 2,
13023    FavoriteOfFriends = 3,
13024    VotedByFriends = 4,
13025    ContentByFriends = 5,
13026    RecentFromFollowedUsers = 6,
13027}
13028
13029#[allow(deprecated)]
13030impl EWorkshopEnumerationType {
13031    /// Every variant of `EWorkshopEnumerationType`.
13032    pub const ALL: &'static [EWorkshopEnumerationType] = &[
13033        EWorkshopEnumerationType::RankedByVote,
13034        EWorkshopEnumerationType::Recent,
13035        EWorkshopEnumerationType::Trending,
13036        EWorkshopEnumerationType::FavoriteOfFriends,
13037        EWorkshopEnumerationType::VotedByFriends,
13038        EWorkshopEnumerationType::ContentByFriends,
13039        EWorkshopEnumerationType::RecentFromFollowedUsers,
13040    ];
13041
13042    /// The numeric value of this variant.
13043    pub const fn value(self) -> i32 {
13044        self as i32
13045    }
13046
13047    /// Builds a variant from its numeric value.
13048    ///
13049    /// When several variants share a value, the first declared one is returned.
13050    pub fn from_value(value: i32) -> Option<Self> {
13051        match value {
13052            0 => Some(EWorkshopEnumerationType::RankedByVote),
13053            1 => Some(EWorkshopEnumerationType::Recent),
13054            2 => Some(EWorkshopEnumerationType::Trending),
13055            3 => Some(EWorkshopEnumerationType::FavoriteOfFriends),
13056            4 => Some(EWorkshopEnumerationType::VotedByFriends),
13057            5 => Some(EWorkshopEnumerationType::ContentByFriends),
13058            6 => Some(EWorkshopEnumerationType::RecentFromFollowedUsers),
13059            _ => None,
13060        }
13061    }
13062}
13063
13064impl TryFrom<i32> for EWorkshopEnumerationType {
13065    type Error = UnknownEnumValue;
13066
13067    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13068        Self::from_value(value).ok_or(UnknownEnumValue::new("EWorkshopEnumerationType", value as i128))
13069    }
13070}
13071
13072#[allow(deprecated)]
13073impl TryFrom<u32> for EWorkshopEnumerationType {
13074    type Error = UnknownEnumValue;
13075
13076    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13077        match value {
13078            0 => Some(EWorkshopEnumerationType::RankedByVote),
13079            1 => Some(EWorkshopEnumerationType::Recent),
13080            2 => Some(EWorkshopEnumerationType::Trending),
13081            3 => Some(EWorkshopEnumerationType::FavoriteOfFriends),
13082            4 => Some(EWorkshopEnumerationType::VotedByFriends),
13083            5 => Some(EWorkshopEnumerationType::ContentByFriends),
13084            6 => Some(EWorkshopEnumerationType::RecentFromFollowedUsers),
13085            _ => None,
13086        }
13087        .ok_or(UnknownEnumValue::new("EWorkshopEnumerationType", value as i128))
13088    }
13089}
13090
13091impl From<EWorkshopEnumerationType> for i32 {
13092    fn from(value: EWorkshopEnumerationType) -> i32 {
13093        value as i32
13094    }
13095}
13096
13097/// The `EPublishedFileVisibility` enumeration.
13098///
13099/// Source: `lang/steammsg.steamd`.
13100#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13101#[repr(i32)]
13102pub enum EPublishedFileVisibility {
13103    Public = 0,
13104    FriendsOnly = 1,
13105    Private = 2,
13106    Unlisted = 3,
13107}
13108
13109#[allow(deprecated)]
13110impl EPublishedFileVisibility {
13111    /// Every variant of `EPublishedFileVisibility`.
13112    pub const ALL: &'static [EPublishedFileVisibility] = &[
13113        EPublishedFileVisibility::Public,
13114        EPublishedFileVisibility::FriendsOnly,
13115        EPublishedFileVisibility::Private,
13116        EPublishedFileVisibility::Unlisted,
13117    ];
13118
13119    /// The numeric value of this variant.
13120    pub const fn value(self) -> i32 {
13121        self as i32
13122    }
13123
13124    /// Builds a variant from its numeric value.
13125    ///
13126    /// When several variants share a value, the first declared one is returned.
13127    pub fn from_value(value: i32) -> Option<Self> {
13128        match value {
13129            0 => Some(EPublishedFileVisibility::Public),
13130            1 => Some(EPublishedFileVisibility::FriendsOnly),
13131            2 => Some(EPublishedFileVisibility::Private),
13132            3 => Some(EPublishedFileVisibility::Unlisted),
13133            _ => None,
13134        }
13135    }
13136}
13137
13138impl TryFrom<i32> for EPublishedFileVisibility {
13139    type Error = UnknownEnumValue;
13140
13141    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13142        Self::from_value(value).ok_or(UnknownEnumValue::new("EPublishedFileVisibility", value as i128))
13143    }
13144}
13145
13146#[allow(deprecated)]
13147impl TryFrom<u32> for EPublishedFileVisibility {
13148    type Error = UnknownEnumValue;
13149
13150    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13151        match value {
13152            0 => Some(EPublishedFileVisibility::Public),
13153            1 => Some(EPublishedFileVisibility::FriendsOnly),
13154            2 => Some(EPublishedFileVisibility::Private),
13155            3 => Some(EPublishedFileVisibility::Unlisted),
13156            _ => None,
13157        }
13158        .ok_or(UnknownEnumValue::new("EPublishedFileVisibility", value as i128))
13159    }
13160}
13161
13162impl From<EPublishedFileVisibility> for i32 {
13163    fn from(value: EPublishedFileVisibility) -> i32 {
13164        value as i32
13165    }
13166}
13167
13168/// The `EWorkshopFileType` enumeration.
13169///
13170/// Source: `lang/steammsg.steamd`.
13171#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13172#[repr(i32)]
13173pub enum EWorkshopFileType {
13174    First = 0,
13175    Microtransaction = 1,
13176    Collection = 2,
13177    Art = 3,
13178    Video = 4,
13179    Screenshot = 5,
13180    Game = 6,
13181    Software = 7,
13182    Concept = 8,
13183    WebGuide = 9,
13184    IntegratedGuide = 10,
13185    Merch = 11,
13186    ControllerBinding = 12,
13187    SteamworksAccessInvite = 13,
13188    SteamVideo = 14,
13189    GameManagedItem = 15,
13190    Clip = 16,
13191}
13192
13193#[allow(deprecated)]
13194impl EWorkshopFileType {
13195    /// Alias of [`EWorkshopFileType::First`].
13196    pub const Community: EWorkshopFileType = EWorkshopFileType::First;
13197
13198    /// Every variant of `EWorkshopFileType`.
13199    pub const ALL: &'static [EWorkshopFileType] = &[
13200        EWorkshopFileType::First,
13201        EWorkshopFileType::Community,
13202        EWorkshopFileType::Microtransaction,
13203        EWorkshopFileType::Collection,
13204        EWorkshopFileType::Art,
13205        EWorkshopFileType::Video,
13206        EWorkshopFileType::Screenshot,
13207        EWorkshopFileType::Game,
13208        EWorkshopFileType::Software,
13209        EWorkshopFileType::Concept,
13210        EWorkshopFileType::WebGuide,
13211        EWorkshopFileType::IntegratedGuide,
13212        EWorkshopFileType::Merch,
13213        EWorkshopFileType::ControllerBinding,
13214        EWorkshopFileType::SteamworksAccessInvite,
13215        EWorkshopFileType::SteamVideo,
13216        EWorkshopFileType::GameManagedItem,
13217        EWorkshopFileType::Clip,
13218    ];
13219
13220    /// The numeric value of this variant.
13221    pub const fn value(self) -> i32 {
13222        self as i32
13223    }
13224
13225    /// Builds a variant from its numeric value.
13226    ///
13227    /// When several variants share a value, the first declared one is returned.
13228    pub fn from_value(value: i32) -> Option<Self> {
13229        match value {
13230            0 => Some(EWorkshopFileType::First),
13231            1 => Some(EWorkshopFileType::Microtransaction),
13232            2 => Some(EWorkshopFileType::Collection),
13233            3 => Some(EWorkshopFileType::Art),
13234            4 => Some(EWorkshopFileType::Video),
13235            5 => Some(EWorkshopFileType::Screenshot),
13236            6 => Some(EWorkshopFileType::Game),
13237            7 => Some(EWorkshopFileType::Software),
13238            8 => Some(EWorkshopFileType::Concept),
13239            9 => Some(EWorkshopFileType::WebGuide),
13240            10 => Some(EWorkshopFileType::IntegratedGuide),
13241            11 => Some(EWorkshopFileType::Merch),
13242            12 => Some(EWorkshopFileType::ControllerBinding),
13243            13 => Some(EWorkshopFileType::SteamworksAccessInvite),
13244            14 => Some(EWorkshopFileType::SteamVideo),
13245            15 => Some(EWorkshopFileType::GameManagedItem),
13246            16 => Some(EWorkshopFileType::Clip),
13247            _ => None,
13248        }
13249    }
13250}
13251
13252impl TryFrom<i32> for EWorkshopFileType {
13253    type Error = UnknownEnumValue;
13254
13255    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13256        Self::from_value(value).ok_or(UnknownEnumValue::new("EWorkshopFileType", value as i128))
13257    }
13258}
13259
13260#[allow(deprecated)]
13261impl TryFrom<u32> for EWorkshopFileType {
13262    type Error = UnknownEnumValue;
13263
13264    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13265        match value {
13266            0 => Some(EWorkshopFileType::First),
13267            1 => Some(EWorkshopFileType::Microtransaction),
13268            2 => Some(EWorkshopFileType::Collection),
13269            3 => Some(EWorkshopFileType::Art),
13270            4 => Some(EWorkshopFileType::Video),
13271            5 => Some(EWorkshopFileType::Screenshot),
13272            6 => Some(EWorkshopFileType::Game),
13273            7 => Some(EWorkshopFileType::Software),
13274            8 => Some(EWorkshopFileType::Concept),
13275            9 => Some(EWorkshopFileType::WebGuide),
13276            10 => Some(EWorkshopFileType::IntegratedGuide),
13277            11 => Some(EWorkshopFileType::Merch),
13278            12 => Some(EWorkshopFileType::ControllerBinding),
13279            13 => Some(EWorkshopFileType::SteamworksAccessInvite),
13280            14 => Some(EWorkshopFileType::SteamVideo),
13281            15 => Some(EWorkshopFileType::GameManagedItem),
13282            16 => Some(EWorkshopFileType::Clip),
13283            _ => None,
13284        }
13285        .ok_or(UnknownEnumValue::new("EWorkshopFileType", value as i128))
13286    }
13287}
13288
13289impl From<EWorkshopFileType> for i32 {
13290    fn from(value: EWorkshopFileType) -> i32 {
13291        value as i32
13292    }
13293}
13294
13295/// The `EWorkshopFileAction` enumeration.
13296///
13297/// Source: `lang/steammsg.steamd`.
13298#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13299#[repr(i32)]
13300pub enum EWorkshopFileAction {
13301    Played = 0,
13302    Completed = 1,
13303}
13304
13305#[allow(deprecated)]
13306impl EWorkshopFileAction {
13307    /// Every variant of `EWorkshopFileAction`.
13308    pub const ALL: &'static [EWorkshopFileAction] = &[
13309        EWorkshopFileAction::Played,
13310        EWorkshopFileAction::Completed,
13311    ];
13312
13313    /// The numeric value of this variant.
13314    pub const fn value(self) -> i32 {
13315        self as i32
13316    }
13317
13318    /// Builds a variant from its numeric value.
13319    ///
13320    /// When several variants share a value, the first declared one is returned.
13321    pub fn from_value(value: i32) -> Option<Self> {
13322        match value {
13323            0 => Some(EWorkshopFileAction::Played),
13324            1 => Some(EWorkshopFileAction::Completed),
13325            _ => None,
13326        }
13327    }
13328}
13329
13330impl TryFrom<i32> for EWorkshopFileAction {
13331    type Error = UnknownEnumValue;
13332
13333    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13334        Self::from_value(value).ok_or(UnknownEnumValue::new("EWorkshopFileAction", value as i128))
13335    }
13336}
13337
13338#[allow(deprecated)]
13339impl TryFrom<u32> for EWorkshopFileAction {
13340    type Error = UnknownEnumValue;
13341
13342    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13343        match value {
13344            0 => Some(EWorkshopFileAction::Played),
13345            1 => Some(EWorkshopFileAction::Completed),
13346            _ => None,
13347        }
13348        .ok_or(UnknownEnumValue::new("EWorkshopFileAction", value as i128))
13349    }
13350}
13351
13352impl From<EWorkshopFileAction> for i32 {
13353    fn from(value: EWorkshopFileAction) -> i32 {
13354        value as i32
13355    }
13356}
13357
13358/// The `EEconTradeResponse` enumeration.
13359///
13360/// Source: `lang/steammsg.steamd`.
13361#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13362#[repr(i32)]
13363pub enum EEconTradeResponse {
13364    Accepted = 0,
13365    Declined = 1,
13366    TradeBannedInitiator = 2,
13367    TradeBannedTarget = 3,
13368    TargetAlreadyTrading = 4,
13369    Disabled = 5,
13370    NotLoggedIn = 6,
13371    Cancel = 7,
13372    TooSoon = 8,
13373    TooSoonPenalty = 9,
13374    ConnectionFailed = 10,
13375    AlreadyTrading = 11,
13376    AlreadyHasTradeRequest = 12,
13377    NoResponse = 13,
13378    CyberCafeInitiator = 14,
13379    CyberCafeTarget = 15,
13380    SchoolLabInitiator = 16,
13381    SchoolLabTarget = 17,
13382    InitiatorBlockedTarget = 18,
13383    InitiatorNeedsVerifiedEmail = 20,
13384    InitiatorNeedsSteamGuard = 21,
13385    TargetAccountCannotTrade = 22,
13386    InitiatorSteamGuardDuration = 23,
13387    InitiatorPasswordResetProbation = 24,
13388    InitiatorNewDeviceCooldown = 25,
13389    InitiatorSentInvalidCookie = 26,
13390    NeedsEmailConfirmation = 27,
13391    InitiatorRecentEmailChange = 28,
13392    NeedsMobileConfirmation = 29,
13393    TradingHoldForClearedTradeOffersInitiator = 30,
13394    WouldExceedMaxAssetCount = 31,
13395    DisabledInRegion = 32,
13396    DisabledInPartnerRegion = 33,
13397    OKToDeliver = 50,
13398}
13399
13400#[allow(deprecated)]
13401impl EEconTradeResponse {
13402    /// Every variant of `EEconTradeResponse`.
13403    pub const ALL: &'static [EEconTradeResponse] = &[
13404        EEconTradeResponse::Accepted,
13405        EEconTradeResponse::Declined,
13406        EEconTradeResponse::TradeBannedInitiator,
13407        EEconTradeResponse::TradeBannedTarget,
13408        EEconTradeResponse::TargetAlreadyTrading,
13409        EEconTradeResponse::Disabled,
13410        EEconTradeResponse::NotLoggedIn,
13411        EEconTradeResponse::Cancel,
13412        EEconTradeResponse::TooSoon,
13413        EEconTradeResponse::TooSoonPenalty,
13414        EEconTradeResponse::ConnectionFailed,
13415        EEconTradeResponse::AlreadyTrading,
13416        EEconTradeResponse::AlreadyHasTradeRequest,
13417        EEconTradeResponse::NoResponse,
13418        EEconTradeResponse::CyberCafeInitiator,
13419        EEconTradeResponse::CyberCafeTarget,
13420        EEconTradeResponse::SchoolLabInitiator,
13421        EEconTradeResponse::SchoolLabTarget,
13422        EEconTradeResponse::InitiatorBlockedTarget,
13423        EEconTradeResponse::InitiatorNeedsVerifiedEmail,
13424        EEconTradeResponse::InitiatorNeedsSteamGuard,
13425        EEconTradeResponse::TargetAccountCannotTrade,
13426        EEconTradeResponse::InitiatorSteamGuardDuration,
13427        EEconTradeResponse::InitiatorPasswordResetProbation,
13428        EEconTradeResponse::InitiatorNewDeviceCooldown,
13429        EEconTradeResponse::InitiatorSentInvalidCookie,
13430        EEconTradeResponse::NeedsEmailConfirmation,
13431        EEconTradeResponse::InitiatorRecentEmailChange,
13432        EEconTradeResponse::NeedsMobileConfirmation,
13433        EEconTradeResponse::TradingHoldForClearedTradeOffersInitiator,
13434        EEconTradeResponse::WouldExceedMaxAssetCount,
13435        EEconTradeResponse::DisabledInRegion,
13436        EEconTradeResponse::DisabledInPartnerRegion,
13437        EEconTradeResponse::OKToDeliver,
13438    ];
13439
13440    /// The numeric value of this variant.
13441    pub const fn value(self) -> i32 {
13442        self as i32
13443    }
13444
13445    /// Builds a variant from its numeric value.
13446    ///
13447    /// When several variants share a value, the first declared one is returned.
13448    pub fn from_value(value: i32) -> Option<Self> {
13449        match value {
13450            0 => Some(EEconTradeResponse::Accepted),
13451            1 => Some(EEconTradeResponse::Declined),
13452            2 => Some(EEconTradeResponse::TradeBannedInitiator),
13453            3 => Some(EEconTradeResponse::TradeBannedTarget),
13454            4 => Some(EEconTradeResponse::TargetAlreadyTrading),
13455            5 => Some(EEconTradeResponse::Disabled),
13456            6 => Some(EEconTradeResponse::NotLoggedIn),
13457            7 => Some(EEconTradeResponse::Cancel),
13458            8 => Some(EEconTradeResponse::TooSoon),
13459            9 => Some(EEconTradeResponse::TooSoonPenalty),
13460            10 => Some(EEconTradeResponse::ConnectionFailed),
13461            11 => Some(EEconTradeResponse::AlreadyTrading),
13462            12 => Some(EEconTradeResponse::AlreadyHasTradeRequest),
13463            13 => Some(EEconTradeResponse::NoResponse),
13464            14 => Some(EEconTradeResponse::CyberCafeInitiator),
13465            15 => Some(EEconTradeResponse::CyberCafeTarget),
13466            16 => Some(EEconTradeResponse::SchoolLabInitiator),
13467            17 => Some(EEconTradeResponse::SchoolLabTarget),
13468            18 => Some(EEconTradeResponse::InitiatorBlockedTarget),
13469            20 => Some(EEconTradeResponse::InitiatorNeedsVerifiedEmail),
13470            21 => Some(EEconTradeResponse::InitiatorNeedsSteamGuard),
13471            22 => Some(EEconTradeResponse::TargetAccountCannotTrade),
13472            23 => Some(EEconTradeResponse::InitiatorSteamGuardDuration),
13473            24 => Some(EEconTradeResponse::InitiatorPasswordResetProbation),
13474            25 => Some(EEconTradeResponse::InitiatorNewDeviceCooldown),
13475            26 => Some(EEconTradeResponse::InitiatorSentInvalidCookie),
13476            27 => Some(EEconTradeResponse::NeedsEmailConfirmation),
13477            28 => Some(EEconTradeResponse::InitiatorRecentEmailChange),
13478            29 => Some(EEconTradeResponse::NeedsMobileConfirmation),
13479            30 => Some(EEconTradeResponse::TradingHoldForClearedTradeOffersInitiator),
13480            31 => Some(EEconTradeResponse::WouldExceedMaxAssetCount),
13481            32 => Some(EEconTradeResponse::DisabledInRegion),
13482            33 => Some(EEconTradeResponse::DisabledInPartnerRegion),
13483            50 => Some(EEconTradeResponse::OKToDeliver),
13484            _ => None,
13485        }
13486    }
13487}
13488
13489impl TryFrom<i32> for EEconTradeResponse {
13490    type Error = UnknownEnumValue;
13491
13492    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13493        Self::from_value(value).ok_or(UnknownEnumValue::new("EEconTradeResponse", value as i128))
13494    }
13495}
13496
13497#[allow(deprecated)]
13498impl TryFrom<u32> for EEconTradeResponse {
13499    type Error = UnknownEnumValue;
13500
13501    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13502        match value {
13503            0 => Some(EEconTradeResponse::Accepted),
13504            1 => Some(EEconTradeResponse::Declined),
13505            2 => Some(EEconTradeResponse::TradeBannedInitiator),
13506            3 => Some(EEconTradeResponse::TradeBannedTarget),
13507            4 => Some(EEconTradeResponse::TargetAlreadyTrading),
13508            5 => Some(EEconTradeResponse::Disabled),
13509            6 => Some(EEconTradeResponse::NotLoggedIn),
13510            7 => Some(EEconTradeResponse::Cancel),
13511            8 => Some(EEconTradeResponse::TooSoon),
13512            9 => Some(EEconTradeResponse::TooSoonPenalty),
13513            10 => Some(EEconTradeResponse::ConnectionFailed),
13514            11 => Some(EEconTradeResponse::AlreadyTrading),
13515            12 => Some(EEconTradeResponse::AlreadyHasTradeRequest),
13516            13 => Some(EEconTradeResponse::NoResponse),
13517            14 => Some(EEconTradeResponse::CyberCafeInitiator),
13518            15 => Some(EEconTradeResponse::CyberCafeTarget),
13519            16 => Some(EEconTradeResponse::SchoolLabInitiator),
13520            17 => Some(EEconTradeResponse::SchoolLabTarget),
13521            18 => Some(EEconTradeResponse::InitiatorBlockedTarget),
13522            20 => Some(EEconTradeResponse::InitiatorNeedsVerifiedEmail),
13523            21 => Some(EEconTradeResponse::InitiatorNeedsSteamGuard),
13524            22 => Some(EEconTradeResponse::TargetAccountCannotTrade),
13525            23 => Some(EEconTradeResponse::InitiatorSteamGuardDuration),
13526            24 => Some(EEconTradeResponse::InitiatorPasswordResetProbation),
13527            25 => Some(EEconTradeResponse::InitiatorNewDeviceCooldown),
13528            26 => Some(EEconTradeResponse::InitiatorSentInvalidCookie),
13529            27 => Some(EEconTradeResponse::NeedsEmailConfirmation),
13530            28 => Some(EEconTradeResponse::InitiatorRecentEmailChange),
13531            29 => Some(EEconTradeResponse::NeedsMobileConfirmation),
13532            30 => Some(EEconTradeResponse::TradingHoldForClearedTradeOffersInitiator),
13533            31 => Some(EEconTradeResponse::WouldExceedMaxAssetCount),
13534            32 => Some(EEconTradeResponse::DisabledInRegion),
13535            33 => Some(EEconTradeResponse::DisabledInPartnerRegion),
13536            50 => Some(EEconTradeResponse::OKToDeliver),
13537            _ => None,
13538        }
13539        .ok_or(UnknownEnumValue::new("EEconTradeResponse", value as i128))
13540    }
13541}
13542
13543impl From<EEconTradeResponse> for i32 {
13544    fn from(value: EEconTradeResponse) -> i32 {
13545        value as i32
13546    }
13547}
13548
13549/// The `EMarketingMessageFlags` enumeration.
13550///
13551/// A bit flag set: the variants can be combined with a bitwise or.
13552///
13553/// Source: `lang/steammsg.steamd`.
13554#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13555#[repr(i32)]
13556pub enum EMarketingMessageFlags {
13557    None = 0,
13558    HighPriority = 1,
13559    PlatformWindows = 2,
13560    PlatformMac = 4,
13561    PlatformLinux = 8,
13562    PlatformRestrictions = 14,
13563}
13564
13565#[allow(deprecated)]
13566impl EMarketingMessageFlags {
13567    /// Every variant of `EMarketingMessageFlags`.
13568    pub const ALL: &'static [EMarketingMessageFlags] = &[
13569        EMarketingMessageFlags::None,
13570        EMarketingMessageFlags::HighPriority,
13571        EMarketingMessageFlags::PlatformWindows,
13572        EMarketingMessageFlags::PlatformMac,
13573        EMarketingMessageFlags::PlatformLinux,
13574        EMarketingMessageFlags::PlatformRestrictions,
13575    ];
13576
13577    /// The numeric value of this variant.
13578    pub const fn value(self) -> i32 {
13579        self as i32
13580    }
13581
13582    /// The raw bit pattern of this flag set.
13583    pub const fn bits(self) -> i32 {
13584        self as i32
13585    }
13586
13587    /// True when no bit of this flag set is set.
13588    pub const fn is_empty(self) -> bool {
13589        (self as i32) == 0
13590    }
13591
13592    /// True when every bit of `other` is set in this flag set.
13593    pub const fn contains(self, other: Self) -> bool {
13594        (self as i32 & other as i32) == (other as i32)
13595    }
13596
13597    /// The bitwise or of two flag sets, as a raw value.
13598    pub const fn union(self, other: Self) -> i32 {
13599        (self as i32) | (other as i32)
13600    }
13601
13602    /// The bitwise and of two flag sets, as a raw value.
13603    pub const fn intersect(self, other: Self) -> i32 {
13604        (self as i32) & (other as i32)
13605    }
13606
13607    /// Builds a variant from its numeric value.
13608    ///
13609    /// When several variants share a value, the first declared one is returned.
13610    pub fn from_value(value: i32) -> Option<Self> {
13611        match value {
13612            0 => Some(EMarketingMessageFlags::None),
13613            1 => Some(EMarketingMessageFlags::HighPriority),
13614            2 => Some(EMarketingMessageFlags::PlatformWindows),
13615            4 => Some(EMarketingMessageFlags::PlatformMac),
13616            8 => Some(EMarketingMessageFlags::PlatformLinux),
13617            14 => Some(EMarketingMessageFlags::PlatformRestrictions),
13618            _ => None,
13619        }
13620    }
13621}
13622
13623impl TryFrom<i32> for EMarketingMessageFlags {
13624    type Error = UnknownEnumValue;
13625
13626    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13627        Self::from_value(value).ok_or(UnknownEnumValue::new("EMarketingMessageFlags", value as i128))
13628    }
13629}
13630
13631#[allow(deprecated)]
13632impl TryFrom<u32> for EMarketingMessageFlags {
13633    type Error = UnknownEnumValue;
13634
13635    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13636        match value {
13637            0 => Some(EMarketingMessageFlags::None),
13638            1 => Some(EMarketingMessageFlags::HighPriority),
13639            2 => Some(EMarketingMessageFlags::PlatformWindows),
13640            4 => Some(EMarketingMessageFlags::PlatformMac),
13641            8 => Some(EMarketingMessageFlags::PlatformLinux),
13642            14 => Some(EMarketingMessageFlags::PlatformRestrictions),
13643            _ => None,
13644        }
13645        .ok_or(UnknownEnumValue::new("EMarketingMessageFlags", value as i128))
13646    }
13647}
13648
13649impl From<EMarketingMessageFlags> for i32 {
13650    fn from(value: EMarketingMessageFlags) -> i32 {
13651        value as i32
13652    }
13653}
13654
13655/// The `ENewsUpdateType` enumeration.
13656///
13657/// Source: `lang/steammsg.steamd`.
13658#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13659#[repr(i32)]
13660pub enum ENewsUpdateType {
13661    AppNews = 0,
13662    SteamAds = 1,
13663    SteamNews = 2,
13664    CDDBUpdate = 3,
13665    ClientUpdate = 4,
13666}
13667
13668#[allow(deprecated)]
13669impl ENewsUpdateType {
13670    /// Every variant of `ENewsUpdateType`.
13671    pub const ALL: &'static [ENewsUpdateType] = &[
13672        ENewsUpdateType::AppNews,
13673        ENewsUpdateType::SteamAds,
13674        ENewsUpdateType::SteamNews,
13675        ENewsUpdateType::CDDBUpdate,
13676        ENewsUpdateType::ClientUpdate,
13677    ];
13678
13679    /// The numeric value of this variant.
13680    pub const fn value(self) -> i32 {
13681        self as i32
13682    }
13683
13684    /// Builds a variant from its numeric value.
13685    ///
13686    /// When several variants share a value, the first declared one is returned.
13687    pub fn from_value(value: i32) -> Option<Self> {
13688        match value {
13689            0 => Some(ENewsUpdateType::AppNews),
13690            1 => Some(ENewsUpdateType::SteamAds),
13691            2 => Some(ENewsUpdateType::SteamNews),
13692            3 => Some(ENewsUpdateType::CDDBUpdate),
13693            4 => Some(ENewsUpdateType::ClientUpdate),
13694            _ => None,
13695        }
13696    }
13697}
13698
13699impl TryFrom<i32> for ENewsUpdateType {
13700    type Error = UnknownEnumValue;
13701
13702    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13703        Self::from_value(value).ok_or(UnknownEnumValue::new("ENewsUpdateType", value as i128))
13704    }
13705}
13706
13707#[allow(deprecated)]
13708impl TryFrom<u32> for ENewsUpdateType {
13709    type Error = UnknownEnumValue;
13710
13711    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13712        match value {
13713            0 => Some(ENewsUpdateType::AppNews),
13714            1 => Some(ENewsUpdateType::SteamAds),
13715            2 => Some(ENewsUpdateType::SteamNews),
13716            3 => Some(ENewsUpdateType::CDDBUpdate),
13717            4 => Some(ENewsUpdateType::ClientUpdate),
13718            _ => None,
13719        }
13720        .ok_or(UnknownEnumValue::new("ENewsUpdateType", value as i128))
13721    }
13722}
13723
13724impl From<ENewsUpdateType> for i32 {
13725    fn from(value: ENewsUpdateType) -> i32 {
13726        value as i32
13727    }
13728}
13729
13730/// The `ESystemIMType` enumeration.
13731///
13732/// Source: `lang/steammsg.steamd`.
13733#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13734#[repr(i32)]
13735pub enum ESystemIMType {
13736    RawText = 0,
13737    InvalidCard = 1,
13738    RecurringPurchaseFailed = 2,
13739    CardWillExpire = 3,
13740    SubscriptionExpired = 4,
13741    GuestPassReceived = 5,
13742    GuestPassGranted = 6,
13743    GiftRevoked = 7,
13744    SupportMessage = 8,
13745    SupportMessageClearAlert = 9,
13746}
13747
13748#[allow(deprecated)]
13749impl ESystemIMType {
13750    /// Every variant of `ESystemIMType`.
13751    pub const ALL: &'static [ESystemIMType] = &[
13752        ESystemIMType::RawText,
13753        ESystemIMType::InvalidCard,
13754        ESystemIMType::RecurringPurchaseFailed,
13755        ESystemIMType::CardWillExpire,
13756        ESystemIMType::SubscriptionExpired,
13757        ESystemIMType::GuestPassReceived,
13758        ESystemIMType::GuestPassGranted,
13759        ESystemIMType::GiftRevoked,
13760        ESystemIMType::SupportMessage,
13761        ESystemIMType::SupportMessageClearAlert,
13762    ];
13763
13764    /// The numeric value of this variant.
13765    pub const fn value(self) -> i32 {
13766        self as i32
13767    }
13768
13769    /// Builds a variant from its numeric value.
13770    ///
13771    /// When several variants share a value, the first declared one is returned.
13772    pub fn from_value(value: i32) -> Option<Self> {
13773        match value {
13774            0 => Some(ESystemIMType::RawText),
13775            1 => Some(ESystemIMType::InvalidCard),
13776            2 => Some(ESystemIMType::RecurringPurchaseFailed),
13777            3 => Some(ESystemIMType::CardWillExpire),
13778            4 => Some(ESystemIMType::SubscriptionExpired),
13779            5 => Some(ESystemIMType::GuestPassReceived),
13780            6 => Some(ESystemIMType::GuestPassGranted),
13781            7 => Some(ESystemIMType::GiftRevoked),
13782            8 => Some(ESystemIMType::SupportMessage),
13783            9 => Some(ESystemIMType::SupportMessageClearAlert),
13784            _ => None,
13785        }
13786    }
13787}
13788
13789impl TryFrom<i32> for ESystemIMType {
13790    type Error = UnknownEnumValue;
13791
13792    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13793        Self::from_value(value).ok_or(UnknownEnumValue::new("ESystemIMType", value as i128))
13794    }
13795}
13796
13797#[allow(deprecated)]
13798impl TryFrom<u32> for ESystemIMType {
13799    type Error = UnknownEnumValue;
13800
13801    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13802        match value {
13803            0 => Some(ESystemIMType::RawText),
13804            1 => Some(ESystemIMType::InvalidCard),
13805            2 => Some(ESystemIMType::RecurringPurchaseFailed),
13806            3 => Some(ESystemIMType::CardWillExpire),
13807            4 => Some(ESystemIMType::SubscriptionExpired),
13808            5 => Some(ESystemIMType::GuestPassReceived),
13809            6 => Some(ESystemIMType::GuestPassGranted),
13810            7 => Some(ESystemIMType::GiftRevoked),
13811            8 => Some(ESystemIMType::SupportMessage),
13812            9 => Some(ESystemIMType::SupportMessageClearAlert),
13813            _ => None,
13814        }
13815        .ok_or(UnknownEnumValue::new("ESystemIMType", value as i128))
13816    }
13817}
13818
13819impl From<ESystemIMType> for i32 {
13820    fn from(value: ESystemIMType) -> i32 {
13821        value as i32
13822    }
13823}
13824
13825/// The `EChatFlags` enumeration.
13826///
13827/// A bit flag set: the variants can be combined with a bitwise or.
13828///
13829/// Source: `lang/steammsg.steamd`.
13830#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13831#[repr(i32)]
13832pub enum EChatFlags {
13833    Locked = 1,
13834    InvisibleToFriends = 2,
13835    Moderated = 4,
13836    Unjoinable = 8,
13837}
13838
13839#[allow(deprecated)]
13840impl EChatFlags {
13841    /// Every variant of `EChatFlags`.
13842    pub const ALL: &'static [EChatFlags] = &[
13843        EChatFlags::Locked,
13844        EChatFlags::InvisibleToFriends,
13845        EChatFlags::Moderated,
13846        EChatFlags::Unjoinable,
13847    ];
13848
13849    /// The numeric value of this variant.
13850    pub const fn value(self) -> i32 {
13851        self as i32
13852    }
13853
13854    /// The raw bit pattern of this flag set.
13855    pub const fn bits(self) -> i32 {
13856        self as i32
13857    }
13858
13859    /// True when no bit of this flag set is set.
13860    pub const fn is_empty(self) -> bool {
13861        (self as i32) == 0
13862    }
13863
13864    /// True when every bit of `other` is set in this flag set.
13865    pub const fn contains(self, other: Self) -> bool {
13866        (self as i32 & other as i32) == (other as i32)
13867    }
13868
13869    /// The bitwise or of two flag sets, as a raw value.
13870    pub const fn union(self, other: Self) -> i32 {
13871        (self as i32) | (other as i32)
13872    }
13873
13874    /// The bitwise and of two flag sets, as a raw value.
13875    pub const fn intersect(self, other: Self) -> i32 {
13876        (self as i32) & (other as i32)
13877    }
13878
13879    /// Builds a variant from its numeric value.
13880    ///
13881    /// When several variants share a value, the first declared one is returned.
13882    pub fn from_value(value: i32) -> Option<Self> {
13883        match value {
13884            1 => Some(EChatFlags::Locked),
13885            2 => Some(EChatFlags::InvisibleToFriends),
13886            4 => Some(EChatFlags::Moderated),
13887            8 => Some(EChatFlags::Unjoinable),
13888            _ => None,
13889        }
13890    }
13891}
13892
13893impl TryFrom<i32> for EChatFlags {
13894    type Error = UnknownEnumValue;
13895
13896    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
13897        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatFlags", value as i128))
13898    }
13899}
13900
13901#[allow(deprecated)]
13902impl TryFrom<u32> for EChatFlags {
13903    type Error = UnknownEnumValue;
13904
13905    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
13906        match value {
13907            1 => Some(EChatFlags::Locked),
13908            2 => Some(EChatFlags::InvisibleToFriends),
13909            4 => Some(EChatFlags::Moderated),
13910            8 => Some(EChatFlags::Unjoinable),
13911            _ => None,
13912        }
13913        .ok_or(UnknownEnumValue::new("EChatFlags", value as i128))
13914    }
13915}
13916
13917impl From<EChatFlags> for i32 {
13918    fn from(value: EChatFlags) -> i32 {
13919        value as i32
13920    }
13921}
13922
13923/// The `ERemoteStoragePlatform` enumeration.
13924///
13925/// A bit flag set: the variants can be combined with a bitwise or.
13926///
13927/// Source: `lang/steammsg.steamd`.
13928#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13929#[repr(i32)]
13930pub enum ERemoteStoragePlatform {
13931    None = 0,
13932    Windows = 1,
13933    OSX = 2,
13934    PS3 = 4,
13935    Linux = 8,
13936    Switch = 16,
13937    Android = 32,
13938    IPhoneOS = 64,
13939    All = -1,
13940}
13941
13942#[allow(deprecated)]
13943impl ERemoteStoragePlatform {
13944    /// Every variant of `ERemoteStoragePlatform`.
13945    pub const ALL: &'static [ERemoteStoragePlatform] = &[
13946        ERemoteStoragePlatform::None,
13947        ERemoteStoragePlatform::Windows,
13948        ERemoteStoragePlatform::OSX,
13949        ERemoteStoragePlatform::PS3,
13950        ERemoteStoragePlatform::Linux,
13951        ERemoteStoragePlatform::Switch,
13952        ERemoteStoragePlatform::Android,
13953        ERemoteStoragePlatform::IPhoneOS,
13954        ERemoteStoragePlatform::All,
13955    ];
13956
13957    /// The numeric value of this variant.
13958    pub const fn value(self) -> i32 {
13959        self as i32
13960    }
13961
13962    /// The raw bit pattern of this flag set.
13963    pub const fn bits(self) -> i32 {
13964        self as i32
13965    }
13966
13967    /// True when no bit of this flag set is set.
13968    pub const fn is_empty(self) -> bool {
13969        (self as i32) == 0
13970    }
13971
13972    /// True when every bit of `other` is set in this flag set.
13973    pub const fn contains(self, other: Self) -> bool {
13974        (self as i32 & other as i32) == (other as i32)
13975    }
13976
13977    /// The bitwise or of two flag sets, as a raw value.
13978    pub const fn union(self, other: Self) -> i32 {
13979        (self as i32) | (other as i32)
13980    }
13981
13982    /// The bitwise and of two flag sets, as a raw value.
13983    pub const fn intersect(self, other: Self) -> i32 {
13984        (self as i32) & (other as i32)
13985    }
13986
13987    /// Builds a variant from its numeric value.
13988    ///
13989    /// When several variants share a value, the first declared one is returned.
13990    pub fn from_value(value: i32) -> Option<Self> {
13991        match value {
13992            0 => Some(ERemoteStoragePlatform::None),
13993            1 => Some(ERemoteStoragePlatform::Windows),
13994            2 => Some(ERemoteStoragePlatform::OSX),
13995            4 => Some(ERemoteStoragePlatform::PS3),
13996            8 => Some(ERemoteStoragePlatform::Linux),
13997            16 => Some(ERemoteStoragePlatform::Switch),
13998            32 => Some(ERemoteStoragePlatform::Android),
13999            64 => Some(ERemoteStoragePlatform::IPhoneOS),
14000            -1 => Some(ERemoteStoragePlatform::All),
14001            _ => None,
14002        }
14003    }
14004}
14005
14006impl TryFrom<i32> for ERemoteStoragePlatform {
14007    type Error = UnknownEnumValue;
14008
14009    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14010        Self::from_value(value).ok_or(UnknownEnumValue::new("ERemoteStoragePlatform", value as i128))
14011    }
14012}
14013
14014impl From<ERemoteStoragePlatform> for i32 {
14015    fn from(value: ERemoteStoragePlatform) -> i32 {
14016        value as i32
14017    }
14018}
14019
14020/// The `EDRMBlobDownloadType` enumeration.
14021///
14022/// A bit flag set: the variants can be combined with a bitwise or.
14023///
14024/// Source: `lang/steammsg.steamd`.
14025#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14026#[repr(i32)]
14027pub enum EDRMBlobDownloadType {
14028    Error = 0,
14029    File = 1,
14030    Parts = 2,
14031    Compressed = 4,
14032    AllMask = 7,
14033    IsJob = 8,
14034    HighPriority = 16,
14035    AddTimestamp = 32,
14036    LowPriority = 64,
14037}
14038
14039#[allow(deprecated)]
14040impl EDRMBlobDownloadType {
14041    /// Every variant of `EDRMBlobDownloadType`.
14042    pub const ALL: &'static [EDRMBlobDownloadType] = &[
14043        EDRMBlobDownloadType::Error,
14044        EDRMBlobDownloadType::File,
14045        EDRMBlobDownloadType::Parts,
14046        EDRMBlobDownloadType::Compressed,
14047        EDRMBlobDownloadType::AllMask,
14048        EDRMBlobDownloadType::IsJob,
14049        EDRMBlobDownloadType::HighPriority,
14050        EDRMBlobDownloadType::AddTimestamp,
14051        EDRMBlobDownloadType::LowPriority,
14052    ];
14053
14054    /// The numeric value of this variant.
14055    pub const fn value(self) -> i32 {
14056        self as i32
14057    }
14058
14059    /// The raw bit pattern of this flag set.
14060    pub const fn bits(self) -> i32 {
14061        self as i32
14062    }
14063
14064    /// True when no bit of this flag set is set.
14065    pub const fn is_empty(self) -> bool {
14066        (self as i32) == 0
14067    }
14068
14069    /// True when every bit of `other` is set in this flag set.
14070    pub const fn contains(self, other: Self) -> bool {
14071        (self as i32 & other as i32) == (other as i32)
14072    }
14073
14074    /// The bitwise or of two flag sets, as a raw value.
14075    pub const fn union(self, other: Self) -> i32 {
14076        (self as i32) | (other as i32)
14077    }
14078
14079    /// The bitwise and of two flag sets, as a raw value.
14080    pub const fn intersect(self, other: Self) -> i32 {
14081        (self as i32) & (other as i32)
14082    }
14083
14084    /// Builds a variant from its numeric value.
14085    ///
14086    /// When several variants share a value, the first declared one is returned.
14087    pub fn from_value(value: i32) -> Option<Self> {
14088        match value {
14089            0 => Some(EDRMBlobDownloadType::Error),
14090            1 => Some(EDRMBlobDownloadType::File),
14091            2 => Some(EDRMBlobDownloadType::Parts),
14092            4 => Some(EDRMBlobDownloadType::Compressed),
14093            7 => Some(EDRMBlobDownloadType::AllMask),
14094            8 => Some(EDRMBlobDownloadType::IsJob),
14095            16 => Some(EDRMBlobDownloadType::HighPriority),
14096            32 => Some(EDRMBlobDownloadType::AddTimestamp),
14097            64 => Some(EDRMBlobDownloadType::LowPriority),
14098            _ => None,
14099        }
14100    }
14101}
14102
14103impl TryFrom<i32> for EDRMBlobDownloadType {
14104    type Error = UnknownEnumValue;
14105
14106    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14107        Self::from_value(value).ok_or(UnknownEnumValue::new("EDRMBlobDownloadType", value as i128))
14108    }
14109}
14110
14111#[allow(deprecated)]
14112impl TryFrom<u32> for EDRMBlobDownloadType {
14113    type Error = UnknownEnumValue;
14114
14115    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14116        match value {
14117            0 => Some(EDRMBlobDownloadType::Error),
14118            1 => Some(EDRMBlobDownloadType::File),
14119            2 => Some(EDRMBlobDownloadType::Parts),
14120            4 => Some(EDRMBlobDownloadType::Compressed),
14121            7 => Some(EDRMBlobDownloadType::AllMask),
14122            8 => Some(EDRMBlobDownloadType::IsJob),
14123            16 => Some(EDRMBlobDownloadType::HighPriority),
14124            32 => Some(EDRMBlobDownloadType::AddTimestamp),
14125            64 => Some(EDRMBlobDownloadType::LowPriority),
14126            _ => None,
14127        }
14128        .ok_or(UnknownEnumValue::new("EDRMBlobDownloadType", value as i128))
14129    }
14130}
14131
14132impl From<EDRMBlobDownloadType> for i32 {
14133    fn from(value: EDRMBlobDownloadType) -> i32 {
14134        value as i32
14135    }
14136}
14137
14138/// The `EDRMBlobDownloadErrorDetail` enumeration.
14139///
14140/// Source: `lang/steammsg.steamd`.
14141#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14142#[repr(i32)]
14143pub enum EDRMBlobDownloadErrorDetail {
14144    None = 0,
14145    DownloadFailed = 1,
14146    TargetLocked = 2,
14147    OpenZip = 3,
14148    ReadZipDirectory = 4,
14149    UnexpectedZipEntry = 5,
14150    UnzipFullFile = 6,
14151    UnknownBlobType = 7,
14152    UnzipStrips = 8,
14153    UnzipMergeGuid = 9,
14154    UnzipSignature = 10,
14155    ApplyStrips = 11,
14156    ApplyMergeGuid = 12,
14157    ApplySignature = 13,
14158    AppIdMismatch = 14,
14159    AppIdUnexpected = 15,
14160    AppliedSignatureCorrupt = 16,
14161    ApplyValveSignatureHeader = 17,
14162    UnzipValveSignatureHeader = 18,
14163    PathManipulationError = 19,
14164    TargetLocked_Base = 65536,
14165    TargetLocked_Max = 131071,
14166    NextBase = 131072,
14167}
14168
14169#[allow(deprecated)]
14170impl EDRMBlobDownloadErrorDetail {
14171    /// Every variant of `EDRMBlobDownloadErrorDetail`.
14172    pub const ALL: &'static [EDRMBlobDownloadErrorDetail] = &[
14173        EDRMBlobDownloadErrorDetail::None,
14174        EDRMBlobDownloadErrorDetail::DownloadFailed,
14175        EDRMBlobDownloadErrorDetail::TargetLocked,
14176        EDRMBlobDownloadErrorDetail::OpenZip,
14177        EDRMBlobDownloadErrorDetail::ReadZipDirectory,
14178        EDRMBlobDownloadErrorDetail::UnexpectedZipEntry,
14179        EDRMBlobDownloadErrorDetail::UnzipFullFile,
14180        EDRMBlobDownloadErrorDetail::UnknownBlobType,
14181        EDRMBlobDownloadErrorDetail::UnzipStrips,
14182        EDRMBlobDownloadErrorDetail::UnzipMergeGuid,
14183        EDRMBlobDownloadErrorDetail::UnzipSignature,
14184        EDRMBlobDownloadErrorDetail::ApplyStrips,
14185        EDRMBlobDownloadErrorDetail::ApplyMergeGuid,
14186        EDRMBlobDownloadErrorDetail::ApplySignature,
14187        EDRMBlobDownloadErrorDetail::AppIdMismatch,
14188        EDRMBlobDownloadErrorDetail::AppIdUnexpected,
14189        EDRMBlobDownloadErrorDetail::AppliedSignatureCorrupt,
14190        EDRMBlobDownloadErrorDetail::ApplyValveSignatureHeader,
14191        EDRMBlobDownloadErrorDetail::UnzipValveSignatureHeader,
14192        EDRMBlobDownloadErrorDetail::PathManipulationError,
14193        EDRMBlobDownloadErrorDetail::TargetLocked_Base,
14194        EDRMBlobDownloadErrorDetail::TargetLocked_Max,
14195        EDRMBlobDownloadErrorDetail::NextBase,
14196    ];
14197
14198    /// The numeric value of this variant.
14199    pub const fn value(self) -> i32 {
14200        self as i32
14201    }
14202
14203    /// Builds a variant from its numeric value.
14204    ///
14205    /// When several variants share a value, the first declared one is returned.
14206    pub fn from_value(value: i32) -> Option<Self> {
14207        match value {
14208            0 => Some(EDRMBlobDownloadErrorDetail::None),
14209            1 => Some(EDRMBlobDownloadErrorDetail::DownloadFailed),
14210            2 => Some(EDRMBlobDownloadErrorDetail::TargetLocked),
14211            3 => Some(EDRMBlobDownloadErrorDetail::OpenZip),
14212            4 => Some(EDRMBlobDownloadErrorDetail::ReadZipDirectory),
14213            5 => Some(EDRMBlobDownloadErrorDetail::UnexpectedZipEntry),
14214            6 => Some(EDRMBlobDownloadErrorDetail::UnzipFullFile),
14215            7 => Some(EDRMBlobDownloadErrorDetail::UnknownBlobType),
14216            8 => Some(EDRMBlobDownloadErrorDetail::UnzipStrips),
14217            9 => Some(EDRMBlobDownloadErrorDetail::UnzipMergeGuid),
14218            10 => Some(EDRMBlobDownloadErrorDetail::UnzipSignature),
14219            11 => Some(EDRMBlobDownloadErrorDetail::ApplyStrips),
14220            12 => Some(EDRMBlobDownloadErrorDetail::ApplyMergeGuid),
14221            13 => Some(EDRMBlobDownloadErrorDetail::ApplySignature),
14222            14 => Some(EDRMBlobDownloadErrorDetail::AppIdMismatch),
14223            15 => Some(EDRMBlobDownloadErrorDetail::AppIdUnexpected),
14224            16 => Some(EDRMBlobDownloadErrorDetail::AppliedSignatureCorrupt),
14225            17 => Some(EDRMBlobDownloadErrorDetail::ApplyValveSignatureHeader),
14226            18 => Some(EDRMBlobDownloadErrorDetail::UnzipValveSignatureHeader),
14227            19 => Some(EDRMBlobDownloadErrorDetail::PathManipulationError),
14228            65536 => Some(EDRMBlobDownloadErrorDetail::TargetLocked_Base),
14229            131071 => Some(EDRMBlobDownloadErrorDetail::TargetLocked_Max),
14230            131072 => Some(EDRMBlobDownloadErrorDetail::NextBase),
14231            _ => None,
14232        }
14233    }
14234}
14235
14236impl TryFrom<i32> for EDRMBlobDownloadErrorDetail {
14237    type Error = UnknownEnumValue;
14238
14239    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14240        Self::from_value(value).ok_or(UnknownEnumValue::new("EDRMBlobDownloadErrorDetail", value as i128))
14241    }
14242}
14243
14244#[allow(deprecated)]
14245impl TryFrom<u32> for EDRMBlobDownloadErrorDetail {
14246    type Error = UnknownEnumValue;
14247
14248    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14249        match value {
14250            0 => Some(EDRMBlobDownloadErrorDetail::None),
14251            1 => Some(EDRMBlobDownloadErrorDetail::DownloadFailed),
14252            2 => Some(EDRMBlobDownloadErrorDetail::TargetLocked),
14253            3 => Some(EDRMBlobDownloadErrorDetail::OpenZip),
14254            4 => Some(EDRMBlobDownloadErrorDetail::ReadZipDirectory),
14255            5 => Some(EDRMBlobDownloadErrorDetail::UnexpectedZipEntry),
14256            6 => Some(EDRMBlobDownloadErrorDetail::UnzipFullFile),
14257            7 => Some(EDRMBlobDownloadErrorDetail::UnknownBlobType),
14258            8 => Some(EDRMBlobDownloadErrorDetail::UnzipStrips),
14259            9 => Some(EDRMBlobDownloadErrorDetail::UnzipMergeGuid),
14260            10 => Some(EDRMBlobDownloadErrorDetail::UnzipSignature),
14261            11 => Some(EDRMBlobDownloadErrorDetail::ApplyStrips),
14262            12 => Some(EDRMBlobDownloadErrorDetail::ApplyMergeGuid),
14263            13 => Some(EDRMBlobDownloadErrorDetail::ApplySignature),
14264            14 => Some(EDRMBlobDownloadErrorDetail::AppIdMismatch),
14265            15 => Some(EDRMBlobDownloadErrorDetail::AppIdUnexpected),
14266            16 => Some(EDRMBlobDownloadErrorDetail::AppliedSignatureCorrupt),
14267            17 => Some(EDRMBlobDownloadErrorDetail::ApplyValveSignatureHeader),
14268            18 => Some(EDRMBlobDownloadErrorDetail::UnzipValveSignatureHeader),
14269            19 => Some(EDRMBlobDownloadErrorDetail::PathManipulationError),
14270            65536 => Some(EDRMBlobDownloadErrorDetail::TargetLocked_Base),
14271            131071 => Some(EDRMBlobDownloadErrorDetail::TargetLocked_Max),
14272            131072 => Some(EDRMBlobDownloadErrorDetail::NextBase),
14273            _ => None,
14274        }
14275        .ok_or(UnknownEnumValue::new("EDRMBlobDownloadErrorDetail", value as i128))
14276    }
14277}
14278
14279impl From<EDRMBlobDownloadErrorDetail> for i32 {
14280    fn from(value: EDRMBlobDownloadErrorDetail) -> i32 {
14281        value as i32
14282    }
14283}
14284
14285/// The `EClientStat` enumeration.
14286///
14287/// Source: `lang/steammsg.steamd`.
14288#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14289#[repr(i32)]
14290pub enum EClientStat {
14291    P2PConnectionsUDP = 0,
14292    P2PConnectionsRelay = 1,
14293    P2PGameConnections = 2,
14294    P2PVoiceConnections = 3,
14295    BytesDownloaded = 4,
14296}
14297
14298#[allow(deprecated)]
14299impl EClientStat {
14300    /// Every variant of `EClientStat`.
14301    pub const ALL: &'static [EClientStat] = &[
14302        EClientStat::P2PConnectionsUDP,
14303        EClientStat::P2PConnectionsRelay,
14304        EClientStat::P2PGameConnections,
14305        EClientStat::P2PVoiceConnections,
14306        EClientStat::BytesDownloaded,
14307    ];
14308
14309    /// The numeric value of this variant.
14310    pub const fn value(self) -> i32 {
14311        self as i32
14312    }
14313
14314    /// Builds a variant from its numeric value.
14315    ///
14316    /// When several variants share a value, the first declared one is returned.
14317    pub fn from_value(value: i32) -> Option<Self> {
14318        match value {
14319            0 => Some(EClientStat::P2PConnectionsUDP),
14320            1 => Some(EClientStat::P2PConnectionsRelay),
14321            2 => Some(EClientStat::P2PGameConnections),
14322            3 => Some(EClientStat::P2PVoiceConnections),
14323            4 => Some(EClientStat::BytesDownloaded),
14324            _ => None,
14325        }
14326    }
14327}
14328
14329impl TryFrom<i32> for EClientStat {
14330    type Error = UnknownEnumValue;
14331
14332    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14333        Self::from_value(value).ok_or(UnknownEnumValue::new("EClientStat", value as i128))
14334    }
14335}
14336
14337#[allow(deprecated)]
14338impl TryFrom<u32> for EClientStat {
14339    type Error = UnknownEnumValue;
14340
14341    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14342        match value {
14343            0 => Some(EClientStat::P2PConnectionsUDP),
14344            1 => Some(EClientStat::P2PConnectionsRelay),
14345            2 => Some(EClientStat::P2PGameConnections),
14346            3 => Some(EClientStat::P2PVoiceConnections),
14347            4 => Some(EClientStat::BytesDownloaded),
14348            _ => None,
14349        }
14350        .ok_or(UnknownEnumValue::new("EClientStat", value as i128))
14351    }
14352}
14353
14354impl From<EClientStat> for i32 {
14355    fn from(value: EClientStat) -> i32 {
14356        value as i32
14357    }
14358}
14359
14360/// The `EClientStatAggregateMethod` enumeration.
14361///
14362/// Source: `lang/steammsg.steamd`.
14363#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14364#[repr(i32)]
14365pub enum EClientStatAggregateMethod {
14366    LatestOnly = 0,
14367    Sum = 1,
14368    Event = 2,
14369    Scalar = 3,
14370}
14371
14372#[allow(deprecated)]
14373impl EClientStatAggregateMethod {
14374    /// Every variant of `EClientStatAggregateMethod`.
14375    pub const ALL: &'static [EClientStatAggregateMethod] = &[
14376        EClientStatAggregateMethod::LatestOnly,
14377        EClientStatAggregateMethod::Sum,
14378        EClientStatAggregateMethod::Event,
14379        EClientStatAggregateMethod::Scalar,
14380    ];
14381
14382    /// The numeric value of this variant.
14383    pub const fn value(self) -> i32 {
14384        self as i32
14385    }
14386
14387    /// Builds a variant from its numeric value.
14388    ///
14389    /// When several variants share a value, the first declared one is returned.
14390    pub fn from_value(value: i32) -> Option<Self> {
14391        match value {
14392            0 => Some(EClientStatAggregateMethod::LatestOnly),
14393            1 => Some(EClientStatAggregateMethod::Sum),
14394            2 => Some(EClientStatAggregateMethod::Event),
14395            3 => Some(EClientStatAggregateMethod::Scalar),
14396            _ => None,
14397        }
14398    }
14399}
14400
14401impl TryFrom<i32> for EClientStatAggregateMethod {
14402    type Error = UnknownEnumValue;
14403
14404    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14405        Self::from_value(value).ok_or(UnknownEnumValue::new("EClientStatAggregateMethod", value as i128))
14406    }
14407}
14408
14409#[allow(deprecated)]
14410impl TryFrom<u32> for EClientStatAggregateMethod {
14411    type Error = UnknownEnumValue;
14412
14413    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14414        match value {
14415            0 => Some(EClientStatAggregateMethod::LatestOnly),
14416            1 => Some(EClientStatAggregateMethod::Sum),
14417            2 => Some(EClientStatAggregateMethod::Event),
14418            3 => Some(EClientStatAggregateMethod::Scalar),
14419            _ => None,
14420        }
14421        .ok_or(UnknownEnumValue::new("EClientStatAggregateMethod", value as i128))
14422    }
14423}
14424
14425impl From<EClientStatAggregateMethod> for i32 {
14426    fn from(value: EClientStatAggregateMethod) -> i32 {
14427        value as i32
14428    }
14429}
14430
14431/// The `ELeaderboardDataRequest` enumeration.
14432///
14433/// Source: `lang/steammsg.steamd`.
14434#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14435#[repr(i32)]
14436pub enum ELeaderboardDataRequest {
14437    Global = 0,
14438    GlobalAroundUser = 1,
14439    Friends = 2,
14440    Users = 3,
14441}
14442
14443#[allow(deprecated)]
14444impl ELeaderboardDataRequest {
14445    /// Every variant of `ELeaderboardDataRequest`.
14446    pub const ALL: &'static [ELeaderboardDataRequest] = &[
14447        ELeaderboardDataRequest::Global,
14448        ELeaderboardDataRequest::GlobalAroundUser,
14449        ELeaderboardDataRequest::Friends,
14450        ELeaderboardDataRequest::Users,
14451    ];
14452
14453    /// The numeric value of this variant.
14454    pub const fn value(self) -> i32 {
14455        self as i32
14456    }
14457
14458    /// Builds a variant from its numeric value.
14459    ///
14460    /// When several variants share a value, the first declared one is returned.
14461    pub fn from_value(value: i32) -> Option<Self> {
14462        match value {
14463            0 => Some(ELeaderboardDataRequest::Global),
14464            1 => Some(ELeaderboardDataRequest::GlobalAroundUser),
14465            2 => Some(ELeaderboardDataRequest::Friends),
14466            3 => Some(ELeaderboardDataRequest::Users),
14467            _ => None,
14468        }
14469    }
14470}
14471
14472impl TryFrom<i32> for ELeaderboardDataRequest {
14473    type Error = UnknownEnumValue;
14474
14475    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14476        Self::from_value(value).ok_or(UnknownEnumValue::new("ELeaderboardDataRequest", value as i128))
14477    }
14478}
14479
14480#[allow(deprecated)]
14481impl TryFrom<u32> for ELeaderboardDataRequest {
14482    type Error = UnknownEnumValue;
14483
14484    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14485        match value {
14486            0 => Some(ELeaderboardDataRequest::Global),
14487            1 => Some(ELeaderboardDataRequest::GlobalAroundUser),
14488            2 => Some(ELeaderboardDataRequest::Friends),
14489            3 => Some(ELeaderboardDataRequest::Users),
14490            _ => None,
14491        }
14492        .ok_or(UnknownEnumValue::new("ELeaderboardDataRequest", value as i128))
14493    }
14494}
14495
14496impl From<ELeaderboardDataRequest> for i32 {
14497    fn from(value: ELeaderboardDataRequest) -> i32 {
14498        value as i32
14499    }
14500}
14501
14502/// The `ELeaderboardSortMethod` enumeration.
14503///
14504/// Source: `lang/steammsg.steamd`.
14505#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14506#[repr(i32)]
14507pub enum ELeaderboardSortMethod {
14508    None = 0,
14509    Ascending = 1,
14510    Descending = 2,
14511}
14512
14513#[allow(deprecated)]
14514impl ELeaderboardSortMethod {
14515    /// Every variant of `ELeaderboardSortMethod`.
14516    pub const ALL: &'static [ELeaderboardSortMethod] = &[
14517        ELeaderboardSortMethod::None,
14518        ELeaderboardSortMethod::Ascending,
14519        ELeaderboardSortMethod::Descending,
14520    ];
14521
14522    /// The numeric value of this variant.
14523    pub const fn value(self) -> i32 {
14524        self as i32
14525    }
14526
14527    /// Builds a variant from its numeric value.
14528    ///
14529    /// When several variants share a value, the first declared one is returned.
14530    pub fn from_value(value: i32) -> Option<Self> {
14531        match value {
14532            0 => Some(ELeaderboardSortMethod::None),
14533            1 => Some(ELeaderboardSortMethod::Ascending),
14534            2 => Some(ELeaderboardSortMethod::Descending),
14535            _ => None,
14536        }
14537    }
14538}
14539
14540impl TryFrom<i32> for ELeaderboardSortMethod {
14541    type Error = UnknownEnumValue;
14542
14543    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14544        Self::from_value(value).ok_or(UnknownEnumValue::new("ELeaderboardSortMethod", value as i128))
14545    }
14546}
14547
14548#[allow(deprecated)]
14549impl TryFrom<u32> for ELeaderboardSortMethod {
14550    type Error = UnknownEnumValue;
14551
14552    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14553        match value {
14554            0 => Some(ELeaderboardSortMethod::None),
14555            1 => Some(ELeaderboardSortMethod::Ascending),
14556            2 => Some(ELeaderboardSortMethod::Descending),
14557            _ => None,
14558        }
14559        .ok_or(UnknownEnumValue::new("ELeaderboardSortMethod", value as i128))
14560    }
14561}
14562
14563impl From<ELeaderboardSortMethod> for i32 {
14564    fn from(value: ELeaderboardSortMethod) -> i32 {
14565        value as i32
14566    }
14567}
14568
14569/// The `ELeaderboardDisplayType` enumeration.
14570///
14571/// Source: `lang/steammsg.steamd`.
14572#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14573#[repr(i32)]
14574pub enum ELeaderboardDisplayType {
14575    None = 0,
14576    Numeric = 1,
14577    TimeSeconds = 2,
14578    TimeMilliSeconds = 3,
14579}
14580
14581#[allow(deprecated)]
14582impl ELeaderboardDisplayType {
14583    /// Every variant of `ELeaderboardDisplayType`.
14584    pub const ALL: &'static [ELeaderboardDisplayType] = &[
14585        ELeaderboardDisplayType::None,
14586        ELeaderboardDisplayType::Numeric,
14587        ELeaderboardDisplayType::TimeSeconds,
14588        ELeaderboardDisplayType::TimeMilliSeconds,
14589    ];
14590
14591    /// The numeric value of this variant.
14592    pub const fn value(self) -> i32 {
14593        self as i32
14594    }
14595
14596    /// Builds a variant from its numeric value.
14597    ///
14598    /// When several variants share a value, the first declared one is returned.
14599    pub fn from_value(value: i32) -> Option<Self> {
14600        match value {
14601            0 => Some(ELeaderboardDisplayType::None),
14602            1 => Some(ELeaderboardDisplayType::Numeric),
14603            2 => Some(ELeaderboardDisplayType::TimeSeconds),
14604            3 => Some(ELeaderboardDisplayType::TimeMilliSeconds),
14605            _ => None,
14606        }
14607    }
14608}
14609
14610impl TryFrom<i32> for ELeaderboardDisplayType {
14611    type Error = UnknownEnumValue;
14612
14613    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14614        Self::from_value(value).ok_or(UnknownEnumValue::new("ELeaderboardDisplayType", value as i128))
14615    }
14616}
14617
14618#[allow(deprecated)]
14619impl TryFrom<u32> for ELeaderboardDisplayType {
14620    type Error = UnknownEnumValue;
14621
14622    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14623        match value {
14624            0 => Some(ELeaderboardDisplayType::None),
14625            1 => Some(ELeaderboardDisplayType::Numeric),
14626            2 => Some(ELeaderboardDisplayType::TimeSeconds),
14627            3 => Some(ELeaderboardDisplayType::TimeMilliSeconds),
14628            _ => None,
14629        }
14630        .ok_or(UnknownEnumValue::new("ELeaderboardDisplayType", value as i128))
14631    }
14632}
14633
14634impl From<ELeaderboardDisplayType> for i32 {
14635    fn from(value: ELeaderboardDisplayType) -> i32 {
14636        value as i32
14637    }
14638}
14639
14640/// The `ELeaderboardUploadScoreMethod` enumeration.
14641///
14642/// Source: `lang/steammsg.steamd`.
14643#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14644#[repr(i32)]
14645pub enum ELeaderboardUploadScoreMethod {
14646    None = 0,
14647    KeepBest = 1,
14648    ForceUpdate = 2,
14649}
14650
14651#[allow(deprecated)]
14652impl ELeaderboardUploadScoreMethod {
14653    /// Every variant of `ELeaderboardUploadScoreMethod`.
14654    pub const ALL: &'static [ELeaderboardUploadScoreMethod] = &[
14655        ELeaderboardUploadScoreMethod::None,
14656        ELeaderboardUploadScoreMethod::KeepBest,
14657        ELeaderboardUploadScoreMethod::ForceUpdate,
14658    ];
14659
14660    /// The numeric value of this variant.
14661    pub const fn value(self) -> i32 {
14662        self as i32
14663    }
14664
14665    /// Builds a variant from its numeric value.
14666    ///
14667    /// When several variants share a value, the first declared one is returned.
14668    pub fn from_value(value: i32) -> Option<Self> {
14669        match value {
14670            0 => Some(ELeaderboardUploadScoreMethod::None),
14671            1 => Some(ELeaderboardUploadScoreMethod::KeepBest),
14672            2 => Some(ELeaderboardUploadScoreMethod::ForceUpdate),
14673            _ => None,
14674        }
14675    }
14676}
14677
14678impl TryFrom<i32> for ELeaderboardUploadScoreMethod {
14679    type Error = UnknownEnumValue;
14680
14681    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14682        Self::from_value(value).ok_or(UnknownEnumValue::new("ELeaderboardUploadScoreMethod", value as i128))
14683    }
14684}
14685
14686#[allow(deprecated)]
14687impl TryFrom<u32> for ELeaderboardUploadScoreMethod {
14688    type Error = UnknownEnumValue;
14689
14690    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14691        match value {
14692            0 => Some(ELeaderboardUploadScoreMethod::None),
14693            1 => Some(ELeaderboardUploadScoreMethod::KeepBest),
14694            2 => Some(ELeaderboardUploadScoreMethod::ForceUpdate),
14695            _ => None,
14696        }
14697        .ok_or(UnknownEnumValue::new("ELeaderboardUploadScoreMethod", value as i128))
14698    }
14699}
14700
14701impl From<ELeaderboardUploadScoreMethod> for i32 {
14702    fn from(value: ELeaderboardUploadScoreMethod) -> i32 {
14703        value as i32
14704    }
14705}
14706
14707/// The `EUCMFilePrivacyState` enumeration.
14708///
14709/// A bit flag set: the variants can be combined with a bitwise or.
14710///
14711/// Source: `lang/steammsg.steamd`.
14712#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14713#[repr(i32)]
14714pub enum EUCMFilePrivacyState {
14715    Invalid = -1,
14716    Private = 2,
14717    FriendsOnly = 4,
14718    Public = 8,
14719    Unlisted = 16,
14720    All = 30,
14721}
14722
14723#[allow(deprecated)]
14724impl EUCMFilePrivacyState {
14725    /// Every variant of `EUCMFilePrivacyState`.
14726    pub const ALL: &'static [EUCMFilePrivacyState] = &[
14727        EUCMFilePrivacyState::Invalid,
14728        EUCMFilePrivacyState::Private,
14729        EUCMFilePrivacyState::FriendsOnly,
14730        EUCMFilePrivacyState::Public,
14731        EUCMFilePrivacyState::Unlisted,
14732        EUCMFilePrivacyState::All,
14733    ];
14734
14735    /// The numeric value of this variant.
14736    pub const fn value(self) -> i32 {
14737        self as i32
14738    }
14739
14740    /// The raw bit pattern of this flag set.
14741    pub const fn bits(self) -> i32 {
14742        self as i32
14743    }
14744
14745    /// True when no bit of this flag set is set.
14746    pub const fn is_empty(self) -> bool {
14747        (self as i32) == 0
14748    }
14749
14750    /// True when every bit of `other` is set in this flag set.
14751    pub const fn contains(self, other: Self) -> bool {
14752        (self as i32 & other as i32) == (other as i32)
14753    }
14754
14755    /// The bitwise or of two flag sets, as a raw value.
14756    pub const fn union(self, other: Self) -> i32 {
14757        (self as i32) | (other as i32)
14758    }
14759
14760    /// The bitwise and of two flag sets, as a raw value.
14761    pub const fn intersect(self, other: Self) -> i32 {
14762        (self as i32) & (other as i32)
14763    }
14764
14765    /// Builds a variant from its numeric value.
14766    ///
14767    /// When several variants share a value, the first declared one is returned.
14768    pub fn from_value(value: i32) -> Option<Self> {
14769        match value {
14770            -1 => Some(EUCMFilePrivacyState::Invalid),
14771            2 => Some(EUCMFilePrivacyState::Private),
14772            4 => Some(EUCMFilePrivacyState::FriendsOnly),
14773            8 => Some(EUCMFilePrivacyState::Public),
14774            16 => Some(EUCMFilePrivacyState::Unlisted),
14775            30 => Some(EUCMFilePrivacyState::All),
14776            _ => None,
14777        }
14778    }
14779}
14780
14781impl TryFrom<i32> for EUCMFilePrivacyState {
14782    type Error = UnknownEnumValue;
14783
14784    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14785        Self::from_value(value).ok_or(UnknownEnumValue::new("EUCMFilePrivacyState", value as i128))
14786    }
14787}
14788
14789impl From<EUCMFilePrivacyState> for i32 {
14790    fn from(value: EUCMFilePrivacyState) -> i32 {
14791        value as i32
14792    }
14793}
14794
14795/// The `EPublishedFileQueryType` enumeration.
14796///
14797/// Source: `lang/steammsg.steamd`.
14798#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14799#[repr(i32)]
14800pub enum EPublishedFileQueryType {
14801    RankedByVote = 0,
14802    RankedByPublicationDate = 1,
14803    AcceptedForGameRankedByAcceptanceDate = 2,
14804    RankedByTrend = 3,
14805    FavoritedByFriendsRankedByPublicationDate = 4,
14806    CreatedByFriendsRankedByPublicationDate = 5,
14807    RankedByNumTimesReported = 6,
14808    CreatedByFollowedUsersRankedByPublicationDate = 7,
14809    NotYetRated = 8,
14810    RankedByTotalUniqueSubscriptions = 9,
14811    RankedByTotalVotesAsc = 10,
14812    RankedByVotesUp = 11,
14813    RankedByTextSearch = 12,
14814    RankedByPlaytimeTrend = 13,
14815    RankedByTotalPlaytime = 14,
14816    RankedByAveragePlaytimeTrend = 15,
14817    RankedByLifetimeAveragePlaytime = 16,
14818    RankedByPlaytimeSessionsTrend = 17,
14819    RankedByLifetimePlaytimeSessions = 18,
14820    RankedByInappropriateContentRating = 19,
14821}
14822
14823#[allow(deprecated)]
14824impl EPublishedFileQueryType {
14825    /// Every variant of `EPublishedFileQueryType`.
14826    pub const ALL: &'static [EPublishedFileQueryType] = &[
14827        EPublishedFileQueryType::RankedByVote,
14828        EPublishedFileQueryType::RankedByPublicationDate,
14829        EPublishedFileQueryType::AcceptedForGameRankedByAcceptanceDate,
14830        EPublishedFileQueryType::RankedByTrend,
14831        EPublishedFileQueryType::FavoritedByFriendsRankedByPublicationDate,
14832        EPublishedFileQueryType::CreatedByFriendsRankedByPublicationDate,
14833        EPublishedFileQueryType::RankedByNumTimesReported,
14834        EPublishedFileQueryType::CreatedByFollowedUsersRankedByPublicationDate,
14835        EPublishedFileQueryType::NotYetRated,
14836        EPublishedFileQueryType::RankedByTotalUniqueSubscriptions,
14837        EPublishedFileQueryType::RankedByTotalVotesAsc,
14838        EPublishedFileQueryType::RankedByVotesUp,
14839        EPublishedFileQueryType::RankedByTextSearch,
14840        EPublishedFileQueryType::RankedByPlaytimeTrend,
14841        EPublishedFileQueryType::RankedByTotalPlaytime,
14842        EPublishedFileQueryType::RankedByAveragePlaytimeTrend,
14843        EPublishedFileQueryType::RankedByLifetimeAveragePlaytime,
14844        EPublishedFileQueryType::RankedByPlaytimeSessionsTrend,
14845        EPublishedFileQueryType::RankedByLifetimePlaytimeSessions,
14846        EPublishedFileQueryType::RankedByInappropriateContentRating,
14847    ];
14848
14849    /// The numeric value of this variant.
14850    pub const fn value(self) -> i32 {
14851        self as i32
14852    }
14853
14854    /// Builds a variant from its numeric value.
14855    ///
14856    /// When several variants share a value, the first declared one is returned.
14857    pub fn from_value(value: i32) -> Option<Self> {
14858        match value {
14859            0 => Some(EPublishedFileQueryType::RankedByVote),
14860            1 => Some(EPublishedFileQueryType::RankedByPublicationDate),
14861            2 => Some(EPublishedFileQueryType::AcceptedForGameRankedByAcceptanceDate),
14862            3 => Some(EPublishedFileQueryType::RankedByTrend),
14863            4 => Some(EPublishedFileQueryType::FavoritedByFriendsRankedByPublicationDate),
14864            5 => Some(EPublishedFileQueryType::CreatedByFriendsRankedByPublicationDate),
14865            6 => Some(EPublishedFileQueryType::RankedByNumTimesReported),
14866            7 => Some(EPublishedFileQueryType::CreatedByFollowedUsersRankedByPublicationDate),
14867            8 => Some(EPublishedFileQueryType::NotYetRated),
14868            9 => Some(EPublishedFileQueryType::RankedByTotalUniqueSubscriptions),
14869            10 => Some(EPublishedFileQueryType::RankedByTotalVotesAsc),
14870            11 => Some(EPublishedFileQueryType::RankedByVotesUp),
14871            12 => Some(EPublishedFileQueryType::RankedByTextSearch),
14872            13 => Some(EPublishedFileQueryType::RankedByPlaytimeTrend),
14873            14 => Some(EPublishedFileQueryType::RankedByTotalPlaytime),
14874            15 => Some(EPublishedFileQueryType::RankedByAveragePlaytimeTrend),
14875            16 => Some(EPublishedFileQueryType::RankedByLifetimeAveragePlaytime),
14876            17 => Some(EPublishedFileQueryType::RankedByPlaytimeSessionsTrend),
14877            18 => Some(EPublishedFileQueryType::RankedByLifetimePlaytimeSessions),
14878            19 => Some(EPublishedFileQueryType::RankedByInappropriateContentRating),
14879            _ => None,
14880        }
14881    }
14882}
14883
14884impl TryFrom<i32> for EPublishedFileQueryType {
14885    type Error = UnknownEnumValue;
14886
14887    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14888        Self::from_value(value).ok_or(UnknownEnumValue::new("EPublishedFileQueryType", value as i128))
14889    }
14890}
14891
14892#[allow(deprecated)]
14893impl TryFrom<u32> for EPublishedFileQueryType {
14894    type Error = UnknownEnumValue;
14895
14896    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14897        match value {
14898            0 => Some(EPublishedFileQueryType::RankedByVote),
14899            1 => Some(EPublishedFileQueryType::RankedByPublicationDate),
14900            2 => Some(EPublishedFileQueryType::AcceptedForGameRankedByAcceptanceDate),
14901            3 => Some(EPublishedFileQueryType::RankedByTrend),
14902            4 => Some(EPublishedFileQueryType::FavoritedByFriendsRankedByPublicationDate),
14903            5 => Some(EPublishedFileQueryType::CreatedByFriendsRankedByPublicationDate),
14904            6 => Some(EPublishedFileQueryType::RankedByNumTimesReported),
14905            7 => Some(EPublishedFileQueryType::CreatedByFollowedUsersRankedByPublicationDate),
14906            8 => Some(EPublishedFileQueryType::NotYetRated),
14907            9 => Some(EPublishedFileQueryType::RankedByTotalUniqueSubscriptions),
14908            10 => Some(EPublishedFileQueryType::RankedByTotalVotesAsc),
14909            11 => Some(EPublishedFileQueryType::RankedByVotesUp),
14910            12 => Some(EPublishedFileQueryType::RankedByTextSearch),
14911            13 => Some(EPublishedFileQueryType::RankedByPlaytimeTrend),
14912            14 => Some(EPublishedFileQueryType::RankedByTotalPlaytime),
14913            15 => Some(EPublishedFileQueryType::RankedByAveragePlaytimeTrend),
14914            16 => Some(EPublishedFileQueryType::RankedByLifetimeAveragePlaytime),
14915            17 => Some(EPublishedFileQueryType::RankedByPlaytimeSessionsTrend),
14916            18 => Some(EPublishedFileQueryType::RankedByLifetimePlaytimeSessions),
14917            19 => Some(EPublishedFileQueryType::RankedByInappropriateContentRating),
14918            _ => None,
14919        }
14920        .ok_or(UnknownEnumValue::new("EPublishedFileQueryType", value as i128))
14921    }
14922}
14923
14924impl From<EPublishedFileQueryType> for i32 {
14925    fn from(value: EPublishedFileQueryType) -> i32 {
14926        value as i32
14927    }
14928}
14929
14930/// The `EPublishedFileInappropriateProvider` enumeration.
14931///
14932/// Source: `lang/steammsg.steamd`.
14933#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14934#[repr(i32)]
14935pub enum EPublishedFileInappropriateProvider {
14936    Invalid = 0,
14937    Google = 1,
14938    Amazon = 2,
14939}
14940
14941#[allow(deprecated)]
14942impl EPublishedFileInappropriateProvider {
14943    /// Every variant of `EPublishedFileInappropriateProvider`.
14944    pub const ALL: &'static [EPublishedFileInappropriateProvider] = &[
14945        EPublishedFileInappropriateProvider::Invalid,
14946        EPublishedFileInappropriateProvider::Google,
14947        EPublishedFileInappropriateProvider::Amazon,
14948    ];
14949
14950    /// The numeric value of this variant.
14951    pub const fn value(self) -> i32 {
14952        self as i32
14953    }
14954
14955    /// Builds a variant from its numeric value.
14956    ///
14957    /// When several variants share a value, the first declared one is returned.
14958    pub fn from_value(value: i32) -> Option<Self> {
14959        match value {
14960            0 => Some(EPublishedFileInappropriateProvider::Invalid),
14961            1 => Some(EPublishedFileInappropriateProvider::Google),
14962            2 => Some(EPublishedFileInappropriateProvider::Amazon),
14963            _ => None,
14964        }
14965    }
14966}
14967
14968impl TryFrom<i32> for EPublishedFileInappropriateProvider {
14969    type Error = UnknownEnumValue;
14970
14971    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
14972        Self::from_value(value).ok_or(UnknownEnumValue::new("EPublishedFileInappropriateProvider", value as i128))
14973    }
14974}
14975
14976#[allow(deprecated)]
14977impl TryFrom<u32> for EPublishedFileInappropriateProvider {
14978    type Error = UnknownEnumValue;
14979
14980    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
14981        match value {
14982            0 => Some(EPublishedFileInappropriateProvider::Invalid),
14983            1 => Some(EPublishedFileInappropriateProvider::Google),
14984            2 => Some(EPublishedFileInappropriateProvider::Amazon),
14985            _ => None,
14986        }
14987        .ok_or(UnknownEnumValue::new("EPublishedFileInappropriateProvider", value as i128))
14988    }
14989}
14990
14991impl From<EPublishedFileInappropriateProvider> for i32 {
14992    fn from(value: EPublishedFileInappropriateProvider) -> i32 {
14993        value as i32
14994    }
14995}
14996
14997/// The `EPublishedFileInappropriateResult` enumeration.
14998///
14999/// Source: `lang/steammsg.steamd`.
15000#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15001#[repr(i32)]
15002pub enum EPublishedFileInappropriateResult {
15003    NotScanned = 0,
15004    VeryUnlikely = 1,
15005    Unlikely = 30,
15006    Possible = 50,
15007    Likely = 75,
15008    VeryLikely = 100,
15009}
15010
15011#[allow(deprecated)]
15012impl EPublishedFileInappropriateResult {
15013    /// Every variant of `EPublishedFileInappropriateResult`.
15014    pub const ALL: &'static [EPublishedFileInappropriateResult] = &[
15015        EPublishedFileInappropriateResult::NotScanned,
15016        EPublishedFileInappropriateResult::VeryUnlikely,
15017        EPublishedFileInappropriateResult::Unlikely,
15018        EPublishedFileInappropriateResult::Possible,
15019        EPublishedFileInappropriateResult::Likely,
15020        EPublishedFileInappropriateResult::VeryLikely,
15021    ];
15022
15023    /// The numeric value of this variant.
15024    pub const fn value(self) -> i32 {
15025        self as i32
15026    }
15027
15028    /// Builds a variant from its numeric value.
15029    ///
15030    /// When several variants share a value, the first declared one is returned.
15031    pub fn from_value(value: i32) -> Option<Self> {
15032        match value {
15033            0 => Some(EPublishedFileInappropriateResult::NotScanned),
15034            1 => Some(EPublishedFileInappropriateResult::VeryUnlikely),
15035            30 => Some(EPublishedFileInappropriateResult::Unlikely),
15036            50 => Some(EPublishedFileInappropriateResult::Possible),
15037            75 => Some(EPublishedFileInappropriateResult::Likely),
15038            100 => Some(EPublishedFileInappropriateResult::VeryLikely),
15039            _ => None,
15040        }
15041    }
15042}
15043
15044impl TryFrom<i32> for EPublishedFileInappropriateResult {
15045    type Error = UnknownEnumValue;
15046
15047    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15048        Self::from_value(value).ok_or(UnknownEnumValue::new("EPublishedFileInappropriateResult", value as i128))
15049    }
15050}
15051
15052#[allow(deprecated)]
15053impl TryFrom<u32> for EPublishedFileInappropriateResult {
15054    type Error = UnknownEnumValue;
15055
15056    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15057        match value {
15058            0 => Some(EPublishedFileInappropriateResult::NotScanned),
15059            1 => Some(EPublishedFileInappropriateResult::VeryUnlikely),
15060            30 => Some(EPublishedFileInappropriateResult::Unlikely),
15061            50 => Some(EPublishedFileInappropriateResult::Possible),
15062            75 => Some(EPublishedFileInappropriateResult::Likely),
15063            100 => Some(EPublishedFileInappropriateResult::VeryLikely),
15064            _ => None,
15065        }
15066        .ok_or(UnknownEnumValue::new("EPublishedFileInappropriateResult", value as i128))
15067    }
15068}
15069
15070impl From<EPublishedFileInappropriateResult> for i32 {
15071    fn from(value: EPublishedFileInappropriateResult) -> i32 {
15072        value as i32
15073    }
15074}
15075
15076/// The `EDisplayStatus` enumeration.
15077///
15078/// Source: `lang/steammsg.steamd`.
15079#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15080#[repr(i32)]
15081pub enum EDisplayStatus {
15082    Invalid = 0,
15083    Launching = 1,
15084    Uninstalling = 2,
15085    Installing = 3,
15086    Running = 4,
15087    Validating = 5,
15088    Updating = 6,
15089    Downloading = 7,
15090    Synchronizing = 8,
15091    ReadyToInstall = 9,
15092    ReadyToPreload = 10,
15093    ReadyToLaunch = 11,
15094    RegionRestricted = 12,
15095    PresaleOnly = 13,
15096    InvalidPlatform = 14,
15097    ParentalBlocked = 15,
15098    PreloadComplete = 16,
15099    BorrowerLocked = 17,
15100    UpdatePaused = 18,
15101    UpdateQueued = 19,
15102    UpdateRequired = 20,
15103    UpdateDisabled = 21,
15104    DownloadPaused = 22,
15105    DownloadQueued = 23,
15106    DownloadRequired = 24,
15107    DownloadDisabled = 25,
15108    LicensePending = 26,
15109    LicenseExpired = 27,
15110    AvailForFree = 28,
15111    AvailToBorrow = 29,
15112    AvailGuestPass = 30,
15113    Purchase = 31,
15114    Unavailable = 32,
15115    NotLaunchable = 33,
15116    CloudError = 34,
15117    CloudOutOfDate = 35,
15118    Terminating = 36,
15119    OwnerLocked = 37,
15120    DownloadFailed = 38,
15121    UpdateFailed = 39,
15122}
15123
15124#[allow(deprecated)]
15125impl EDisplayStatus {
15126    /// Every variant of `EDisplayStatus`.
15127    pub const ALL: &'static [EDisplayStatus] = &[
15128        EDisplayStatus::Invalid,
15129        EDisplayStatus::Launching,
15130        EDisplayStatus::Uninstalling,
15131        EDisplayStatus::Installing,
15132        EDisplayStatus::Running,
15133        EDisplayStatus::Validating,
15134        EDisplayStatus::Updating,
15135        EDisplayStatus::Downloading,
15136        EDisplayStatus::Synchronizing,
15137        EDisplayStatus::ReadyToInstall,
15138        EDisplayStatus::ReadyToPreload,
15139        EDisplayStatus::ReadyToLaunch,
15140        EDisplayStatus::RegionRestricted,
15141        EDisplayStatus::PresaleOnly,
15142        EDisplayStatus::InvalidPlatform,
15143        EDisplayStatus::ParentalBlocked,
15144        EDisplayStatus::PreloadComplete,
15145        EDisplayStatus::BorrowerLocked,
15146        EDisplayStatus::UpdatePaused,
15147        EDisplayStatus::UpdateQueued,
15148        EDisplayStatus::UpdateRequired,
15149        EDisplayStatus::UpdateDisabled,
15150        EDisplayStatus::DownloadPaused,
15151        EDisplayStatus::DownloadQueued,
15152        EDisplayStatus::DownloadRequired,
15153        EDisplayStatus::DownloadDisabled,
15154        EDisplayStatus::LicensePending,
15155        EDisplayStatus::LicenseExpired,
15156        EDisplayStatus::AvailForFree,
15157        EDisplayStatus::AvailToBorrow,
15158        EDisplayStatus::AvailGuestPass,
15159        EDisplayStatus::Purchase,
15160        EDisplayStatus::Unavailable,
15161        EDisplayStatus::NotLaunchable,
15162        EDisplayStatus::CloudError,
15163        EDisplayStatus::CloudOutOfDate,
15164        EDisplayStatus::Terminating,
15165        EDisplayStatus::OwnerLocked,
15166        EDisplayStatus::DownloadFailed,
15167        EDisplayStatus::UpdateFailed,
15168    ];
15169
15170    /// The numeric value of this variant.
15171    pub const fn value(self) -> i32 {
15172        self as i32
15173    }
15174
15175    /// Builds a variant from its numeric value.
15176    ///
15177    /// When several variants share a value, the first declared one is returned.
15178    pub fn from_value(value: i32) -> Option<Self> {
15179        match value {
15180            0 => Some(EDisplayStatus::Invalid),
15181            1 => Some(EDisplayStatus::Launching),
15182            2 => Some(EDisplayStatus::Uninstalling),
15183            3 => Some(EDisplayStatus::Installing),
15184            4 => Some(EDisplayStatus::Running),
15185            5 => Some(EDisplayStatus::Validating),
15186            6 => Some(EDisplayStatus::Updating),
15187            7 => Some(EDisplayStatus::Downloading),
15188            8 => Some(EDisplayStatus::Synchronizing),
15189            9 => Some(EDisplayStatus::ReadyToInstall),
15190            10 => Some(EDisplayStatus::ReadyToPreload),
15191            11 => Some(EDisplayStatus::ReadyToLaunch),
15192            12 => Some(EDisplayStatus::RegionRestricted),
15193            13 => Some(EDisplayStatus::PresaleOnly),
15194            14 => Some(EDisplayStatus::InvalidPlatform),
15195            15 => Some(EDisplayStatus::ParentalBlocked),
15196            16 => Some(EDisplayStatus::PreloadComplete),
15197            17 => Some(EDisplayStatus::BorrowerLocked),
15198            18 => Some(EDisplayStatus::UpdatePaused),
15199            19 => Some(EDisplayStatus::UpdateQueued),
15200            20 => Some(EDisplayStatus::UpdateRequired),
15201            21 => Some(EDisplayStatus::UpdateDisabled),
15202            22 => Some(EDisplayStatus::DownloadPaused),
15203            23 => Some(EDisplayStatus::DownloadQueued),
15204            24 => Some(EDisplayStatus::DownloadRequired),
15205            25 => Some(EDisplayStatus::DownloadDisabled),
15206            26 => Some(EDisplayStatus::LicensePending),
15207            27 => Some(EDisplayStatus::LicenseExpired),
15208            28 => Some(EDisplayStatus::AvailForFree),
15209            29 => Some(EDisplayStatus::AvailToBorrow),
15210            30 => Some(EDisplayStatus::AvailGuestPass),
15211            31 => Some(EDisplayStatus::Purchase),
15212            32 => Some(EDisplayStatus::Unavailable),
15213            33 => Some(EDisplayStatus::NotLaunchable),
15214            34 => Some(EDisplayStatus::CloudError),
15215            35 => Some(EDisplayStatus::CloudOutOfDate),
15216            36 => Some(EDisplayStatus::Terminating),
15217            37 => Some(EDisplayStatus::OwnerLocked),
15218            38 => Some(EDisplayStatus::DownloadFailed),
15219            39 => Some(EDisplayStatus::UpdateFailed),
15220            _ => None,
15221        }
15222    }
15223}
15224
15225impl TryFrom<i32> for EDisplayStatus {
15226    type Error = UnknownEnumValue;
15227
15228    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15229        Self::from_value(value).ok_or(UnknownEnumValue::new("EDisplayStatus", value as i128))
15230    }
15231}
15232
15233#[allow(deprecated)]
15234impl TryFrom<u32> for EDisplayStatus {
15235    type Error = UnknownEnumValue;
15236
15237    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15238        match value {
15239            0 => Some(EDisplayStatus::Invalid),
15240            1 => Some(EDisplayStatus::Launching),
15241            2 => Some(EDisplayStatus::Uninstalling),
15242            3 => Some(EDisplayStatus::Installing),
15243            4 => Some(EDisplayStatus::Running),
15244            5 => Some(EDisplayStatus::Validating),
15245            6 => Some(EDisplayStatus::Updating),
15246            7 => Some(EDisplayStatus::Downloading),
15247            8 => Some(EDisplayStatus::Synchronizing),
15248            9 => Some(EDisplayStatus::ReadyToInstall),
15249            10 => Some(EDisplayStatus::ReadyToPreload),
15250            11 => Some(EDisplayStatus::ReadyToLaunch),
15251            12 => Some(EDisplayStatus::RegionRestricted),
15252            13 => Some(EDisplayStatus::PresaleOnly),
15253            14 => Some(EDisplayStatus::InvalidPlatform),
15254            15 => Some(EDisplayStatus::ParentalBlocked),
15255            16 => Some(EDisplayStatus::PreloadComplete),
15256            17 => Some(EDisplayStatus::BorrowerLocked),
15257            18 => Some(EDisplayStatus::UpdatePaused),
15258            19 => Some(EDisplayStatus::UpdateQueued),
15259            20 => Some(EDisplayStatus::UpdateRequired),
15260            21 => Some(EDisplayStatus::UpdateDisabled),
15261            22 => Some(EDisplayStatus::DownloadPaused),
15262            23 => Some(EDisplayStatus::DownloadQueued),
15263            24 => Some(EDisplayStatus::DownloadRequired),
15264            25 => Some(EDisplayStatus::DownloadDisabled),
15265            26 => Some(EDisplayStatus::LicensePending),
15266            27 => Some(EDisplayStatus::LicenseExpired),
15267            28 => Some(EDisplayStatus::AvailForFree),
15268            29 => Some(EDisplayStatus::AvailToBorrow),
15269            30 => Some(EDisplayStatus::AvailGuestPass),
15270            31 => Some(EDisplayStatus::Purchase),
15271            32 => Some(EDisplayStatus::Unavailable),
15272            33 => Some(EDisplayStatus::NotLaunchable),
15273            34 => Some(EDisplayStatus::CloudError),
15274            35 => Some(EDisplayStatus::CloudOutOfDate),
15275            36 => Some(EDisplayStatus::Terminating),
15276            37 => Some(EDisplayStatus::OwnerLocked),
15277            38 => Some(EDisplayStatus::DownloadFailed),
15278            39 => Some(EDisplayStatus::UpdateFailed),
15279            _ => None,
15280        }
15281        .ok_or(UnknownEnumValue::new("EDisplayStatus", value as i128))
15282    }
15283}
15284
15285impl From<EDisplayStatus> for i32 {
15286    fn from(value: EDisplayStatus) -> i32 {
15287        value as i32
15288    }
15289}
15290
15291/// The `EAppType` enumeration.
15292///
15293/// A bit flag set: the variants can be combined with a bitwise or.
15294///
15295/// Source: `lang/steammsg.steamd`.
15296#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15297#[repr(i32)]
15298pub enum EAppType {
15299    Invalid = 0,
15300    Game = 1,
15301    Application = 2,
15302    Tool = 4,
15303    Demo = 8,
15304    Deprected = 16,
15305    DLC = 32,
15306    Guide = 64,
15307    Driver = 128,
15308    Config = 256,
15309    Hardware = 512,
15310    Franchise = 1024,
15311    Video = 2048,
15312    Plugin = 4096,
15313    Music = 8192,
15314    Series = 16384,
15315    Comic = 32768,
15316    Beta = 65536,
15317    Shortcut = 1073741824,
15318    #[deprecated]
15319    DepotOnly = -2147483648,
15320}
15321
15322#[allow(deprecated)]
15323impl EAppType {
15324    /// Every variant of `EAppType`.
15325    pub const ALL: &'static [EAppType] = &[
15326        EAppType::Invalid,
15327        EAppType::Game,
15328        EAppType::Application,
15329        EAppType::Tool,
15330        EAppType::Demo,
15331        EAppType::Deprected,
15332        EAppType::DLC,
15333        EAppType::Guide,
15334        EAppType::Driver,
15335        EAppType::Config,
15336        EAppType::Hardware,
15337        EAppType::Franchise,
15338        EAppType::Video,
15339        EAppType::Plugin,
15340        EAppType::Music,
15341        EAppType::Series,
15342        EAppType::Comic,
15343        EAppType::Beta,
15344        EAppType::Shortcut,
15345        EAppType::DepotOnly,
15346    ];
15347
15348    /// The numeric value of this variant.
15349    pub const fn value(self) -> i32 {
15350        self as i32
15351    }
15352
15353    /// The raw bit pattern of this flag set.
15354    pub const fn bits(self) -> i32 {
15355        self as i32
15356    }
15357
15358    /// True when no bit of this flag set is set.
15359    pub const fn is_empty(self) -> bool {
15360        (self as i32) == 0
15361    }
15362
15363    /// True when every bit of `other` is set in this flag set.
15364    pub const fn contains(self, other: Self) -> bool {
15365        (self as i32 & other as i32) == (other as i32)
15366    }
15367
15368    /// The bitwise or of two flag sets, as a raw value.
15369    pub const fn union(self, other: Self) -> i32 {
15370        (self as i32) | (other as i32)
15371    }
15372
15373    /// The bitwise and of two flag sets, as a raw value.
15374    pub const fn intersect(self, other: Self) -> i32 {
15375        (self as i32) & (other as i32)
15376    }
15377
15378    /// Builds a variant from its numeric value.
15379    ///
15380    /// When several variants share a value, the first declared one is returned.
15381    pub fn from_value(value: i32) -> Option<Self> {
15382        match value {
15383            0 => Some(EAppType::Invalid),
15384            1 => Some(EAppType::Game),
15385            2 => Some(EAppType::Application),
15386            4 => Some(EAppType::Tool),
15387            8 => Some(EAppType::Demo),
15388            16 => Some(EAppType::Deprected),
15389            32 => Some(EAppType::DLC),
15390            64 => Some(EAppType::Guide),
15391            128 => Some(EAppType::Driver),
15392            256 => Some(EAppType::Config),
15393            512 => Some(EAppType::Hardware),
15394            1024 => Some(EAppType::Franchise),
15395            2048 => Some(EAppType::Video),
15396            4096 => Some(EAppType::Plugin),
15397            8192 => Some(EAppType::Music),
15398            16384 => Some(EAppType::Series),
15399            32768 => Some(EAppType::Comic),
15400            65536 => Some(EAppType::Beta),
15401            1073741824 => Some(EAppType::Shortcut),
15402            -2147483648 => Some(EAppType::DepotOnly),
15403            _ => None,
15404        }
15405    }
15406}
15407
15408impl TryFrom<i32> for EAppType {
15409    type Error = UnknownEnumValue;
15410
15411    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15412        Self::from_value(value).ok_or(UnknownEnumValue::new("EAppType", value as i128))
15413    }
15414}
15415
15416impl From<EAppType> for i32 {
15417    fn from(value: EAppType) -> i32 {
15418        value as i32
15419    }
15420}
15421
15422/// The `EChatRoomGroupType` enumeration.
15423///
15424/// Source: `lang/steammsg.steamd`.
15425#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15426#[repr(i32)]
15427pub enum EChatRoomGroupType {
15428    Default = 0,
15429    Unmoderated = 1,
15430}
15431
15432#[allow(deprecated)]
15433impl EChatRoomGroupType {
15434    /// Every variant of `EChatRoomGroupType`.
15435    pub const ALL: &'static [EChatRoomGroupType] = &[
15436        EChatRoomGroupType::Default,
15437        EChatRoomGroupType::Unmoderated,
15438    ];
15439
15440    /// The numeric value of this variant.
15441    pub const fn value(self) -> i32 {
15442        self as i32
15443    }
15444
15445    /// Builds a variant from its numeric value.
15446    ///
15447    /// When several variants share a value, the first declared one is returned.
15448    pub fn from_value(value: i32) -> Option<Self> {
15449        match value {
15450            0 => Some(EChatRoomGroupType::Default),
15451            1 => Some(EChatRoomGroupType::Unmoderated),
15452            _ => None,
15453        }
15454    }
15455}
15456
15457impl TryFrom<i32> for EChatRoomGroupType {
15458    type Error = UnknownEnumValue;
15459
15460    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15461        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomGroupType", value as i128))
15462    }
15463}
15464
15465#[allow(deprecated)]
15466impl TryFrom<u32> for EChatRoomGroupType {
15467    type Error = UnknownEnumValue;
15468
15469    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15470        match value {
15471            0 => Some(EChatRoomGroupType::Default),
15472            1 => Some(EChatRoomGroupType::Unmoderated),
15473            _ => None,
15474        }
15475        .ok_or(UnknownEnumValue::new("EChatRoomGroupType", value as i128))
15476    }
15477}
15478
15479impl From<EChatRoomGroupType> for i32 {
15480    fn from(value: EChatRoomGroupType) -> i32 {
15481        value as i32
15482    }
15483}
15484
15485/// The `EChatroomNotificationLevel` enumeration.
15486///
15487/// Source: `lang/steammsg.steamd`.
15488#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15489#[repr(i32)]
15490pub enum EChatroomNotificationLevel {
15491    Invalid = 0,
15492    None = 1,
15493    MentionMe = 2,
15494    MentionAll = 3,
15495    AllMessages = 4,
15496}
15497
15498#[allow(deprecated)]
15499impl EChatroomNotificationLevel {
15500    /// Every variant of `EChatroomNotificationLevel`.
15501    pub const ALL: &'static [EChatroomNotificationLevel] = &[
15502        EChatroomNotificationLevel::Invalid,
15503        EChatroomNotificationLevel::None,
15504        EChatroomNotificationLevel::MentionMe,
15505        EChatroomNotificationLevel::MentionAll,
15506        EChatroomNotificationLevel::AllMessages,
15507    ];
15508
15509    /// The numeric value of this variant.
15510    pub const fn value(self) -> i32 {
15511        self as i32
15512    }
15513
15514    /// Builds a variant from its numeric value.
15515    ///
15516    /// When several variants share a value, the first declared one is returned.
15517    pub fn from_value(value: i32) -> Option<Self> {
15518        match value {
15519            0 => Some(EChatroomNotificationLevel::Invalid),
15520            1 => Some(EChatroomNotificationLevel::None),
15521            2 => Some(EChatroomNotificationLevel::MentionMe),
15522            3 => Some(EChatroomNotificationLevel::MentionAll),
15523            4 => Some(EChatroomNotificationLevel::AllMessages),
15524            _ => None,
15525        }
15526    }
15527}
15528
15529impl TryFrom<i32> for EChatroomNotificationLevel {
15530    type Error = UnknownEnumValue;
15531
15532    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15533        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatroomNotificationLevel", value as i128))
15534    }
15535}
15536
15537#[allow(deprecated)]
15538impl TryFrom<u32> for EChatroomNotificationLevel {
15539    type Error = UnknownEnumValue;
15540
15541    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15542        match value {
15543            0 => Some(EChatroomNotificationLevel::Invalid),
15544            1 => Some(EChatroomNotificationLevel::None),
15545            2 => Some(EChatroomNotificationLevel::MentionMe),
15546            3 => Some(EChatroomNotificationLevel::MentionAll),
15547            4 => Some(EChatroomNotificationLevel::AllMessages),
15548            _ => None,
15549        }
15550        .ok_or(UnknownEnumValue::new("EChatroomNotificationLevel", value as i128))
15551    }
15552}
15553
15554impl From<EChatroomNotificationLevel> for i32 {
15555    fn from(value: EChatroomNotificationLevel) -> i32 {
15556        value as i32
15557    }
15558}
15559
15560/// The `EChatRoomMemberStateChange` enumeration.
15561///
15562/// Source: `lang/steammsg.steamd`.
15563#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15564#[repr(i32)]
15565pub enum EChatRoomMemberStateChange {
15566    Invalid = 0,
15567    Joined = 1,
15568    Parted = 2,
15569    Kicked = 3,
15570    Invited = 4,
15571    RankChanged = 7,
15572    InviteDismissed = 8,
15573    Muted = 9,
15574    Banned = 10,
15575    RolesChanged = 12,
15576}
15577
15578#[allow(deprecated)]
15579impl EChatRoomMemberStateChange {
15580    /// Every variant of `EChatRoomMemberStateChange`.
15581    pub const ALL: &'static [EChatRoomMemberStateChange] = &[
15582        EChatRoomMemberStateChange::Invalid,
15583        EChatRoomMemberStateChange::Joined,
15584        EChatRoomMemberStateChange::Parted,
15585        EChatRoomMemberStateChange::Kicked,
15586        EChatRoomMemberStateChange::Invited,
15587        EChatRoomMemberStateChange::RankChanged,
15588        EChatRoomMemberStateChange::InviteDismissed,
15589        EChatRoomMemberStateChange::Muted,
15590        EChatRoomMemberStateChange::Banned,
15591        EChatRoomMemberStateChange::RolesChanged,
15592    ];
15593
15594    /// The numeric value of this variant.
15595    pub const fn value(self) -> i32 {
15596        self as i32
15597    }
15598
15599    /// Builds a variant from its numeric value.
15600    ///
15601    /// When several variants share a value, the first declared one is returned.
15602    pub fn from_value(value: i32) -> Option<Self> {
15603        match value {
15604            0 => Some(EChatRoomMemberStateChange::Invalid),
15605            1 => Some(EChatRoomMemberStateChange::Joined),
15606            2 => Some(EChatRoomMemberStateChange::Parted),
15607            3 => Some(EChatRoomMemberStateChange::Kicked),
15608            4 => Some(EChatRoomMemberStateChange::Invited),
15609            7 => Some(EChatRoomMemberStateChange::RankChanged),
15610            8 => Some(EChatRoomMemberStateChange::InviteDismissed),
15611            9 => Some(EChatRoomMemberStateChange::Muted),
15612            10 => Some(EChatRoomMemberStateChange::Banned),
15613            12 => Some(EChatRoomMemberStateChange::RolesChanged),
15614            _ => None,
15615        }
15616    }
15617}
15618
15619impl TryFrom<i32> for EChatRoomMemberStateChange {
15620    type Error = UnknownEnumValue;
15621
15622    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15623        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomMemberStateChange", value as i128))
15624    }
15625}
15626
15627#[allow(deprecated)]
15628impl TryFrom<u32> for EChatRoomMemberStateChange {
15629    type Error = UnknownEnumValue;
15630
15631    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15632        match value {
15633            0 => Some(EChatRoomMemberStateChange::Invalid),
15634            1 => Some(EChatRoomMemberStateChange::Joined),
15635            2 => Some(EChatRoomMemberStateChange::Parted),
15636            3 => Some(EChatRoomMemberStateChange::Kicked),
15637            4 => Some(EChatRoomMemberStateChange::Invited),
15638            7 => Some(EChatRoomMemberStateChange::RankChanged),
15639            8 => Some(EChatRoomMemberStateChange::InviteDismissed),
15640            9 => Some(EChatRoomMemberStateChange::Muted),
15641            10 => Some(EChatRoomMemberStateChange::Banned),
15642            12 => Some(EChatRoomMemberStateChange::RolesChanged),
15643            _ => None,
15644        }
15645        .ok_or(UnknownEnumValue::new("EChatRoomMemberStateChange", value as i128))
15646    }
15647}
15648
15649impl From<EChatRoomMemberStateChange> for i32 {
15650    fn from(value: EChatRoomMemberStateChange) -> i32 {
15651        value as i32
15652    }
15653}
15654
15655/// The `EChatRoomServerMsg` enumeration.
15656///
15657/// Source: `lang/steammsg.steamd`.
15658#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15659#[repr(i32)]
15660pub enum EChatRoomServerMsg {
15661    Invalid = 0,
15662    RenameChatRoom = 1,
15663    Joined = 2,
15664    Parted = 3,
15665    Kicked = 4,
15666    Invited = 5,
15667    InviteDismissed = 8,
15668    ChatRoomTaglineChanged = 9,
15669    ChatRoomAvatarChanged = 10,
15670    AppCustom = 11,
15671}
15672
15673#[allow(deprecated)]
15674impl EChatRoomServerMsg {
15675    /// Every variant of `EChatRoomServerMsg`.
15676    pub const ALL: &'static [EChatRoomServerMsg] = &[
15677        EChatRoomServerMsg::Invalid,
15678        EChatRoomServerMsg::RenameChatRoom,
15679        EChatRoomServerMsg::Joined,
15680        EChatRoomServerMsg::Parted,
15681        EChatRoomServerMsg::Kicked,
15682        EChatRoomServerMsg::Invited,
15683        EChatRoomServerMsg::InviteDismissed,
15684        EChatRoomServerMsg::ChatRoomTaglineChanged,
15685        EChatRoomServerMsg::ChatRoomAvatarChanged,
15686        EChatRoomServerMsg::AppCustom,
15687    ];
15688
15689    /// The numeric value of this variant.
15690    pub const fn value(self) -> i32 {
15691        self as i32
15692    }
15693
15694    /// Builds a variant from its numeric value.
15695    ///
15696    /// When several variants share a value, the first declared one is returned.
15697    pub fn from_value(value: i32) -> Option<Self> {
15698        match value {
15699            0 => Some(EChatRoomServerMsg::Invalid),
15700            1 => Some(EChatRoomServerMsg::RenameChatRoom),
15701            2 => Some(EChatRoomServerMsg::Joined),
15702            3 => Some(EChatRoomServerMsg::Parted),
15703            4 => Some(EChatRoomServerMsg::Kicked),
15704            5 => Some(EChatRoomServerMsg::Invited),
15705            8 => Some(EChatRoomServerMsg::InviteDismissed),
15706            9 => Some(EChatRoomServerMsg::ChatRoomTaglineChanged),
15707            10 => Some(EChatRoomServerMsg::ChatRoomAvatarChanged),
15708            11 => Some(EChatRoomServerMsg::AppCustom),
15709            _ => None,
15710        }
15711    }
15712}
15713
15714impl TryFrom<i32> for EChatRoomServerMsg {
15715    type Error = UnknownEnumValue;
15716
15717    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15718        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomServerMsg", value as i128))
15719    }
15720}
15721
15722#[allow(deprecated)]
15723impl TryFrom<u32> for EChatRoomServerMsg {
15724    type Error = UnknownEnumValue;
15725
15726    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15727        match value {
15728            0 => Some(EChatRoomServerMsg::Invalid),
15729            1 => Some(EChatRoomServerMsg::RenameChatRoom),
15730            2 => Some(EChatRoomServerMsg::Joined),
15731            3 => Some(EChatRoomServerMsg::Parted),
15732            4 => Some(EChatRoomServerMsg::Kicked),
15733            5 => Some(EChatRoomServerMsg::Invited),
15734            8 => Some(EChatRoomServerMsg::InviteDismissed),
15735            9 => Some(EChatRoomServerMsg::ChatRoomTaglineChanged),
15736            10 => Some(EChatRoomServerMsg::ChatRoomAvatarChanged),
15737            11 => Some(EChatRoomServerMsg::AppCustom),
15738            _ => None,
15739        }
15740        .ok_or(UnknownEnumValue::new("EChatRoomServerMsg", value as i128))
15741    }
15742}
15743
15744impl From<EChatRoomServerMsg> for i32 {
15745    fn from(value: EChatRoomServerMsg) -> i32 {
15746        value as i32
15747    }
15748}
15749
15750/// The `EChatRoomGroupRank` enumeration.
15751///
15752/// Source: `lang/steammsg.steamd`.
15753#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15754#[repr(i32)]
15755pub enum EChatRoomGroupRank {
15756    Default = 0,
15757    Viewer = 10,
15758    Guest = 15,
15759    Member = 20,
15760    Moderator = 30,
15761    Officer = 40,
15762    Owner = 50,
15763    TestInvalid = 99,
15764}
15765
15766#[allow(deprecated)]
15767impl EChatRoomGroupRank {
15768    /// Every variant of `EChatRoomGroupRank`.
15769    pub const ALL: &'static [EChatRoomGroupRank] = &[
15770        EChatRoomGroupRank::Default,
15771        EChatRoomGroupRank::Viewer,
15772        EChatRoomGroupRank::Guest,
15773        EChatRoomGroupRank::Member,
15774        EChatRoomGroupRank::Moderator,
15775        EChatRoomGroupRank::Officer,
15776        EChatRoomGroupRank::Owner,
15777        EChatRoomGroupRank::TestInvalid,
15778    ];
15779
15780    /// The numeric value of this variant.
15781    pub const fn value(self) -> i32 {
15782        self as i32
15783    }
15784
15785    /// Builds a variant from its numeric value.
15786    ///
15787    /// When several variants share a value, the first declared one is returned.
15788    pub fn from_value(value: i32) -> Option<Self> {
15789        match value {
15790            0 => Some(EChatRoomGroupRank::Default),
15791            10 => Some(EChatRoomGroupRank::Viewer),
15792            15 => Some(EChatRoomGroupRank::Guest),
15793            20 => Some(EChatRoomGroupRank::Member),
15794            30 => Some(EChatRoomGroupRank::Moderator),
15795            40 => Some(EChatRoomGroupRank::Officer),
15796            50 => Some(EChatRoomGroupRank::Owner),
15797            99 => Some(EChatRoomGroupRank::TestInvalid),
15798            _ => None,
15799        }
15800    }
15801}
15802
15803impl TryFrom<i32> for EChatRoomGroupRank {
15804    type Error = UnknownEnumValue;
15805
15806    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15807        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomGroupRank", value as i128))
15808    }
15809}
15810
15811#[allow(deprecated)]
15812impl TryFrom<u32> for EChatRoomGroupRank {
15813    type Error = UnknownEnumValue;
15814
15815    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15816        match value {
15817            0 => Some(EChatRoomGroupRank::Default),
15818            10 => Some(EChatRoomGroupRank::Viewer),
15819            15 => Some(EChatRoomGroupRank::Guest),
15820            20 => Some(EChatRoomGroupRank::Member),
15821            30 => Some(EChatRoomGroupRank::Moderator),
15822            40 => Some(EChatRoomGroupRank::Officer),
15823            50 => Some(EChatRoomGroupRank::Owner),
15824            99 => Some(EChatRoomGroupRank::TestInvalid),
15825            _ => None,
15826        }
15827        .ok_or(UnknownEnumValue::new("EChatRoomGroupRank", value as i128))
15828    }
15829}
15830
15831impl From<EChatRoomGroupRank> for i32 {
15832    fn from(value: EChatRoomGroupRank) -> i32 {
15833        value as i32
15834    }
15835}
15836
15837/// The `EChatRoomGroupPermissions` enumeration.
15838///
15839/// A bit flag set: the variants can be combined with a bitwise or.
15840///
15841/// Source: `lang/steammsg.steamd`.
15842#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15843#[repr(i32)]
15844pub enum EChatRoomGroupPermissions {
15845    Default = 0,
15846    Valid = 1,
15847    CanInvite = 2,
15848    CanKick = 4,
15849    CanBan = 8,
15850    CanAdminChannel = 16,
15851}
15852
15853#[allow(deprecated)]
15854impl EChatRoomGroupPermissions {
15855    /// Every variant of `EChatRoomGroupPermissions`.
15856    pub const ALL: &'static [EChatRoomGroupPermissions] = &[
15857        EChatRoomGroupPermissions::Default,
15858        EChatRoomGroupPermissions::Valid,
15859        EChatRoomGroupPermissions::CanInvite,
15860        EChatRoomGroupPermissions::CanKick,
15861        EChatRoomGroupPermissions::CanBan,
15862        EChatRoomGroupPermissions::CanAdminChannel,
15863    ];
15864
15865    /// The numeric value of this variant.
15866    pub const fn value(self) -> i32 {
15867        self as i32
15868    }
15869
15870    /// The raw bit pattern of this flag set.
15871    pub const fn bits(self) -> i32 {
15872        self as i32
15873    }
15874
15875    /// True when no bit of this flag set is set.
15876    pub const fn is_empty(self) -> bool {
15877        (self as i32) == 0
15878    }
15879
15880    /// True when every bit of `other` is set in this flag set.
15881    pub const fn contains(self, other: Self) -> bool {
15882        (self as i32 & other as i32) == (other as i32)
15883    }
15884
15885    /// The bitwise or of two flag sets, as a raw value.
15886    pub const fn union(self, other: Self) -> i32 {
15887        (self as i32) | (other as i32)
15888    }
15889
15890    /// The bitwise and of two flag sets, as a raw value.
15891    pub const fn intersect(self, other: Self) -> i32 {
15892        (self as i32) & (other as i32)
15893    }
15894
15895    /// Builds a variant from its numeric value.
15896    ///
15897    /// When several variants share a value, the first declared one is returned.
15898    pub fn from_value(value: i32) -> Option<Self> {
15899        match value {
15900            0 => Some(EChatRoomGroupPermissions::Default),
15901            1 => Some(EChatRoomGroupPermissions::Valid),
15902            2 => Some(EChatRoomGroupPermissions::CanInvite),
15903            4 => Some(EChatRoomGroupPermissions::CanKick),
15904            8 => Some(EChatRoomGroupPermissions::CanBan),
15905            16 => Some(EChatRoomGroupPermissions::CanAdminChannel),
15906            _ => None,
15907        }
15908    }
15909}
15910
15911impl TryFrom<i32> for EChatRoomGroupPermissions {
15912    type Error = UnknownEnumValue;
15913
15914    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
15915        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomGroupPermissions", value as i128))
15916    }
15917}
15918
15919#[allow(deprecated)]
15920impl TryFrom<u32> for EChatRoomGroupPermissions {
15921    type Error = UnknownEnumValue;
15922
15923    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
15924        match value {
15925            0 => Some(EChatRoomGroupPermissions::Default),
15926            1 => Some(EChatRoomGroupPermissions::Valid),
15927            2 => Some(EChatRoomGroupPermissions::CanInvite),
15928            4 => Some(EChatRoomGroupPermissions::CanKick),
15929            8 => Some(EChatRoomGroupPermissions::CanBan),
15930            16 => Some(EChatRoomGroupPermissions::CanAdminChannel),
15931            _ => None,
15932        }
15933        .ok_or(UnknownEnumValue::new("EChatRoomGroupPermissions", value as i128))
15934    }
15935}
15936
15937impl From<EChatRoomGroupPermissions> for i32 {
15938    fn from(value: EChatRoomGroupPermissions) -> i32 {
15939        value as i32
15940    }
15941}
15942
15943/// The `EChatRoomGroupAction` enumeration.
15944///
15945/// Source: `lang/steammsg.steamd`.
15946#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15947#[repr(i32)]
15948pub enum EChatRoomGroupAction {
15949    Default = 0,
15950    CreateRenameDeleteChannel = 1,
15951    Kick = 2,
15952    Ban = 3,
15953    Invite = 4,
15954    ChangeTaglineAvatarName = 5,
15955    Chat = 6,
15956    ViewHistory = 7,
15957    ChangeGroupRoles = 8,
15958    ChangeUserRoles = 9,
15959    MentionAll = 10,
15960    SetWatchingBroadcast = 11,
15961}
15962
15963#[allow(deprecated)]
15964impl EChatRoomGroupAction {
15965    /// Every variant of `EChatRoomGroupAction`.
15966    pub const ALL: &'static [EChatRoomGroupAction] = &[
15967        EChatRoomGroupAction::Default,
15968        EChatRoomGroupAction::CreateRenameDeleteChannel,
15969        EChatRoomGroupAction::Kick,
15970        EChatRoomGroupAction::Ban,
15971        EChatRoomGroupAction::Invite,
15972        EChatRoomGroupAction::ChangeTaglineAvatarName,
15973        EChatRoomGroupAction::Chat,
15974        EChatRoomGroupAction::ViewHistory,
15975        EChatRoomGroupAction::ChangeGroupRoles,
15976        EChatRoomGroupAction::ChangeUserRoles,
15977        EChatRoomGroupAction::MentionAll,
15978        EChatRoomGroupAction::SetWatchingBroadcast,
15979    ];
15980
15981    /// The numeric value of this variant.
15982    pub const fn value(self) -> i32 {
15983        self as i32
15984    }
15985
15986    /// Builds a variant from its numeric value.
15987    ///
15988    /// When several variants share a value, the first declared one is returned.
15989    pub fn from_value(value: i32) -> Option<Self> {
15990        match value {
15991            0 => Some(EChatRoomGroupAction::Default),
15992            1 => Some(EChatRoomGroupAction::CreateRenameDeleteChannel),
15993            2 => Some(EChatRoomGroupAction::Kick),
15994            3 => Some(EChatRoomGroupAction::Ban),
15995            4 => Some(EChatRoomGroupAction::Invite),
15996            5 => Some(EChatRoomGroupAction::ChangeTaglineAvatarName),
15997            6 => Some(EChatRoomGroupAction::Chat),
15998            7 => Some(EChatRoomGroupAction::ViewHistory),
15999            8 => Some(EChatRoomGroupAction::ChangeGroupRoles),
16000            9 => Some(EChatRoomGroupAction::ChangeUserRoles),
16001            10 => Some(EChatRoomGroupAction::MentionAll),
16002            11 => Some(EChatRoomGroupAction::SetWatchingBroadcast),
16003            _ => None,
16004        }
16005    }
16006}
16007
16008impl TryFrom<i32> for EChatRoomGroupAction {
16009    type Error = UnknownEnumValue;
16010
16011    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16012        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomGroupAction", value as i128))
16013    }
16014}
16015
16016#[allow(deprecated)]
16017impl TryFrom<u32> for EChatRoomGroupAction {
16018    type Error = UnknownEnumValue;
16019
16020    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16021        match value {
16022            0 => Some(EChatRoomGroupAction::Default),
16023            1 => Some(EChatRoomGroupAction::CreateRenameDeleteChannel),
16024            2 => Some(EChatRoomGroupAction::Kick),
16025            3 => Some(EChatRoomGroupAction::Ban),
16026            4 => Some(EChatRoomGroupAction::Invite),
16027            5 => Some(EChatRoomGroupAction::ChangeTaglineAvatarName),
16028            6 => Some(EChatRoomGroupAction::Chat),
16029            7 => Some(EChatRoomGroupAction::ViewHistory),
16030            8 => Some(EChatRoomGroupAction::ChangeGroupRoles),
16031            9 => Some(EChatRoomGroupAction::ChangeUserRoles),
16032            10 => Some(EChatRoomGroupAction::MentionAll),
16033            11 => Some(EChatRoomGroupAction::SetWatchingBroadcast),
16034            _ => None,
16035        }
16036        .ok_or(UnknownEnumValue::new("EChatRoomGroupAction", value as i128))
16037    }
16038}
16039
16040impl From<EChatRoomGroupAction> for i32 {
16041    fn from(value: EChatRoomGroupAction) -> i32 {
16042        value as i32
16043    }
16044}
16045
16046/// The `EChatRoomJoinState` enumeration.
16047///
16048/// Source: `lang/steammsg.steamd`.
16049#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16050#[repr(i32)]
16051pub enum EChatRoomJoinState {
16052    Default = 0,
16053    None = 1,
16054    Joined = 2,
16055    TestInvalid = 99,
16056}
16057
16058#[allow(deprecated)]
16059impl EChatRoomJoinState {
16060    /// Every variant of `EChatRoomJoinState`.
16061    pub const ALL: &'static [EChatRoomJoinState] = &[
16062        EChatRoomJoinState::Default,
16063        EChatRoomJoinState::None,
16064        EChatRoomJoinState::Joined,
16065        EChatRoomJoinState::TestInvalid,
16066    ];
16067
16068    /// The numeric value of this variant.
16069    pub const fn value(self) -> i32 {
16070        self as i32
16071    }
16072
16073    /// Builds a variant from its numeric value.
16074    ///
16075    /// When several variants share a value, the first declared one is returned.
16076    pub fn from_value(value: i32) -> Option<Self> {
16077        match value {
16078            0 => Some(EChatRoomJoinState::Default),
16079            1 => Some(EChatRoomJoinState::None),
16080            2 => Some(EChatRoomJoinState::Joined),
16081            99 => Some(EChatRoomJoinState::TestInvalid),
16082            _ => None,
16083        }
16084    }
16085}
16086
16087impl TryFrom<i32> for EChatRoomJoinState {
16088    type Error = UnknownEnumValue;
16089
16090    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16091        Self::from_value(value).ok_or(UnknownEnumValue::new("EChatRoomJoinState", value as i128))
16092    }
16093}
16094
16095#[allow(deprecated)]
16096impl TryFrom<u32> for EChatRoomJoinState {
16097    type Error = UnknownEnumValue;
16098
16099    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16100        match value {
16101            0 => Some(EChatRoomJoinState::Default),
16102            1 => Some(EChatRoomJoinState::None),
16103            2 => Some(EChatRoomJoinState::Joined),
16104            99 => Some(EChatRoomJoinState::TestInvalid),
16105            _ => None,
16106        }
16107        .ok_or(UnknownEnumValue::new("EChatRoomJoinState", value as i128))
16108    }
16109}
16110
16111impl From<EChatRoomJoinState> for i32 {
16112    fn from(value: EChatRoomJoinState) -> i32 {
16113        value as i32
16114    }
16115}
16116
16117/// The `EVoiceCallState` enumeration.
16118///
16119/// Source: `lang/steammsg.steamd`.
16120#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16121#[repr(i32)]
16122pub enum EVoiceCallState {
16123    None = 0,
16124    ScheduledInitiate = 1,
16125    RequestedMicAccess = 2,
16126    LocalMicOnly = 3,
16127    CreatePeerConnection = 4,
16128    InitatedWebRTCSession = 5,
16129    UpdatingWebRTCSession = 6,
16130    WebRTCConnectedWaitingOnIceConnected = 7,
16131    RequestedPermission = 8,
16132    NotifyingVoiceChatOfWebRTCSession = 9,
16133    Connected = 10,
16134}
16135
16136#[allow(deprecated)]
16137impl EVoiceCallState {
16138    /// Every variant of `EVoiceCallState`.
16139    pub const ALL: &'static [EVoiceCallState] = &[
16140        EVoiceCallState::None,
16141        EVoiceCallState::ScheduledInitiate,
16142        EVoiceCallState::RequestedMicAccess,
16143        EVoiceCallState::LocalMicOnly,
16144        EVoiceCallState::CreatePeerConnection,
16145        EVoiceCallState::InitatedWebRTCSession,
16146        EVoiceCallState::UpdatingWebRTCSession,
16147        EVoiceCallState::WebRTCConnectedWaitingOnIceConnected,
16148        EVoiceCallState::RequestedPermission,
16149        EVoiceCallState::NotifyingVoiceChatOfWebRTCSession,
16150        EVoiceCallState::Connected,
16151    ];
16152
16153    /// The numeric value of this variant.
16154    pub const fn value(self) -> i32 {
16155        self as i32
16156    }
16157
16158    /// Builds a variant from its numeric value.
16159    ///
16160    /// When several variants share a value, the first declared one is returned.
16161    pub fn from_value(value: i32) -> Option<Self> {
16162        match value {
16163            0 => Some(EVoiceCallState::None),
16164            1 => Some(EVoiceCallState::ScheduledInitiate),
16165            2 => Some(EVoiceCallState::RequestedMicAccess),
16166            3 => Some(EVoiceCallState::LocalMicOnly),
16167            4 => Some(EVoiceCallState::CreatePeerConnection),
16168            5 => Some(EVoiceCallState::InitatedWebRTCSession),
16169            6 => Some(EVoiceCallState::UpdatingWebRTCSession),
16170            7 => Some(EVoiceCallState::WebRTCConnectedWaitingOnIceConnected),
16171            8 => Some(EVoiceCallState::RequestedPermission),
16172            9 => Some(EVoiceCallState::NotifyingVoiceChatOfWebRTCSession),
16173            10 => Some(EVoiceCallState::Connected),
16174            _ => None,
16175        }
16176    }
16177}
16178
16179impl TryFrom<i32> for EVoiceCallState {
16180    type Error = UnknownEnumValue;
16181
16182    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16183        Self::from_value(value).ok_or(UnknownEnumValue::new("EVoiceCallState", value as i128))
16184    }
16185}
16186
16187#[allow(deprecated)]
16188impl TryFrom<u32> for EVoiceCallState {
16189    type Error = UnknownEnumValue;
16190
16191    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16192        match value {
16193            0 => Some(EVoiceCallState::None),
16194            1 => Some(EVoiceCallState::ScheduledInitiate),
16195            2 => Some(EVoiceCallState::RequestedMicAccess),
16196            3 => Some(EVoiceCallState::LocalMicOnly),
16197            4 => Some(EVoiceCallState::CreatePeerConnection),
16198            5 => Some(EVoiceCallState::InitatedWebRTCSession),
16199            6 => Some(EVoiceCallState::UpdatingWebRTCSession),
16200            7 => Some(EVoiceCallState::WebRTCConnectedWaitingOnIceConnected),
16201            8 => Some(EVoiceCallState::RequestedPermission),
16202            9 => Some(EVoiceCallState::NotifyingVoiceChatOfWebRTCSession),
16203            10 => Some(EVoiceCallState::Connected),
16204            _ => None,
16205        }
16206        .ok_or(UnknownEnumValue::new("EVoiceCallState", value as i128))
16207    }
16208}
16209
16210impl From<EVoiceCallState> for i32 {
16211    fn from(value: EVoiceCallState) -> i32 {
16212        value as i32
16213    }
16214}
16215
16216/// The `ETradeOfferState` enumeration.
16217///
16218/// Source: `lang/steammsg.steamd`.
16219#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16220#[repr(i32)]
16221pub enum ETradeOfferState {
16222    Invalid = 1,
16223    Active = 2,
16224    Accepted = 3,
16225    Countered = 4,
16226    Expired = 5,
16227    Canceled = 6,
16228    Declined = 7,
16229    InvalidItems = 8,
16230    CreatedNeedsConfirmation = 9,
16231    CanceledBySecondFactor = 10,
16232    InEscrow = 11,
16233    Reverted = 12,
16234}
16235
16236#[allow(deprecated)]
16237impl ETradeOfferState {
16238    /// Every variant of `ETradeOfferState`.
16239    pub const ALL: &'static [ETradeOfferState] = &[
16240        ETradeOfferState::Invalid,
16241        ETradeOfferState::Active,
16242        ETradeOfferState::Accepted,
16243        ETradeOfferState::Countered,
16244        ETradeOfferState::Expired,
16245        ETradeOfferState::Canceled,
16246        ETradeOfferState::Declined,
16247        ETradeOfferState::InvalidItems,
16248        ETradeOfferState::CreatedNeedsConfirmation,
16249        ETradeOfferState::CanceledBySecondFactor,
16250        ETradeOfferState::InEscrow,
16251        ETradeOfferState::Reverted,
16252    ];
16253
16254    /// The numeric value of this variant.
16255    pub const fn value(self) -> i32 {
16256        self as i32
16257    }
16258
16259    /// Builds a variant from its numeric value.
16260    ///
16261    /// When several variants share a value, the first declared one is returned.
16262    pub fn from_value(value: i32) -> Option<Self> {
16263        match value {
16264            1 => Some(ETradeOfferState::Invalid),
16265            2 => Some(ETradeOfferState::Active),
16266            3 => Some(ETradeOfferState::Accepted),
16267            4 => Some(ETradeOfferState::Countered),
16268            5 => Some(ETradeOfferState::Expired),
16269            6 => Some(ETradeOfferState::Canceled),
16270            7 => Some(ETradeOfferState::Declined),
16271            8 => Some(ETradeOfferState::InvalidItems),
16272            9 => Some(ETradeOfferState::CreatedNeedsConfirmation),
16273            10 => Some(ETradeOfferState::CanceledBySecondFactor),
16274            11 => Some(ETradeOfferState::InEscrow),
16275            12 => Some(ETradeOfferState::Reverted),
16276            _ => None,
16277        }
16278    }
16279}
16280
16281impl TryFrom<i32> for ETradeOfferState {
16282    type Error = UnknownEnumValue;
16283
16284    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16285        Self::from_value(value).ok_or(UnknownEnumValue::new("ETradeOfferState", value as i128))
16286    }
16287}
16288
16289#[allow(deprecated)]
16290impl TryFrom<u32> for ETradeOfferState {
16291    type Error = UnknownEnumValue;
16292
16293    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16294        match value {
16295            1 => Some(ETradeOfferState::Invalid),
16296            2 => Some(ETradeOfferState::Active),
16297            3 => Some(ETradeOfferState::Accepted),
16298            4 => Some(ETradeOfferState::Countered),
16299            5 => Some(ETradeOfferState::Expired),
16300            6 => Some(ETradeOfferState::Canceled),
16301            7 => Some(ETradeOfferState::Declined),
16302            8 => Some(ETradeOfferState::InvalidItems),
16303            9 => Some(ETradeOfferState::CreatedNeedsConfirmation),
16304            10 => Some(ETradeOfferState::CanceledBySecondFactor),
16305            11 => Some(ETradeOfferState::InEscrow),
16306            12 => Some(ETradeOfferState::Reverted),
16307            _ => None,
16308        }
16309        .ok_or(UnknownEnumValue::new("ETradeOfferState", value as i128))
16310    }
16311}
16312
16313impl From<ETradeOfferState> for i32 {
16314    fn from(value: ETradeOfferState) -> i32 {
16315        value as i32
16316    }
16317}
16318
16319/// The `ETradeOfferConfirmationMethod` enumeration.
16320///
16321/// Source: `lang/steammsg.steamd`.
16322#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16323#[repr(i32)]
16324pub enum ETradeOfferConfirmationMethod {
16325    Invalid = 0,
16326    Email = 1,
16327    MobileApp = 2,
16328}
16329
16330#[allow(deprecated)]
16331impl ETradeOfferConfirmationMethod {
16332    /// Every variant of `ETradeOfferConfirmationMethod`.
16333    pub const ALL: &'static [ETradeOfferConfirmationMethod] = &[
16334        ETradeOfferConfirmationMethod::Invalid,
16335        ETradeOfferConfirmationMethod::Email,
16336        ETradeOfferConfirmationMethod::MobileApp,
16337    ];
16338
16339    /// The numeric value of this variant.
16340    pub const fn value(self) -> i32 {
16341        self as i32
16342    }
16343
16344    /// Builds a variant from its numeric value.
16345    ///
16346    /// When several variants share a value, the first declared one is returned.
16347    pub fn from_value(value: i32) -> Option<Self> {
16348        match value {
16349            0 => Some(ETradeOfferConfirmationMethod::Invalid),
16350            1 => Some(ETradeOfferConfirmationMethod::Email),
16351            2 => Some(ETradeOfferConfirmationMethod::MobileApp),
16352            _ => None,
16353        }
16354    }
16355}
16356
16357impl TryFrom<i32> for ETradeOfferConfirmationMethod {
16358    type Error = UnknownEnumValue;
16359
16360    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16361        Self::from_value(value).ok_or(UnknownEnumValue::new("ETradeOfferConfirmationMethod", value as i128))
16362    }
16363}
16364
16365#[allow(deprecated)]
16366impl TryFrom<u32> for ETradeOfferConfirmationMethod {
16367    type Error = UnknownEnumValue;
16368
16369    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16370        match value {
16371            0 => Some(ETradeOfferConfirmationMethod::Invalid),
16372            1 => Some(ETradeOfferConfirmationMethod::Email),
16373            2 => Some(ETradeOfferConfirmationMethod::MobileApp),
16374            _ => None,
16375        }
16376        .ok_or(UnknownEnumValue::new("ETradeOfferConfirmationMethod", value as i128))
16377    }
16378}
16379
16380impl From<ETradeOfferConfirmationMethod> for i32 {
16381    fn from(value: ETradeOfferConfirmationMethod) -> i32 {
16382        value as i32
16383    }
16384}
16385
16386/// The `ELobbyType` enumeration.
16387///
16388/// Source: `lang/steammsg.steamd`.
16389#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16390#[repr(i32)]
16391pub enum ELobbyType {
16392    Private = 0,
16393    FriendsOnly = 1,
16394    Public = 2,
16395    Invisible = 3,
16396    PrivateUnique = 4,
16397}
16398
16399#[allow(deprecated)]
16400impl ELobbyType {
16401    /// Every variant of `ELobbyType`.
16402    pub const ALL: &'static [ELobbyType] = &[
16403        ELobbyType::Private,
16404        ELobbyType::FriendsOnly,
16405        ELobbyType::Public,
16406        ELobbyType::Invisible,
16407        ELobbyType::PrivateUnique,
16408    ];
16409
16410    /// The numeric value of this variant.
16411    pub const fn value(self) -> i32 {
16412        self as i32
16413    }
16414
16415    /// Builds a variant from its numeric value.
16416    ///
16417    /// When several variants share a value, the first declared one is returned.
16418    pub fn from_value(value: i32) -> Option<Self> {
16419        match value {
16420            0 => Some(ELobbyType::Private),
16421            1 => Some(ELobbyType::FriendsOnly),
16422            2 => Some(ELobbyType::Public),
16423            3 => Some(ELobbyType::Invisible),
16424            4 => Some(ELobbyType::PrivateUnique),
16425            _ => None,
16426        }
16427    }
16428}
16429
16430impl TryFrom<i32> for ELobbyType {
16431    type Error = UnknownEnumValue;
16432
16433    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16434        Self::from_value(value).ok_or(UnknownEnumValue::new("ELobbyType", value as i128))
16435    }
16436}
16437
16438#[allow(deprecated)]
16439impl TryFrom<u32> for ELobbyType {
16440    type Error = UnknownEnumValue;
16441
16442    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16443        match value {
16444            0 => Some(ELobbyType::Private),
16445            1 => Some(ELobbyType::FriendsOnly),
16446            2 => Some(ELobbyType::Public),
16447            3 => Some(ELobbyType::Invisible),
16448            4 => Some(ELobbyType::PrivateUnique),
16449            _ => None,
16450        }
16451        .ok_or(UnknownEnumValue::new("ELobbyType", value as i128))
16452    }
16453}
16454
16455impl From<ELobbyType> for i32 {
16456    fn from(value: ELobbyType) -> i32 {
16457        value as i32
16458    }
16459}
16460
16461/// The `ELobbyFilterType` enumeration.
16462///
16463/// Source: `lang/steammsg.steamd`.
16464#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16465#[repr(i32)]
16466pub enum ELobbyFilterType {
16467    String = 0,
16468    Numerical = 1,
16469    SlotsAvailable = 2,
16470    NearValue = 3,
16471    Distance = 4,
16472}
16473
16474#[allow(deprecated)]
16475impl ELobbyFilterType {
16476    /// Every variant of `ELobbyFilterType`.
16477    pub const ALL: &'static [ELobbyFilterType] = &[
16478        ELobbyFilterType::String,
16479        ELobbyFilterType::Numerical,
16480        ELobbyFilterType::SlotsAvailable,
16481        ELobbyFilterType::NearValue,
16482        ELobbyFilterType::Distance,
16483    ];
16484
16485    /// The numeric value of this variant.
16486    pub const fn value(self) -> i32 {
16487        self as i32
16488    }
16489
16490    /// Builds a variant from its numeric value.
16491    ///
16492    /// When several variants share a value, the first declared one is returned.
16493    pub fn from_value(value: i32) -> Option<Self> {
16494        match value {
16495            0 => Some(ELobbyFilterType::String),
16496            1 => Some(ELobbyFilterType::Numerical),
16497            2 => Some(ELobbyFilterType::SlotsAvailable),
16498            3 => Some(ELobbyFilterType::NearValue),
16499            4 => Some(ELobbyFilterType::Distance),
16500            _ => None,
16501        }
16502    }
16503}
16504
16505impl TryFrom<i32> for ELobbyFilterType {
16506    type Error = UnknownEnumValue;
16507
16508    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16509        Self::from_value(value).ok_or(UnknownEnumValue::new("ELobbyFilterType", value as i128))
16510    }
16511}
16512
16513#[allow(deprecated)]
16514impl TryFrom<u32> for ELobbyFilterType {
16515    type Error = UnknownEnumValue;
16516
16517    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16518        match value {
16519            0 => Some(ELobbyFilterType::String),
16520            1 => Some(ELobbyFilterType::Numerical),
16521            2 => Some(ELobbyFilterType::SlotsAvailable),
16522            3 => Some(ELobbyFilterType::NearValue),
16523            4 => Some(ELobbyFilterType::Distance),
16524            _ => None,
16525        }
16526        .ok_or(UnknownEnumValue::new("ELobbyFilterType", value as i128))
16527    }
16528}
16529
16530impl From<ELobbyFilterType> for i32 {
16531    fn from(value: ELobbyFilterType) -> i32 {
16532        value as i32
16533    }
16534}
16535
16536/// The `ELobbyComparison` enumeration.
16537///
16538/// Source: `lang/steammsg.steamd`.
16539#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16540#[repr(i32)]
16541pub enum ELobbyComparison {
16542    EqualToOrLessThan = -2,
16543    LessThan = -1,
16544    Equal = 0,
16545    GreaterThan = 1,
16546    EqualToOrGreaterThan = 2,
16547    NotEqual = 3,
16548}
16549
16550#[allow(deprecated)]
16551impl ELobbyComparison {
16552    /// Every variant of `ELobbyComparison`.
16553    pub const ALL: &'static [ELobbyComparison] = &[
16554        ELobbyComparison::EqualToOrLessThan,
16555        ELobbyComparison::LessThan,
16556        ELobbyComparison::Equal,
16557        ELobbyComparison::GreaterThan,
16558        ELobbyComparison::EqualToOrGreaterThan,
16559        ELobbyComparison::NotEqual,
16560    ];
16561
16562    /// The numeric value of this variant.
16563    pub const fn value(self) -> i32 {
16564        self as i32
16565    }
16566
16567    /// Builds a variant from its numeric value.
16568    ///
16569    /// When several variants share a value, the first declared one is returned.
16570    pub fn from_value(value: i32) -> Option<Self> {
16571        match value {
16572            -2 => Some(ELobbyComparison::EqualToOrLessThan),
16573            -1 => Some(ELobbyComparison::LessThan),
16574            0 => Some(ELobbyComparison::Equal),
16575            1 => Some(ELobbyComparison::GreaterThan),
16576            2 => Some(ELobbyComparison::EqualToOrGreaterThan),
16577            3 => Some(ELobbyComparison::NotEqual),
16578            _ => None,
16579        }
16580    }
16581}
16582
16583impl TryFrom<i32> for ELobbyComparison {
16584    type Error = UnknownEnumValue;
16585
16586    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16587        Self::from_value(value).ok_or(UnknownEnumValue::new("ELobbyComparison", value as i128))
16588    }
16589}
16590
16591impl From<ELobbyComparison> for i32 {
16592    fn from(value: ELobbyComparison) -> i32 {
16593        value as i32
16594    }
16595}
16596
16597/// The `ELobbyDistanceFilter` enumeration.
16598///
16599/// Source: `lang/steammsg.steamd`.
16600#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16601#[repr(i32)]
16602pub enum ELobbyDistanceFilter {
16603    Close = 0,
16604    Default = 1,
16605    Far = 2,
16606    Worldwide = 3,
16607}
16608
16609#[allow(deprecated)]
16610impl ELobbyDistanceFilter {
16611    /// Every variant of `ELobbyDistanceFilter`.
16612    pub const ALL: &'static [ELobbyDistanceFilter] = &[
16613        ELobbyDistanceFilter::Close,
16614        ELobbyDistanceFilter::Default,
16615        ELobbyDistanceFilter::Far,
16616        ELobbyDistanceFilter::Worldwide,
16617    ];
16618
16619    /// The numeric value of this variant.
16620    pub const fn value(self) -> i32 {
16621        self as i32
16622    }
16623
16624    /// Builds a variant from its numeric value.
16625    ///
16626    /// When several variants share a value, the first declared one is returned.
16627    pub fn from_value(value: i32) -> Option<Self> {
16628        match value {
16629            0 => Some(ELobbyDistanceFilter::Close),
16630            1 => Some(ELobbyDistanceFilter::Default),
16631            2 => Some(ELobbyDistanceFilter::Far),
16632            3 => Some(ELobbyDistanceFilter::Worldwide),
16633            _ => None,
16634        }
16635    }
16636}
16637
16638impl TryFrom<i32> for ELobbyDistanceFilter {
16639    type Error = UnknownEnumValue;
16640
16641    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16642        Self::from_value(value).ok_or(UnknownEnumValue::new("ELobbyDistanceFilter", value as i128))
16643    }
16644}
16645
16646#[allow(deprecated)]
16647impl TryFrom<u32> for ELobbyDistanceFilter {
16648    type Error = UnknownEnumValue;
16649
16650    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16651        match value {
16652            0 => Some(ELobbyDistanceFilter::Close),
16653            1 => Some(ELobbyDistanceFilter::Default),
16654            2 => Some(ELobbyDistanceFilter::Far),
16655            3 => Some(ELobbyDistanceFilter::Worldwide),
16656            _ => None,
16657        }
16658        .ok_or(UnknownEnumValue::new("ELobbyDistanceFilter", value as i128))
16659    }
16660}
16661
16662impl From<ELobbyDistanceFilter> for i32 {
16663    fn from(value: ELobbyDistanceFilter) -> i32 {
16664        value as i32
16665    }
16666}
16667
16668/// The `ESteamIPv6ConnectivityProtocol` enumeration.
16669///
16670/// Source: `lang/steammsg.steamd`.
16671#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16672#[repr(i32)]
16673pub enum ESteamIPv6ConnectivityProtocol {
16674    Invalid = 0,
16675    Http = 1,
16676    Udp = 2,
16677}
16678
16679#[allow(deprecated)]
16680impl ESteamIPv6ConnectivityProtocol {
16681    /// Every variant of `ESteamIPv6ConnectivityProtocol`.
16682    pub const ALL: &'static [ESteamIPv6ConnectivityProtocol] = &[
16683        ESteamIPv6ConnectivityProtocol::Invalid,
16684        ESteamIPv6ConnectivityProtocol::Http,
16685        ESteamIPv6ConnectivityProtocol::Udp,
16686    ];
16687
16688    /// The numeric value of this variant.
16689    pub const fn value(self) -> i32 {
16690        self as i32
16691    }
16692
16693    /// Builds a variant from its numeric value.
16694    ///
16695    /// When several variants share a value, the first declared one is returned.
16696    pub fn from_value(value: i32) -> Option<Self> {
16697        match value {
16698            0 => Some(ESteamIPv6ConnectivityProtocol::Invalid),
16699            1 => Some(ESteamIPv6ConnectivityProtocol::Http),
16700            2 => Some(ESteamIPv6ConnectivityProtocol::Udp),
16701            _ => None,
16702        }
16703    }
16704}
16705
16706impl TryFrom<i32> for ESteamIPv6ConnectivityProtocol {
16707    type Error = UnknownEnumValue;
16708
16709    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16710        Self::from_value(value).ok_or(UnknownEnumValue::new("ESteamIPv6ConnectivityProtocol", value as i128))
16711    }
16712}
16713
16714#[allow(deprecated)]
16715impl TryFrom<u32> for ESteamIPv6ConnectivityProtocol {
16716    type Error = UnknownEnumValue;
16717
16718    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16719        match value {
16720            0 => Some(ESteamIPv6ConnectivityProtocol::Invalid),
16721            1 => Some(ESteamIPv6ConnectivityProtocol::Http),
16722            2 => Some(ESteamIPv6ConnectivityProtocol::Udp),
16723            _ => None,
16724        }
16725        .ok_or(UnknownEnumValue::new("ESteamIPv6ConnectivityProtocol", value as i128))
16726    }
16727}
16728
16729impl From<ESteamIPv6ConnectivityProtocol> for i32 {
16730    fn from(value: ESteamIPv6ConnectivityProtocol) -> i32 {
16731        value as i32
16732    }
16733}
16734
16735/// The `ESteamIPv6ConnectivityState` enumeration.
16736///
16737/// Source: `lang/steammsg.steamd`.
16738#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16739#[repr(i32)]
16740pub enum ESteamIPv6ConnectivityState {
16741    Unknown = 0,
16742    Good = 1,
16743    Bad = 2,
16744}
16745
16746#[allow(deprecated)]
16747impl ESteamIPv6ConnectivityState {
16748    /// Every variant of `ESteamIPv6ConnectivityState`.
16749    pub const ALL: &'static [ESteamIPv6ConnectivityState] = &[
16750        ESteamIPv6ConnectivityState::Unknown,
16751        ESteamIPv6ConnectivityState::Good,
16752        ESteamIPv6ConnectivityState::Bad,
16753    ];
16754
16755    /// The numeric value of this variant.
16756    pub const fn value(self) -> i32 {
16757        self as i32
16758    }
16759
16760    /// Builds a variant from its numeric value.
16761    ///
16762    /// When several variants share a value, the first declared one is returned.
16763    pub fn from_value(value: i32) -> Option<Self> {
16764        match value {
16765            0 => Some(ESteamIPv6ConnectivityState::Unknown),
16766            1 => Some(ESteamIPv6ConnectivityState::Good),
16767            2 => Some(ESteamIPv6ConnectivityState::Bad),
16768            _ => None,
16769        }
16770    }
16771}
16772
16773impl TryFrom<i32> for ESteamIPv6ConnectivityState {
16774    type Error = UnknownEnumValue;
16775
16776    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16777        Self::from_value(value).ok_or(UnknownEnumValue::new("ESteamIPv6ConnectivityState", value as i128))
16778    }
16779}
16780
16781#[allow(deprecated)]
16782impl TryFrom<u32> for ESteamIPv6ConnectivityState {
16783    type Error = UnknownEnumValue;
16784
16785    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16786        match value {
16787            0 => Some(ESteamIPv6ConnectivityState::Unknown),
16788            1 => Some(ESteamIPv6ConnectivityState::Good),
16789            2 => Some(ESteamIPv6ConnectivityState::Bad),
16790            _ => None,
16791        }
16792        .ok_or(UnknownEnumValue::new("ESteamIPv6ConnectivityState", value as i128))
16793    }
16794}
16795
16796impl From<ESteamIPv6ConnectivityState> for i32 {
16797    fn from(value: ESteamIPv6ConnectivityState) -> i32 {
16798        value as i32
16799    }
16800}
16801
16802/// The `ESteamRealm` enumeration.
16803///
16804/// Source: `lang/steammsg.steamd`.
16805#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16806#[repr(i32)]
16807pub enum ESteamRealm {
16808    Unknown = 0,
16809    SteamGlobal = 1,
16810    SteamChina = 2,
16811}
16812
16813#[allow(deprecated)]
16814impl ESteamRealm {
16815    /// Every variant of `ESteamRealm`.
16816    pub const ALL: &'static [ESteamRealm] = &[
16817        ESteamRealm::Unknown,
16818        ESteamRealm::SteamGlobal,
16819        ESteamRealm::SteamChina,
16820    ];
16821
16822    /// The numeric value of this variant.
16823    pub const fn value(self) -> i32 {
16824        self as i32
16825    }
16826
16827    /// Builds a variant from its numeric value.
16828    ///
16829    /// When several variants share a value, the first declared one is returned.
16830    pub fn from_value(value: i32) -> Option<Self> {
16831        match value {
16832            0 => Some(ESteamRealm::Unknown),
16833            1 => Some(ESteamRealm::SteamGlobal),
16834            2 => Some(ESteamRealm::SteamChina),
16835            _ => None,
16836        }
16837    }
16838}
16839
16840impl TryFrom<i32> for ESteamRealm {
16841    type Error = UnknownEnumValue;
16842
16843    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16844        Self::from_value(value).ok_or(UnknownEnumValue::new("ESteamRealm", value as i128))
16845    }
16846}
16847
16848#[allow(deprecated)]
16849impl TryFrom<u32> for ESteamRealm {
16850    type Error = UnknownEnumValue;
16851
16852    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16853        match value {
16854            0 => Some(ESteamRealm::Unknown),
16855            1 => Some(ESteamRealm::SteamGlobal),
16856            2 => Some(ESteamRealm::SteamChina),
16857            _ => None,
16858        }
16859        .ok_or(UnknownEnumValue::new("ESteamRealm", value as i128))
16860    }
16861}
16862
16863impl From<ESteamRealm> for i32 {
16864    fn from(value: ESteamRealm) -> i32 {
16865        value as i32
16866    }
16867}
16868
16869/// The `ELauncherType` enumeration.
16870///
16871/// Source: `lang/steammsg.steamd`.
16872#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16873#[repr(i32)]
16874pub enum ELauncherType {
16875    Default = 0,
16876    PerfectWorld = 1,
16877    Nexon = 2,
16878    CmdLine = 3,
16879    CSGO = 4,
16880    ClientUI = 5,
16881    Headless = 6,
16882    SteamChina = 7,
16883    SingleApp = 8,
16884    GameServer = 9,
16885}
16886
16887#[allow(deprecated)]
16888impl ELauncherType {
16889    /// Every variant of `ELauncherType`.
16890    pub const ALL: &'static [ELauncherType] = &[
16891        ELauncherType::Default,
16892        ELauncherType::PerfectWorld,
16893        ELauncherType::Nexon,
16894        ELauncherType::CmdLine,
16895        ELauncherType::CSGO,
16896        ELauncherType::ClientUI,
16897        ELauncherType::Headless,
16898        ELauncherType::SteamChina,
16899        ELauncherType::SingleApp,
16900        ELauncherType::GameServer,
16901    ];
16902
16903    /// The numeric value of this variant.
16904    pub const fn value(self) -> i32 {
16905        self as i32
16906    }
16907
16908    /// Builds a variant from its numeric value.
16909    ///
16910    /// When several variants share a value, the first declared one is returned.
16911    pub fn from_value(value: i32) -> Option<Self> {
16912        match value {
16913            0 => Some(ELauncherType::Default),
16914            1 => Some(ELauncherType::PerfectWorld),
16915            2 => Some(ELauncherType::Nexon),
16916            3 => Some(ELauncherType::CmdLine),
16917            4 => Some(ELauncherType::CSGO),
16918            5 => Some(ELauncherType::ClientUI),
16919            6 => Some(ELauncherType::Headless),
16920            7 => Some(ELauncherType::SteamChina),
16921            8 => Some(ELauncherType::SingleApp),
16922            9 => Some(ELauncherType::GameServer),
16923            _ => None,
16924        }
16925    }
16926}
16927
16928impl TryFrom<i32> for ELauncherType {
16929    type Error = UnknownEnumValue;
16930
16931    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
16932        Self::from_value(value).ok_or(UnknownEnumValue::new("ELauncherType", value as i128))
16933    }
16934}
16935
16936#[allow(deprecated)]
16937impl TryFrom<u32> for ELauncherType {
16938    type Error = UnknownEnumValue;
16939
16940    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
16941        match value {
16942            0 => Some(ELauncherType::Default),
16943            1 => Some(ELauncherType::PerfectWorld),
16944            2 => Some(ELauncherType::Nexon),
16945            3 => Some(ELauncherType::CmdLine),
16946            4 => Some(ELauncherType::CSGO),
16947            5 => Some(ELauncherType::ClientUI),
16948            6 => Some(ELauncherType::Headless),
16949            7 => Some(ELauncherType::SteamChina),
16950            8 => Some(ELauncherType::SingleApp),
16951            9 => Some(ELauncherType::GameServer),
16952            _ => None,
16953        }
16954        .ok_or(UnknownEnumValue::new("ELauncherType", value as i128))
16955    }
16956}
16957
16958impl From<ELauncherType> for i32 {
16959    fn from(value: ELauncherType) -> i32 {
16960        value as i32
16961    }
16962}
16963
16964/// The `EUIMode` enumeration.
16965///
16966/// Source: `lang/steammsg.steamd`.
16967#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16968#[repr(i32)]
16969pub enum EUIMode {
16970    Unknown = -1,
16971    VGUI = 0,
16972    Tenfoot = 1,
16973    Mobile = 2,
16974    Web = 3,
16975    GamePadUI = 4,
16976    MobileChat = 5,
16977    EmbeddedClient = 6,
16978    DesktopUI = 7,
16979}
16980
16981#[allow(deprecated)]
16982impl EUIMode {
16983    /// Every variant of `EUIMode`.
16984    pub const ALL: &'static [EUIMode] = &[
16985        EUIMode::Unknown,
16986        EUIMode::VGUI,
16987        EUIMode::Tenfoot,
16988        EUIMode::Mobile,
16989        EUIMode::Web,
16990        EUIMode::GamePadUI,
16991        EUIMode::MobileChat,
16992        EUIMode::EmbeddedClient,
16993        EUIMode::DesktopUI,
16994    ];
16995
16996    /// The numeric value of this variant.
16997    pub const fn value(self) -> i32 {
16998        self as i32
16999    }
17000
17001    /// Builds a variant from its numeric value.
17002    ///
17003    /// When several variants share a value, the first declared one is returned.
17004    pub fn from_value(value: i32) -> Option<Self> {
17005        match value {
17006            -1 => Some(EUIMode::Unknown),
17007            0 => Some(EUIMode::VGUI),
17008            1 => Some(EUIMode::Tenfoot),
17009            2 => Some(EUIMode::Mobile),
17010            3 => Some(EUIMode::Web),
17011            4 => Some(EUIMode::GamePadUI),
17012            5 => Some(EUIMode::MobileChat),
17013            6 => Some(EUIMode::EmbeddedClient),
17014            7 => Some(EUIMode::DesktopUI),
17015            _ => None,
17016        }
17017    }
17018}
17019
17020impl TryFrom<i32> for EUIMode {
17021    type Error = UnknownEnumValue;
17022
17023    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
17024        Self::from_value(value).ok_or(UnknownEnumValue::new("EUIMode", value as i128))
17025    }
17026}
17027
17028impl From<EUIMode> for i32 {
17029    fn from(value: EUIMode) -> i32 {
17030        value as i32
17031    }
17032}
17033
17034/// The `EGamingDeviceType` enumeration.
17035///
17036/// Source: `lang/steammsg.steamd`.
17037#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17038#[repr(i32)]
17039pub enum EGamingDeviceType {
17040    Unknown = 0,
17041    StandardPC = 1,
17042    ConsoleLegacy = 256,
17043    PS3 = 273,
17044    Steambox = 288,
17045    Tesla = 320,
17046    Handheld_Legacy = 512,
17047    Phone = 528,
17048    Console = 540,
17049    SteamOSGeneric = 541,
17050    SteamDeck = 544,
17051    LegionGoS = 545,
17052    Fremont = 546,
17053    VR = 768,
17054    SteamFrame = 769,
17055}
17056
17057#[allow(deprecated)]
17058impl EGamingDeviceType {
17059    /// Every variant of `EGamingDeviceType`.
17060    pub const ALL: &'static [EGamingDeviceType] = &[
17061        EGamingDeviceType::Unknown,
17062        EGamingDeviceType::StandardPC,
17063        EGamingDeviceType::ConsoleLegacy,
17064        EGamingDeviceType::PS3,
17065        EGamingDeviceType::Steambox,
17066        EGamingDeviceType::Tesla,
17067        EGamingDeviceType::Handheld_Legacy,
17068        EGamingDeviceType::Phone,
17069        EGamingDeviceType::Console,
17070        EGamingDeviceType::SteamOSGeneric,
17071        EGamingDeviceType::SteamDeck,
17072        EGamingDeviceType::LegionGoS,
17073        EGamingDeviceType::Fremont,
17074        EGamingDeviceType::VR,
17075        EGamingDeviceType::SteamFrame,
17076    ];
17077
17078    /// The numeric value of this variant.
17079    pub const fn value(self) -> i32 {
17080        self as i32
17081    }
17082
17083    /// Builds a variant from its numeric value.
17084    ///
17085    /// When several variants share a value, the first declared one is returned.
17086    pub fn from_value(value: i32) -> Option<Self> {
17087        match value {
17088            0 => Some(EGamingDeviceType::Unknown),
17089            1 => Some(EGamingDeviceType::StandardPC),
17090            256 => Some(EGamingDeviceType::ConsoleLegacy),
17091            273 => Some(EGamingDeviceType::PS3),
17092            288 => Some(EGamingDeviceType::Steambox),
17093            320 => Some(EGamingDeviceType::Tesla),
17094            512 => Some(EGamingDeviceType::Handheld_Legacy),
17095            528 => Some(EGamingDeviceType::Phone),
17096            540 => Some(EGamingDeviceType::Console),
17097            541 => Some(EGamingDeviceType::SteamOSGeneric),
17098            544 => Some(EGamingDeviceType::SteamDeck),
17099            545 => Some(EGamingDeviceType::LegionGoS),
17100            546 => Some(EGamingDeviceType::Fremont),
17101            768 => Some(EGamingDeviceType::VR),
17102            769 => Some(EGamingDeviceType::SteamFrame),
17103            _ => None,
17104        }
17105    }
17106}
17107
17108impl TryFrom<i32> for EGamingDeviceType {
17109    type Error = UnknownEnumValue;
17110
17111    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
17112        Self::from_value(value).ok_or(UnknownEnumValue::new("EGamingDeviceType", value as i128))
17113    }
17114}
17115
17116#[allow(deprecated)]
17117impl TryFrom<u32> for EGamingDeviceType {
17118    type Error = UnknownEnumValue;
17119
17120    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
17121        match value {
17122            0 => Some(EGamingDeviceType::Unknown),
17123            1 => Some(EGamingDeviceType::StandardPC),
17124            256 => Some(EGamingDeviceType::ConsoleLegacy),
17125            273 => Some(EGamingDeviceType::PS3),
17126            288 => Some(EGamingDeviceType::Steambox),
17127            320 => Some(EGamingDeviceType::Tesla),
17128            512 => Some(EGamingDeviceType::Handheld_Legacy),
17129            528 => Some(EGamingDeviceType::Phone),
17130            540 => Some(EGamingDeviceType::Console),
17131            541 => Some(EGamingDeviceType::SteamOSGeneric),
17132            544 => Some(EGamingDeviceType::SteamDeck),
17133            545 => Some(EGamingDeviceType::LegionGoS),
17134            546 => Some(EGamingDeviceType::Fremont),
17135            768 => Some(EGamingDeviceType::VR),
17136            769 => Some(EGamingDeviceType::SteamFrame),
17137            _ => None,
17138        }
17139        .ok_or(UnknownEnumValue::new("EGamingDeviceType", value as i128))
17140    }
17141}
17142
17143impl From<EGamingDeviceType> for i32 {
17144    fn from(value: EGamingDeviceType) -> i32 {
17145        value as i32
17146    }
17147}
17148
17149/// The `EMobileConfirmationAction` enumeration.
17150///
17151/// Source: `lang/steammsg.steamd`.
17152#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17153#[repr(i32)]
17154pub enum EMobileConfirmationAction {
17155    None = 0,
17156    Allow = 1,
17157    Cancel = 2,
17158}
17159
17160#[allow(deprecated)]
17161impl EMobileConfirmationAction {
17162    /// Every variant of `EMobileConfirmationAction`.
17163    pub const ALL: &'static [EMobileConfirmationAction] = &[
17164        EMobileConfirmationAction::None,
17165        EMobileConfirmationAction::Allow,
17166        EMobileConfirmationAction::Cancel,
17167    ];
17168
17169    /// The numeric value of this variant.
17170    pub const fn value(self) -> i32 {
17171        self as i32
17172    }
17173
17174    /// Builds a variant from its numeric value.
17175    ///
17176    /// When several variants share a value, the first declared one is returned.
17177    pub fn from_value(value: i32) -> Option<Self> {
17178        match value {
17179            0 => Some(EMobileConfirmationAction::None),
17180            1 => Some(EMobileConfirmationAction::Allow),
17181            2 => Some(EMobileConfirmationAction::Cancel),
17182            _ => None,
17183        }
17184    }
17185}
17186
17187impl TryFrom<i32> for EMobileConfirmationAction {
17188    type Error = UnknownEnumValue;
17189
17190    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
17191        Self::from_value(value).ok_or(UnknownEnumValue::new("EMobileConfirmationAction", value as i128))
17192    }
17193}
17194
17195#[allow(deprecated)]
17196impl TryFrom<u32> for EMobileConfirmationAction {
17197    type Error = UnknownEnumValue;
17198
17199    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
17200        match value {
17201            0 => Some(EMobileConfirmationAction::None),
17202            1 => Some(EMobileConfirmationAction::Allow),
17203            2 => Some(EMobileConfirmationAction::Cancel),
17204            _ => None,
17205        }
17206        .ok_or(UnknownEnumValue::new("EMobileConfirmationAction", value as i128))
17207    }
17208}
17209
17210impl From<EMobileConfirmationAction> for i32 {
17211    fn from(value: EMobileConfirmationAction) -> i32 {
17212        value as i32
17213    }
17214}
17215
17216/// The `EMobileConfirmationType` enumeration.
17217///
17218/// Source: `lang/steammsg.steamd`.
17219#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17220#[repr(i32)]
17221pub enum EMobileConfirmationType {
17222    Invalid = 0,
17223    Test = 1,
17224    Trade = 2,
17225    MarketListing = 3,
17226    FeatureOptOut = 4,
17227    PhoneNumberChange = 5,
17228    AccountRecovery = 6,
17229    BuildChangeRequest = 7,
17230    AddUser = 8,
17231    RegisterApiKey = 9,
17232    InviteToFamilyGroup = 10,
17233    JoinFamilyGroup = 11,
17234    MarketPurchase = 12,
17235    RequestRefund = 13,
17236}
17237
17238#[allow(deprecated)]
17239impl EMobileConfirmationType {
17240    /// Every variant of `EMobileConfirmationType`.
17241    pub const ALL: &'static [EMobileConfirmationType] = &[
17242        EMobileConfirmationType::Invalid,
17243        EMobileConfirmationType::Test,
17244        EMobileConfirmationType::Trade,
17245        EMobileConfirmationType::MarketListing,
17246        EMobileConfirmationType::FeatureOptOut,
17247        EMobileConfirmationType::PhoneNumberChange,
17248        EMobileConfirmationType::AccountRecovery,
17249        EMobileConfirmationType::BuildChangeRequest,
17250        EMobileConfirmationType::AddUser,
17251        EMobileConfirmationType::RegisterApiKey,
17252        EMobileConfirmationType::InviteToFamilyGroup,
17253        EMobileConfirmationType::JoinFamilyGroup,
17254        EMobileConfirmationType::MarketPurchase,
17255        EMobileConfirmationType::RequestRefund,
17256    ];
17257
17258    /// The numeric value of this variant.
17259    pub const fn value(self) -> i32 {
17260        self as i32
17261    }
17262
17263    /// Builds a variant from its numeric value.
17264    ///
17265    /// When several variants share a value, the first declared one is returned.
17266    pub fn from_value(value: i32) -> Option<Self> {
17267        match value {
17268            0 => Some(EMobileConfirmationType::Invalid),
17269            1 => Some(EMobileConfirmationType::Test),
17270            2 => Some(EMobileConfirmationType::Trade),
17271            3 => Some(EMobileConfirmationType::MarketListing),
17272            4 => Some(EMobileConfirmationType::FeatureOptOut),
17273            5 => Some(EMobileConfirmationType::PhoneNumberChange),
17274            6 => Some(EMobileConfirmationType::AccountRecovery),
17275            7 => Some(EMobileConfirmationType::BuildChangeRequest),
17276            8 => Some(EMobileConfirmationType::AddUser),
17277            9 => Some(EMobileConfirmationType::RegisterApiKey),
17278            10 => Some(EMobileConfirmationType::InviteToFamilyGroup),
17279            11 => Some(EMobileConfirmationType::JoinFamilyGroup),
17280            12 => Some(EMobileConfirmationType::MarketPurchase),
17281            13 => Some(EMobileConfirmationType::RequestRefund),
17282            _ => None,
17283        }
17284    }
17285}
17286
17287impl TryFrom<i32> for EMobileConfirmationType {
17288    type Error = UnknownEnumValue;
17289
17290    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
17291        Self::from_value(value).ok_or(UnknownEnumValue::new("EMobileConfirmationType", value as i128))
17292    }
17293}
17294
17295#[allow(deprecated)]
17296impl TryFrom<u32> for EMobileConfirmationType {
17297    type Error = UnknownEnumValue;
17298
17299    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
17300        match value {
17301            0 => Some(EMobileConfirmationType::Invalid),
17302            1 => Some(EMobileConfirmationType::Test),
17303            2 => Some(EMobileConfirmationType::Trade),
17304            3 => Some(EMobileConfirmationType::MarketListing),
17305            4 => Some(EMobileConfirmationType::FeatureOptOut),
17306            5 => Some(EMobileConfirmationType::PhoneNumberChange),
17307            6 => Some(EMobileConfirmationType::AccountRecovery),
17308            7 => Some(EMobileConfirmationType::BuildChangeRequest),
17309            8 => Some(EMobileConfirmationType::AddUser),
17310            9 => Some(EMobileConfirmationType::RegisterApiKey),
17311            10 => Some(EMobileConfirmationType::InviteToFamilyGroup),
17312            11 => Some(EMobileConfirmationType::JoinFamilyGroup),
17313            12 => Some(EMobileConfirmationType::MarketPurchase),
17314            13 => Some(EMobileConfirmationType::RequestRefund),
17315            _ => None,
17316        }
17317        .ok_or(UnknownEnumValue::new("EMobileConfirmationType", value as i128))
17318    }
17319}
17320
17321impl From<EMobileConfirmationType> for i32 {
17322    fn from(value: EMobileConfirmationType) -> i32 {
17323        value as i32
17324    }
17325}
17326
17327/// The `ECommentPermission` enumeration.
17328///
17329/// Source: `lang/steammsg.steamd`.
17330#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17331#[repr(i32)]
17332pub enum ECommentPermission {
17333    Invalid = -1,
17334    FriendsOnly = 0,
17335    Anyone = 1,
17336    SelfOnly = 2,
17337}
17338
17339#[allow(deprecated)]
17340impl ECommentPermission {
17341    /// Every variant of `ECommentPermission`.
17342    pub const ALL: &'static [ECommentPermission] = &[
17343        ECommentPermission::Invalid,
17344        ECommentPermission::FriendsOnly,
17345        ECommentPermission::Anyone,
17346        ECommentPermission::SelfOnly,
17347    ];
17348
17349    /// The numeric value of this variant.
17350    pub const fn value(self) -> i32 {
17351        self as i32
17352    }
17353
17354    /// Builds a variant from its numeric value.
17355    ///
17356    /// When several variants share a value, the first declared one is returned.
17357    pub fn from_value(value: i32) -> Option<Self> {
17358        match value {
17359            -1 => Some(ECommentPermission::Invalid),
17360            0 => Some(ECommentPermission::FriendsOnly),
17361            1 => Some(ECommentPermission::Anyone),
17362            2 => Some(ECommentPermission::SelfOnly),
17363            _ => None,
17364        }
17365    }
17366}
17367
17368impl TryFrom<i32> for ECommentPermission {
17369    type Error = UnknownEnumValue;
17370
17371    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
17372        Self::from_value(value).ok_or(UnknownEnumValue::new("ECommentPermission", value as i128))
17373    }
17374}
17375
17376impl From<ECommentPermission> for i32 {
17377    fn from(value: ECommentPermission) -> i32 {
17378        value as i32
17379    }
17380}
17381
17382/// The `ECommunityPrivacy` enumeration.
17383///
17384/// Source: `lang/steammsg.steamd`.
17385#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17386#[repr(i32)]
17387pub enum ECommunityPrivacy {
17388    Invalid = 0,
17389    Private = 1,
17390    FriendsOnly = 2,
17391    Public = 3,
17392}
17393
17394#[allow(deprecated)]
17395impl ECommunityPrivacy {
17396    /// Every variant of `ECommunityPrivacy`.
17397    pub const ALL: &'static [ECommunityPrivacy] = &[
17398        ECommunityPrivacy::Invalid,
17399        ECommunityPrivacy::Private,
17400        ECommunityPrivacy::FriendsOnly,
17401        ECommunityPrivacy::Public,
17402    ];
17403
17404    /// The numeric value of this variant.
17405    pub const fn value(self) -> i32 {
17406        self as i32
17407    }
17408
17409    /// Builds a variant from its numeric value.
17410    ///
17411    /// When several variants share a value, the first declared one is returned.
17412    pub fn from_value(value: i32) -> Option<Self> {
17413        match value {
17414            0 => Some(ECommunityPrivacy::Invalid),
17415            1 => Some(ECommunityPrivacy::Private),
17416            2 => Some(ECommunityPrivacy::FriendsOnly),
17417            3 => Some(ECommunityPrivacy::Public),
17418            _ => None,
17419        }
17420    }
17421}
17422
17423impl TryFrom<i32> for ECommunityPrivacy {
17424    type Error = UnknownEnumValue;
17425
17426    fn try_from(value: i32) -> Result<Self, UnknownEnumValue> {
17427        Self::from_value(value).ok_or(UnknownEnumValue::new("ECommunityPrivacy", value as i128))
17428    }
17429}
17430
17431#[allow(deprecated)]
17432impl TryFrom<u32> for ECommunityPrivacy {
17433    type Error = UnknownEnumValue;
17434
17435    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
17436        match value {
17437            0 => Some(ECommunityPrivacy::Invalid),
17438            1 => Some(ECommunityPrivacy::Private),
17439            2 => Some(ECommunityPrivacy::FriendsOnly),
17440            3 => Some(ECommunityPrivacy::Public),
17441            _ => None,
17442        }
17443        .ok_or(UnknownEnumValue::new("ECommunityPrivacy", value as i128))
17444    }
17445}
17446
17447impl From<ECommunityPrivacy> for i32 {
17448    fn from(value: ECommunityPrivacy) -> i32 {
17449        value as i32
17450    }
17451}
17452
17453/// The `EUdpPacketType` enumeration.
17454///
17455/// Source: `lang/steammsg.steamd`.
17456#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17457#[repr(u8)]
17458pub enum EUdpPacketType {
17459    Invalid = 0,
17460    ChallengeReq = 1,
17461    Challenge = 2,
17462    Connect = 3,
17463    Accept = 4,
17464    Disconnect = 5,
17465    Data = 6,
17466    Datagram = 7,
17467    Max = 8,
17468}
17469
17470#[allow(deprecated)]
17471impl EUdpPacketType {
17472    /// Every variant of `EUdpPacketType`.
17473    pub const ALL: &'static [EUdpPacketType] = &[
17474        EUdpPacketType::Invalid,
17475        EUdpPacketType::ChallengeReq,
17476        EUdpPacketType::Challenge,
17477        EUdpPacketType::Connect,
17478        EUdpPacketType::Accept,
17479        EUdpPacketType::Disconnect,
17480        EUdpPacketType::Data,
17481        EUdpPacketType::Datagram,
17482        EUdpPacketType::Max,
17483    ];
17484
17485    /// The numeric value of this variant.
17486    pub const fn value(self) -> u8 {
17487        self as u8
17488    }
17489
17490    /// Builds a variant from its numeric value.
17491    ///
17492    /// When several variants share a value, the first declared one is returned.
17493    pub fn from_value(value: u8) -> Option<Self> {
17494        match value {
17495            0 => Some(EUdpPacketType::Invalid),
17496            1 => Some(EUdpPacketType::ChallengeReq),
17497            2 => Some(EUdpPacketType::Challenge),
17498            3 => Some(EUdpPacketType::Connect),
17499            4 => Some(EUdpPacketType::Accept),
17500            5 => Some(EUdpPacketType::Disconnect),
17501            6 => Some(EUdpPacketType::Data),
17502            7 => Some(EUdpPacketType::Datagram),
17503            8 => Some(EUdpPacketType::Max),
17504            _ => None,
17505        }
17506    }
17507}
17508
17509impl TryFrom<u8> for EUdpPacketType {
17510    type Error = UnknownEnumValue;
17511
17512    fn try_from(value: u8) -> Result<Self, UnknownEnumValue> {
17513        Self::from_value(value).ok_or(UnknownEnumValue::new("EUdpPacketType", value as i128))
17514    }
17515}
17516
17517#[allow(deprecated)]
17518impl TryFrom<u32> for EUdpPacketType {
17519    type Error = UnknownEnumValue;
17520
17521    fn try_from(value: u32) -> Result<Self, UnknownEnumValue> {
17522        match value {
17523            0 => Some(EUdpPacketType::Invalid),
17524            1 => Some(EUdpPacketType::ChallengeReq),
17525            2 => Some(EUdpPacketType::Challenge),
17526            3 => Some(EUdpPacketType::Connect),
17527            4 => Some(EUdpPacketType::Accept),
17528            5 => Some(EUdpPacketType::Disconnect),
17529            6 => Some(EUdpPacketType::Data),
17530            7 => Some(EUdpPacketType::Datagram),
17531            8 => Some(EUdpPacketType::Max),
17532            _ => None,
17533        }
17534        .ok_or(UnknownEnumValue::new("EUdpPacketType", value as i128))
17535    }
17536}
17537
17538impl From<EUdpPacketType> for u8 {
17539    fn from(value: EUdpPacketType) -> u8 {
17540        value as u8
17541    }
17542}
17543
17544
17545/// The message and header structures declared in the Valve definition files.
17546///
17547/// They live in a nested module so the enums above stay at the root of
17548/// `steam_language`.
17549pub mod internal {
17550    #![allow(non_camel_case_types)]
17551
17552    use super::{
17553        EAppUsageEvent,
17554        EChatAction,
17555        EChatActionResult,
17556        EChatEntryType,
17557        EChatInfoType,
17558        EChatPermission,
17559        EChatRoomEnterResponse,
17560        EChatRoomType,
17561        EClanRank,
17562        EClanRelationship,
17563        EDenyReason,
17564        EIntroducerRouting,
17565        EMsg,
17566        EResult,
17567        EServerType,
17568        EUdpPacketType,
17569        EUniverse,
17570    };
17571
17572    /// The `UdpHeader` structure.
17573    ///
17574    /// Source: `lang/steammsg.steamd`.
17575    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17576    pub struct UdpHeader {
17577        pub magic: u32,
17578        pub payload_size: u16,
17579        pub packet_type: EUdpPacketType,
17580        pub flags: u8,
17581        pub source_conn_id: u32,
17582        pub dest_conn_id: u32,
17583        pub seq_this: u32,
17584        pub seq_ack: u32,
17585        pub packets_in_msg: u32,
17586        pub msg_start_seq: u32,
17587        pub msg_size: u32,
17588    }
17589
17590    impl UdpHeader {
17591        /// The `MAGIC` constant of `UdpHeader`.
17592        pub const MAGIC: u32 = 825250646;
17593    }
17594
17595    impl Default for UdpHeader {
17596        fn default() -> Self {
17597            Self {
17598                magic: 825250646,
17599                payload_size: 0,
17600                packet_type: EUdpPacketType::Invalid,
17601                flags: 0,
17602                source_conn_id: 512,
17603                dest_conn_id: 0,
17604                seq_this: 0,
17605                seq_ack: 0,
17606                packets_in_msg: 0,
17607                msg_start_seq: 0,
17608                msg_size: 0,
17609            }
17610        }
17611    }
17612
17613    /// The `ChallengeData` structure.
17614    ///
17615    /// Source: `lang/steammsg.steamd`.
17616    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17617    pub struct ChallengeData {
17618        pub challenge_value: u32,
17619        pub server_load: u32,
17620    }
17621
17622    impl ChallengeData {
17623        /// The `CHALLENGE_MASK` constant of `ChallengeData`.
17624        pub const CHALLENGE__MASK: u32 = 2754010923;
17625    }
17626
17627    impl Default for ChallengeData {
17628        fn default() -> Self {
17629            Self {
17630                challenge_value: 0,
17631                server_load: 0,
17632            }
17633        }
17634    }
17635
17636    /// The `ConnectData` structure.
17637    ///
17638    /// Source: `lang/steammsg.steamd`.
17639    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17640    pub struct ConnectData {
17641        pub challenge_value: u32,
17642    }
17643
17644    impl ConnectData {
17645        /// The `CHALLENGE_MASK` constant of `ConnectData`.
17646        pub const CHALLENGE__MASK: u32 = 2754010923;
17647    }
17648
17649    impl Default for ConnectData {
17650        fn default() -> Self {
17651            Self {
17652                challenge_value: 0,
17653            }
17654        }
17655    }
17656
17657    /// The `Accept` structure.
17658    ///
17659    /// Source: `lang/steammsg.steamd`.
17660    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17661    pub struct Accept {
17662    }
17663
17664    impl Default for Accept {
17665        fn default() -> Self {
17666            Self {
17667            }
17668        }
17669    }
17670
17671    /// The `Datagram` structure.
17672    ///
17673    /// Source: `lang/steammsg.steamd`.
17674    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17675    pub struct Datagram {
17676    }
17677
17678    impl Default for Datagram {
17679        fn default() -> Self {
17680            Self {
17681            }
17682        }
17683    }
17684
17685    /// The `Disconnect` structure.
17686    ///
17687    /// Source: `lang/steammsg.steamd`.
17688    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17689    pub struct Disconnect {
17690    }
17691
17692    impl Default for Disconnect {
17693        fn default() -> Self {
17694            Self {
17695            }
17696        }
17697    }
17698
17699    /// The `MsgHdr` structure.
17700    ///
17701    /// Source: `lang/steammsg.steamd`.
17702    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17703    pub struct MsgHdr {
17704        pub msg: EMsg,
17705        pub target_job_id: u64,
17706        pub source_job_id: u64,
17707    }
17708
17709    impl Default for MsgHdr {
17710        fn default() -> Self {
17711            Self {
17712                msg: EMsg::Invalid,
17713                target_job_id: u64::MAX,
17714                source_job_id: u64::MAX,
17715            }
17716        }
17717    }
17718
17719    /// The `ExtendedClientMsgHdr` structure.
17720    ///
17721    /// Source: `lang/steammsg.steamd`.
17722    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17723    pub struct ExtendedClientMsgHdr {
17724        pub msg: EMsg,
17725        pub header_size: u8,
17726        pub header_version: u16,
17727        pub target_job_id: u64,
17728        pub source_job_id: u64,
17729        pub header_canary: u8,
17730        pub steam_id: u64,
17731        pub session_id: i32,
17732    }
17733
17734    impl Default for ExtendedClientMsgHdr {
17735        fn default() -> Self {
17736            Self {
17737                msg: EMsg::Invalid,
17738                header_size: 36,
17739                header_version: 2,
17740                target_job_id: u64::MAX,
17741                source_job_id: u64::MAX,
17742                header_canary: 239,
17743                steam_id: 0,
17744                session_id: 0,
17745            }
17746        }
17747    }
17748
17749    /// The `MsgHdrProtoBuf` structure.
17750    ///
17751    /// Source: `lang/steammsg.steamd`.
17752    #[derive(Clone, Debug, PartialEq, Eq)]
17753    pub struct MsgHdrProtoBuf {
17754        pub msg: EMsg,
17755        pub header_length: i32,
17756        pub proto: Vec<u8>,
17757    }
17758
17759    impl Default for MsgHdrProtoBuf {
17760        fn default() -> Self {
17761            Self {
17762                msg: EMsg::Invalid,
17763                header_length: 0,
17764                proto: Vec::new(),
17765            }
17766        }
17767    }
17768
17769    /// The `MsgGCHdrProtoBuf` structure.
17770    ///
17771    /// Source: `lang/steammsg.steamd`.
17772    #[derive(Clone, Debug, PartialEq, Eq)]
17773    pub struct MsgGCHdrProtoBuf {
17774        pub msg: u32,
17775        pub header_length: i32,
17776        pub proto: Vec<u8>,
17777    }
17778
17779    impl Default for MsgGCHdrProtoBuf {
17780        fn default() -> Self {
17781            Self {
17782                msg: 0,
17783                header_length: 0,
17784                proto: Vec::new(),
17785            }
17786        }
17787    }
17788
17789    /// The `MsgGCHdr` structure.
17790    ///
17791    /// Source: `lang/steammsg.steamd`.
17792    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17793    pub struct MsgGCHdr {
17794        pub header_version: u16,
17795        pub target_job_id: u64,
17796        pub source_job_id: u64,
17797    }
17798
17799    impl Default for MsgGCHdr {
17800        fn default() -> Self {
17801            Self {
17802                header_version: 1,
17803                target_job_id: u64::MAX,
17804                source_job_id: u64::MAX,
17805            }
17806        }
17807    }
17808
17809    /// The `MsgClientJustStrings` structure.
17810    ///
17811    /// Carries the `EMsg::Invalid` message id.
17812    ///
17813    /// Source: `lang/steammsg.steamd`.
17814    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17815    pub struct MsgClientJustStrings {
17816    }
17817
17818    impl Default for MsgClientJustStrings {
17819        fn default() -> Self {
17820            Self {
17821            }
17822        }
17823    }
17824
17825    /// The `MsgClientGenericResponse` structure.
17826    ///
17827    /// Carries the `EMsg::Invalid` message id.
17828    ///
17829    /// Source: `lang/steammsg.steamd`.
17830    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17831    pub struct MsgClientGenericResponse {
17832        pub result: EResult,
17833    }
17834
17835    impl Default for MsgClientGenericResponse {
17836        fn default() -> Self {
17837            Self {
17838                result: EResult::Invalid,
17839            }
17840        }
17841    }
17842
17843    /// The `MsgChannelEncryptRequest` structure.
17844    ///
17845    /// Carries the `EMsg::ChannelEncryptRequest` message id.
17846    ///
17847    /// Source: `lang/steammsg.steamd`.
17848    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17849    pub struct MsgChannelEncryptRequest {
17850        pub protocol_version: u32,
17851        pub universe: EUniverse,
17852    }
17853
17854    impl MsgChannelEncryptRequest {
17855        /// The `PROTOCOL_VERSION` constant of `MsgChannelEncryptRequest`.
17856        pub const PROTOCOL__VERSION: u32 = 1;
17857    }
17858
17859    impl Default for MsgChannelEncryptRequest {
17860        fn default() -> Self {
17861            Self {
17862                protocol_version: 1,
17863                universe: EUniverse::Invalid,
17864            }
17865        }
17866    }
17867
17868    /// The `MsgChannelEncryptResponse` structure.
17869    ///
17870    /// Carries the `EMsg::ChannelEncryptResponse` message id.
17871    ///
17872    /// Source: `lang/steammsg.steamd`.
17873    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17874    pub struct MsgChannelEncryptResponse {
17875        pub protocol_version: u32,
17876        pub key_size: u32,
17877    }
17878
17879    impl Default for MsgChannelEncryptResponse {
17880        fn default() -> Self {
17881            Self {
17882                protocol_version: 1,
17883                key_size: 128,
17884            }
17885        }
17886    }
17887
17888    /// The `MsgChannelEncryptResult` structure.
17889    ///
17890    /// Carries the `EMsg::ChannelEncryptResult` message id.
17891    ///
17892    /// Source: `lang/steammsg.steamd`.
17893    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17894    pub struct MsgChannelEncryptResult {
17895        pub result: EResult,
17896    }
17897
17898    impl Default for MsgChannelEncryptResult {
17899        fn default() -> Self {
17900            Self {
17901                result: EResult::Invalid,
17902            }
17903        }
17904    }
17905
17906    /// The `MsgClientLogon` structure.
17907    ///
17908    /// Carries the `EMsg::ClientLogon` message id.
17909    ///
17910    /// Source: `lang/steammsg.steamd`.
17911    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17912    pub struct MsgClientLogon {
17913    }
17914
17915    impl MsgClientLogon {
17916        /// The `ObfuscationMask` constant of `MsgClientLogon`.
17917        pub const OBFUSCATION_MASK: u32 = 3131961357;
17918        /// The `CurrentProtocol` constant of `MsgClientLogon`.
17919        pub const CURRENT_PROTOCOL: u32 = 65581;
17920        /// The `ProtocolVerMajorMask` constant of `MsgClientLogon`.
17921        pub const PROTOCOL_VER_MAJOR_MASK: u32 = 4294901760;
17922        /// The `ProtocolVerMinorMask` constant of `MsgClientLogon`.
17923        pub const PROTOCOL_VER_MINOR_MASK: u32 = 65535;
17924        /// The `ProtocolVerMinorMinGameServers` constant of `MsgClientLogon`.
17925        pub const PROTOCOL_VER_MINOR_MIN_GAME_SERVERS: u16 = 4;
17926        /// The `ProtocolVerMinorMinForSupportingEMsgMulti` constant of `MsgClientLogon`.
17927        pub const PROTOCOL_VER_MINOR_MIN_FOR_SUPPORTING_EMSG_MULTI: u16 = 12;
17928        /// The `ProtocolVerMinorMinForSupportingEMsgClientEncryptPct` constant of `MsgClientLogon`.
17929        pub const PROTOCOL_VER_MINOR_MIN_FOR_SUPPORTING_EMSG_CLIENT_ENCRYPT_PCT: u16 = 14;
17930        /// The `ProtocolVerMinorMinForExtendedMsgHdr` constant of `MsgClientLogon`.
17931        pub const PROTOCOL_VER_MINOR_MIN_FOR_EXTENDED_MSG_HDR: u16 = 17;
17932        /// The `ProtocolVerMinorMinForCellId` constant of `MsgClientLogon`.
17933        pub const PROTOCOL_VER_MINOR_MIN_FOR_CELL_ID: u16 = 18;
17934        /// The `ProtocolVerMinorMinForSessionIDLast` constant of `MsgClientLogon`.
17935        pub const PROTOCOL_VER_MINOR_MIN_FOR_SESSION_IDLAST: u16 = 19;
17936        /// The `ProtocolVerMinorMinForServerAvailablityMsgs` constant of `MsgClientLogon`.
17937        pub const PROTOCOL_VER_MINOR_MIN_FOR_SERVER_AVAILABLITY_MSGS: u16 = 24;
17938        /// The `ProtocolVerMinorMinClients` constant of `MsgClientLogon`.
17939        pub const PROTOCOL_VER_MINOR_MIN_CLIENTS: u16 = 25;
17940        /// The `ProtocolVerMinorMinForOSType` constant of `MsgClientLogon`.
17941        pub const PROTOCOL_VER_MINOR_MIN_FOR_OSTYPE: u16 = 26;
17942        /// The `ProtocolVerMinorMinForCegApplyPESig` constant of `MsgClientLogon`.
17943        pub const PROTOCOL_VER_MINOR_MIN_FOR_CEG_APPLY_PESIG: u16 = 27;
17944        /// The `ProtocolVerMinorMinForMarketingMessages2` constant of `MsgClientLogon`.
17945        pub const PROTOCOL_VER_MINOR_MIN_FOR_MARKETING_MESSAGES2: u16 = 27;
17946        /// The `ProtocolVerMinorMinForAnyProtoBufMessages` constant of `MsgClientLogon`.
17947        pub const PROTOCOL_VER_MINOR_MIN_FOR_ANY_PROTO_BUF_MESSAGES: u16 = 28;
17948        /// The `ProtocolVerMinorMinForProtoBufLoggedOffMessage` constant of `MsgClientLogon`.
17949        pub const PROTOCOL_VER_MINOR_MIN_FOR_PROTO_BUF_LOGGED_OFF_MESSAGE: u16 = 28;
17950        /// The `ProtocolVerMinorMinForProtoBufMultiMessages` constant of `MsgClientLogon`.
17951        pub const PROTOCOL_VER_MINOR_MIN_FOR_PROTO_BUF_MULTI_MESSAGES: u16 = 28;
17952        /// The `ProtocolVerMinorMinForSendingProtocolToUFS` constant of `MsgClientLogon`.
17953        pub const PROTOCOL_VER_MINOR_MIN_FOR_SENDING_PROTOCOL_TO_UFS: u16 = 30;
17954        /// The `ProtocolVerMinorMinForMachineAuth` constant of `MsgClientLogon`.
17955        pub const PROTOCOL_VER_MINOR_MIN_FOR_MACHINE_AUTH: u16 = 33;
17956        /// The `ProtocolVerMinorMinForSessionIDLastAnon` constant of `MsgClientLogon`.
17957        pub const PROTOCOL_VER_MINOR_MIN_FOR_SESSION_IDLAST_ANON: u16 = 36;
17958        /// The `ProtocolVerMinorMinForEnhancedAppList` constant of `MsgClientLogon`.
17959        pub const PROTOCOL_VER_MINOR_MIN_FOR_ENHANCED_APP_LIST: u16 = 40;
17960        /// The `ProtocolVerMinorMinForSteamGuardNotificationUI` constant of `MsgClientLogon`.
17961        pub const PROTOCOL_VER_MINOR_MIN_FOR_STEAM_GUARD_NOTIFICATION_UI: u16 = 41;
17962        /// The `ProtocolVerMinorMinForProtoBufServiceModuleCalls` constant of `MsgClientLogon`.
17963        pub const PROTOCOL_VER_MINOR_MIN_FOR_PROTO_BUF_SERVICE_MODULE_CALLS: u16 = 42;
17964        /// The `ProtocolVerMinorMinForGzipMultiMessages` constant of `MsgClientLogon`.
17965        pub const PROTOCOL_VER_MINOR_MIN_FOR_GZIP_MULTI_MESSAGES: u16 = 43;
17966        /// The `ProtocolVerMinorMinForNewVoiceCallAuthorize` constant of `MsgClientLogon`.
17967        pub const PROTOCOL_VER_MINOR_MIN_FOR_NEW_VOICE_CALL_AUTHORIZE: u16 = 44;
17968        /// The `ProtocolVerMinorMinForClientInstanceIDs` constant of `MsgClientLogon`.
17969        pub const PROTOCOL_VER_MINOR_MIN_FOR_CLIENT_INSTANCE_IDS: u16 = 44;
17970    }
17971
17972    impl Default for MsgClientLogon {
17973        fn default() -> Self {
17974            Self {
17975            }
17976        }
17977    }
17978
17979    /// The `MsgClientVACBanStatus` structure.
17980    ///
17981    /// Carries the `EMsg::ClientVACBanStatus` message id.
17982    ///
17983    /// Source: `lang/steammsg.steamd`.
17984    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
17985    pub struct MsgClientVACBanStatus {
17986        pub num_bans: u32,
17987    }
17988
17989    impl Default for MsgClientVACBanStatus {
17990        fn default() -> Self {
17991            Self {
17992                num_bans: 0,
17993            }
17994        }
17995    }
17996
17997    /// The `MsgClientAppUsageEvent` structure.
17998    ///
17999    /// Carries the `EMsg::ClientAppUsageEvent` message id.
18000    ///
18001    /// Source: `lang/steammsg.steamd`.
18002    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18003    pub struct MsgClientAppUsageEvent {
18004        pub app_usage_event: EAppUsageEvent,
18005        pub game_id: u64,
18006        pub offline: u16,
18007    }
18008
18009    impl Default for MsgClientAppUsageEvent {
18010        fn default() -> Self {
18011            Self {
18012                app_usage_event: EAppUsageEvent::GameLaunch,
18013                game_id: 0,
18014                offline: 0,
18015            }
18016        }
18017    }
18018
18019    /// The `MsgClientUpdateGuestPassesList` structure.
18020    ///
18021    /// Carries the `EMsg::ClientUpdateGuestPassesList` message id.
18022    ///
18023    /// Source: `lang/steammsg.steamd`.
18024    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18025    pub struct MsgClientUpdateGuestPassesList {
18026        pub result: EResult,
18027        pub count_guest_passes_to_give: i32,
18028        pub count_guest_passes_to_redeem: i32,
18029    }
18030
18031    impl Default for MsgClientUpdateGuestPassesList {
18032        fn default() -> Self {
18033            Self {
18034                result: EResult::Invalid,
18035                count_guest_passes_to_give: 0,
18036                count_guest_passes_to_redeem: 0,
18037            }
18038        }
18039    }
18040
18041    /// The `MsgClientP2PIntroducerMessage` structure.
18042    ///
18043    /// Carries the `EMsg::ClientP2PIntroducerMessage` message id.
18044    ///
18045    /// Source: `lang/steammsg.steamd`.
18046    #[derive(Clone, Debug, PartialEq, Eq)]
18047    pub struct MsgClientP2PIntroducerMessage {
18048        pub steam_id: u64,
18049        pub routing_type: EIntroducerRouting,
18050        pub data: Vec<u8>,
18051        pub data_len: u32,
18052    }
18053
18054    impl Default for MsgClientP2PIntroducerMessage {
18055        fn default() -> Self {
18056            Self {
18057                steam_id: 0,
18058                routing_type: EIntroducerRouting::P2PVoiceChat,
18059                data: Vec::new(),
18060                data_len: 0,
18061            }
18062        }
18063    }
18064
18065    /// The `MsgClientOGSBeginSession` structure.
18066    ///
18067    /// Carries the `EMsg::ClientOGSBeginSession` message id.
18068    ///
18069    /// Source: `lang/steammsg.steamd`.
18070    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18071    pub struct MsgClientOGSBeginSession {
18072        pub account_type: u8,
18073        pub account_id: u64,
18074        pub app_id: u32,
18075        pub time_started: u32,
18076    }
18077
18078    impl Default for MsgClientOGSBeginSession {
18079        fn default() -> Self {
18080            Self {
18081                account_type: 0,
18082                account_id: 0,
18083                app_id: 0,
18084                time_started: 0,
18085            }
18086        }
18087    }
18088
18089    /// The `MsgClientOGSBeginSessionResponse` structure.
18090    ///
18091    /// Carries the `EMsg::ClientOGSBeginSessionResponse` message id.
18092    ///
18093    /// Source: `lang/steammsg.steamd`.
18094    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18095    pub struct MsgClientOGSBeginSessionResponse {
18096        pub result: EResult,
18097        pub collecting_any: bool,
18098        pub collecting_details: bool,
18099        pub session_id: u64,
18100    }
18101
18102    impl Default for MsgClientOGSBeginSessionResponse {
18103        fn default() -> Self {
18104            Self {
18105                result: EResult::Invalid,
18106                collecting_any: false,
18107                collecting_details: false,
18108                session_id: 0,
18109            }
18110        }
18111    }
18112
18113    /// The `MsgClientOGSEndSession` structure.
18114    ///
18115    /// Carries the `EMsg::ClientOGSEndSession` message id.
18116    ///
18117    /// Source: `lang/steammsg.steamd`.
18118    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18119    pub struct MsgClientOGSEndSession {
18120        pub session_id: u64,
18121        pub time_ended: u32,
18122        pub reason_code: i32,
18123        pub count_attributes: i32,
18124    }
18125
18126    impl Default for MsgClientOGSEndSession {
18127        fn default() -> Self {
18128            Self {
18129                session_id: 0,
18130                time_ended: 0,
18131                reason_code: 0,
18132                count_attributes: 0,
18133            }
18134        }
18135    }
18136
18137    /// The `MsgClientOGSEndSessionResponse` structure.
18138    ///
18139    /// Carries the `EMsg::ClientOGSEndSessionResponse` message id.
18140    ///
18141    /// Source: `lang/steammsg.steamd`.
18142    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18143    pub struct MsgClientOGSEndSessionResponse {
18144        pub result: EResult,
18145    }
18146
18147    impl Default for MsgClientOGSEndSessionResponse {
18148        fn default() -> Self {
18149            Self {
18150                result: EResult::Invalid,
18151            }
18152        }
18153    }
18154
18155    /// The `MsgClientOGSWriteRow` structure.
18156    ///
18157    /// Carries the `EMsg::ClientOGSWriteRow` message id.
18158    ///
18159    /// Source: `lang/steammsg.steamd`.
18160    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18161    pub struct MsgClientOGSWriteRow {
18162        pub session_id: u64,
18163        pub count_attributes: i32,
18164    }
18165
18166    impl Default for MsgClientOGSWriteRow {
18167        fn default() -> Self {
18168            Self {
18169                session_id: 0,
18170                count_attributes: 0,
18171            }
18172        }
18173    }
18174
18175    /// The `MsgClientGetFriendsWhoPlayGame` structure.
18176    ///
18177    /// Carries the `EMsg::ClientGetFriendsWhoPlayGame` message id.
18178    ///
18179    /// Source: `lang/steammsg.steamd`.
18180    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18181    pub struct MsgClientGetFriendsWhoPlayGame {
18182        pub game_id: u64,
18183    }
18184
18185    impl Default for MsgClientGetFriendsWhoPlayGame {
18186        fn default() -> Self {
18187            Self {
18188                game_id: 0,
18189            }
18190        }
18191    }
18192
18193    /// The `MsgClientGetFriendsWhoPlayGameResponse` structure.
18194    ///
18195    /// Carries the `EMsg::ClientGetFriendsWhoPlayGameResponse` message id.
18196    ///
18197    /// Source: `lang/steammsg.steamd`.
18198    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18199    pub struct MsgClientGetFriendsWhoPlayGameResponse {
18200        pub result: EResult,
18201        pub game_id: u64,
18202        pub count_friends: u32,
18203    }
18204
18205    impl Default for MsgClientGetFriendsWhoPlayGameResponse {
18206        fn default() -> Self {
18207            Self {
18208                result: EResult::Invalid,
18209                game_id: 0,
18210                count_friends: 0,
18211            }
18212        }
18213    }
18214
18215    /// The `MsgGSPerformHardwareSurvey` structure.
18216    ///
18217    /// Carries the `EMsg::GSPerformHardwareSurvey` message id.
18218    ///
18219    /// Source: `lang/steammsg.steamd`.
18220    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18221    pub struct MsgGSPerformHardwareSurvey {
18222        pub flags: u32,
18223    }
18224
18225    impl Default for MsgGSPerformHardwareSurvey {
18226        fn default() -> Self {
18227            Self {
18228                flags: 0,
18229            }
18230        }
18231    }
18232
18233    /// The `MsgGSGetPlayStatsResponse` structure.
18234    ///
18235    /// Carries the `EMsg::GSGetPlayStatsResponse` message id.
18236    ///
18237    /// Source: `lang/steammsg.steamd`.
18238    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18239    pub struct MsgGSGetPlayStatsResponse {
18240        pub result: EResult,
18241        pub rank: i32,
18242        pub lifetime_connects: u32,
18243        pub lifetime_minutes_played: u32,
18244    }
18245
18246    impl Default for MsgGSGetPlayStatsResponse {
18247        fn default() -> Self {
18248            Self {
18249                result: EResult::Invalid,
18250                rank: 0,
18251                lifetime_connects: 0,
18252                lifetime_minutes_played: 0,
18253            }
18254        }
18255    }
18256
18257    /// The `MsgGSGetReputationResponse` structure.
18258    ///
18259    /// Carries the `EMsg::GSGetReputationResponse` message id.
18260    ///
18261    /// Source: `lang/steammsg.steamd`.
18262    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18263    pub struct MsgGSGetReputationResponse {
18264        pub result: EResult,
18265        pub reputation_score: u32,
18266        pub banned: bool,
18267        pub banned_ip: u32,
18268        pub banned_port: u16,
18269        pub banned_game_id: u64,
18270        pub time_ban_expires: u32,
18271    }
18272
18273    impl Default for MsgGSGetReputationResponse {
18274        fn default() -> Self {
18275            Self {
18276                result: EResult::Invalid,
18277                reputation_score: 0,
18278                banned: false,
18279                banned_ip: 0,
18280                banned_port: 0,
18281                banned_game_id: 0,
18282                time_ban_expires: 0,
18283            }
18284        }
18285    }
18286
18287    /// The `MsgGSDeny` structure.
18288    ///
18289    /// Carries the `EMsg::GSDeny` message id.
18290    ///
18291    /// Source: `lang/steammsg.steamd`.
18292    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18293    pub struct MsgGSDeny {
18294        pub steam_id: u64,
18295        pub deny_reason: EDenyReason,
18296    }
18297
18298    impl Default for MsgGSDeny {
18299        fn default() -> Self {
18300            Self {
18301                steam_id: 0,
18302                deny_reason: EDenyReason::InvalidVersion,
18303            }
18304        }
18305    }
18306
18307    /// The `MsgGSApprove` structure.
18308    ///
18309    /// Carries the `EMsg::GSApprove` message id.
18310    ///
18311    /// Source: `lang/steammsg.steamd`.
18312    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18313    pub struct MsgGSApprove {
18314        pub steam_id: u64,
18315    }
18316
18317    impl Default for MsgGSApprove {
18318        fn default() -> Self {
18319            Self {
18320                steam_id: 0,
18321            }
18322        }
18323    }
18324
18325    /// The `MsgGSKick` structure.
18326    ///
18327    /// Carries the `EMsg::GSKick` message id.
18328    ///
18329    /// Source: `lang/steammsg.steamd`.
18330    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18331    pub struct MsgGSKick {
18332        pub steam_id: u64,
18333        pub deny_reason: EDenyReason,
18334        pub wait_til_map_change: i32,
18335    }
18336
18337    impl Default for MsgGSKick {
18338        fn default() -> Self {
18339            Self {
18340                steam_id: 0,
18341                deny_reason: EDenyReason::InvalidVersion,
18342                wait_til_map_change: 0,
18343            }
18344        }
18345    }
18346
18347    /// The `MsgGSGetUserGroupStatus` structure.
18348    ///
18349    /// Carries the `EMsg::GSGetUserGroupStatus` message id.
18350    ///
18351    /// Source: `lang/steammsg.steamd`.
18352    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18353    pub struct MsgGSGetUserGroupStatus {
18354        pub steam_id_user: u64,
18355        pub steam_id_group: u64,
18356    }
18357
18358    impl Default for MsgGSGetUserGroupStatus {
18359        fn default() -> Self {
18360            Self {
18361                steam_id_user: 0,
18362                steam_id_group: 0,
18363            }
18364        }
18365    }
18366
18367    /// The `MsgGSGetUserGroupStatusResponse` structure.
18368    ///
18369    /// Carries the `EMsg::GSGetUserGroupStatusResponse` message id.
18370    ///
18371    /// Source: `lang/steammsg.steamd`.
18372    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18373    pub struct MsgGSGetUserGroupStatusResponse {
18374        pub steam_id_user: u64,
18375        pub steam_id_group: u64,
18376        pub clan_relationship: EClanRelationship,
18377        pub clan_rank: EClanRank,
18378    }
18379
18380    impl Default for MsgGSGetUserGroupStatusResponse {
18381        fn default() -> Self {
18382            Self {
18383                steam_id_user: 0,
18384                steam_id_group: 0,
18385                clan_relationship: EClanRelationship::None,
18386                clan_rank: EClanRank::None,
18387            }
18388        }
18389    }
18390
18391    /// The `MsgClientJoinChat` structure.
18392    ///
18393    /// Carries the `EMsg::ClientJoinChat` message id.
18394    ///
18395    /// Source: `lang/steammsg.steamd`.
18396    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18397    pub struct MsgClientJoinChat {
18398        pub steam_id_chat: u64,
18399        pub is_voice_speaker: bool,
18400    }
18401
18402    impl Default for MsgClientJoinChat {
18403        fn default() -> Self {
18404            Self {
18405                steam_id_chat: 0,
18406                is_voice_speaker: false,
18407            }
18408        }
18409    }
18410
18411    /// The `MsgClientChatEnter` structure.
18412    ///
18413    /// Carries the `EMsg::ClientChatEnter` message id.
18414    ///
18415    /// Source: `lang/steammsg.steamd`.
18416    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18417    pub struct MsgClientChatEnter {
18418        pub steam_id_chat: u64,
18419        pub steam_id_friend: u64,
18420        pub chat_room_type: EChatRoomType,
18421        pub steam_id_owner: u64,
18422        pub steam_id_clan: u64,
18423        pub chat_flags: u8,
18424        pub enter_response: EChatRoomEnterResponse,
18425        pub num_members: i32,
18426    }
18427
18428    impl Default for MsgClientChatEnter {
18429        fn default() -> Self {
18430            Self {
18431                steam_id_chat: 0,
18432                steam_id_friend: 0,
18433                chat_room_type: EChatRoomType::Friend,
18434                steam_id_owner: 0,
18435                steam_id_clan: 0,
18436                chat_flags: 0,
18437                enter_response: EChatRoomEnterResponse::Success,
18438                num_members: 0,
18439            }
18440        }
18441    }
18442
18443    /// The `MsgClientChatMsg` structure.
18444    ///
18445    /// Carries the `EMsg::ClientChatMsg` message id.
18446    ///
18447    /// Source: `lang/steammsg.steamd`.
18448    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18449    pub struct MsgClientChatMsg {
18450        pub steam_id_chatter: u64,
18451        pub steam_id_chat_room: u64,
18452        pub chat_msg_type: EChatEntryType,
18453    }
18454
18455    impl Default for MsgClientChatMsg {
18456        fn default() -> Self {
18457            Self {
18458                steam_id_chatter: 0,
18459                steam_id_chat_room: 0,
18460                chat_msg_type: EChatEntryType::Invalid,
18461            }
18462        }
18463    }
18464
18465    /// The `MsgClientChatMemberInfo` structure.
18466    ///
18467    /// Carries the `EMsg::ClientChatMemberInfo` message id.
18468    ///
18469    /// Source: `lang/steammsg.steamd`.
18470    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18471    pub struct MsgClientChatMemberInfo {
18472        pub steam_id_chat: u64,
18473        pub r#type: EChatInfoType,
18474    }
18475
18476    impl Default for MsgClientChatMemberInfo {
18477        fn default() -> Self {
18478            Self {
18479                steam_id_chat: 0,
18480                r#type: EChatInfoType::StateChange,
18481            }
18482        }
18483    }
18484
18485    /// The `MsgClientChatAction` structure.
18486    ///
18487    /// Carries the `EMsg::ClientChatAction` message id.
18488    ///
18489    /// Source: `lang/steammsg.steamd`.
18490    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18491    pub struct MsgClientChatAction {
18492        pub steam_id_chat: u64,
18493        pub steam_id_user_to_act_on: u64,
18494        pub chat_action: EChatAction,
18495    }
18496
18497    impl Default for MsgClientChatAction {
18498        fn default() -> Self {
18499            Self {
18500                steam_id_chat: 0,
18501                steam_id_user_to_act_on: 0,
18502                chat_action: EChatAction::InviteChat,
18503            }
18504        }
18505    }
18506
18507    /// The `MsgClientChatActionResult` structure.
18508    ///
18509    /// Carries the `EMsg::ClientChatActionResult` message id.
18510    ///
18511    /// Source: `lang/steammsg.steamd`.
18512    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18513    pub struct MsgClientChatActionResult {
18514        pub steam_id_chat: u64,
18515        pub steam_id_user_acted_on: u64,
18516        pub chat_action: EChatAction,
18517        pub action_result: EChatActionResult,
18518    }
18519
18520    impl Default for MsgClientChatActionResult {
18521        fn default() -> Self {
18522            Self {
18523                steam_id_chat: 0,
18524                steam_id_user_acted_on: 0,
18525                chat_action: EChatAction::InviteChat,
18526                action_result: EChatActionResult::Success,
18527            }
18528        }
18529    }
18530
18531    /// The `MsgClientChatRoomInfo` structure.
18532    ///
18533    /// Carries the `EMsg::ClientChatRoomInfo` message id.
18534    ///
18535    /// Source: `lang/steammsg.steamd`.
18536    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18537    pub struct MsgClientChatRoomInfo {
18538        pub steam_id_chat: u64,
18539        pub r#type: EChatInfoType,
18540    }
18541
18542    impl Default for MsgClientChatRoomInfo {
18543        fn default() -> Self {
18544            Self {
18545                steam_id_chat: 0,
18546                r#type: EChatInfoType::StateChange,
18547            }
18548        }
18549    }
18550
18551    /// The `MsgClientSetIgnoreFriend` structure.
18552    ///
18553    /// Carries the `EMsg::ClientSetIgnoreFriend` message id.
18554    ///
18555    /// Source: `lang/steammsg.steamd`.
18556    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18557    pub struct MsgClientSetIgnoreFriend {
18558        pub my_steam_id: u64,
18559        pub steam_id_friend: u64,
18560        pub ignore: u8,
18561    }
18562
18563    impl Default for MsgClientSetIgnoreFriend {
18564        fn default() -> Self {
18565            Self {
18566                my_steam_id: 0,
18567                steam_id_friend: 0,
18568                ignore: 0,
18569            }
18570        }
18571    }
18572
18573    /// The `MsgClientSetIgnoreFriendResponse` structure.
18574    ///
18575    /// Carries the `EMsg::ClientSetIgnoreFriendResponse` message id.
18576    ///
18577    /// Source: `lang/steammsg.steamd`.
18578    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18579    pub struct MsgClientSetIgnoreFriendResponse {
18580        pub friend_id: u64,
18581        pub result: EResult,
18582    }
18583
18584    impl Default for MsgClientSetIgnoreFriendResponse {
18585        fn default() -> Self {
18586            Self {
18587                friend_id: 0,
18588                result: EResult::Invalid,
18589            }
18590        }
18591    }
18592
18593    /// The `MsgClientLoggedOff` structure.
18594    ///
18595    /// Carries the `EMsg::ClientLoggedOff` message id.
18596    ///
18597    /// Source: `lang/steammsg.steamd`.
18598    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18599    pub struct MsgClientLoggedOff {
18600        pub result: EResult,
18601        pub sec_min_reconnect_hint: i32,
18602        pub sec_max_reconnect_hint: i32,
18603    }
18604
18605    impl Default for MsgClientLoggedOff {
18606        fn default() -> Self {
18607            Self {
18608                result: EResult::Invalid,
18609                sec_min_reconnect_hint: 0,
18610                sec_max_reconnect_hint: 0,
18611            }
18612        }
18613    }
18614
18615    /// The `MsgClientLogOnResponse` structure.
18616    ///
18617    /// Carries the `EMsg::ClientLogOnResponse` message id.
18618    ///
18619    /// Source: `lang/steammsg.steamd`.
18620    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18621    pub struct MsgClientLogOnResponse {
18622        pub result: EResult,
18623        pub out_of_game_heartbeat_rate_sec: i32,
18624        pub in_game_heartbeat_rate_sec: i32,
18625        pub client_supplied_steam_id: u64,
18626        pub ip_public: u32,
18627        pub server_real_time: u32,
18628    }
18629
18630    impl Default for MsgClientLogOnResponse {
18631        fn default() -> Self {
18632            Self {
18633                result: EResult::Invalid,
18634                out_of_game_heartbeat_rate_sec: 0,
18635                in_game_heartbeat_rate_sec: 0,
18636                client_supplied_steam_id: 0,
18637                ip_public: 0,
18638                server_real_time: 0,
18639            }
18640        }
18641    }
18642
18643    /// The `MsgClientServerUnavailable` structure.
18644    ///
18645    /// Carries the `EMsg::ClientServerUnavailable` message id.
18646    ///
18647    /// Source: `lang/steammsg.steamd`.
18648    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18649    pub struct MsgClientServerUnavailable {
18650        pub jobid_sent: u64,
18651        pub e_msg_sent: u32,
18652        pub e_server_type_unavailable: EServerType,
18653    }
18654
18655    impl Default for MsgClientServerUnavailable {
18656        fn default() -> Self {
18657            Self {
18658                jobid_sent: 0,
18659                e_msg_sent: 0,
18660                e_server_type_unavailable: EServerType::First,
18661            }
18662        }
18663    }
18664
18665    /// The `MsgClientCreateChat` structure.
18666    ///
18667    /// Carries the `EMsg::ClientCreateChat` message id.
18668    ///
18669    /// Source: `lang/steammsg.steamd`.
18670    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18671    pub struct MsgClientCreateChat {
18672        pub chat_room_type: EChatRoomType,
18673        pub game_id: u64,
18674        pub steam_id_clan: u64,
18675        pub permission_officer: EChatPermission,
18676        pub permission_member: EChatPermission,
18677        pub permission_all: EChatPermission,
18678        pub members_max: u32,
18679        pub chat_flags: u8,
18680        pub steam_id_friend_chat: u64,
18681        pub steam_id_invited: u64,
18682    }
18683
18684    impl Default for MsgClientCreateChat {
18685        fn default() -> Self {
18686            Self {
18687                chat_room_type: EChatRoomType::Friend,
18688                game_id: 0,
18689                steam_id_clan: 0,
18690                permission_officer: EChatPermission::Close,
18691                permission_member: EChatPermission::Close,
18692                permission_all: EChatPermission::Close,
18693                members_max: 0,
18694                chat_flags: 0,
18695                steam_id_friend_chat: 0,
18696                steam_id_invited: 0,
18697            }
18698        }
18699    }
18700
18701    /// The `MsgClientCreateChatResponse` structure.
18702    ///
18703    /// Carries the `EMsg::ClientCreateChatResponse` message id.
18704    ///
18705    /// Source: `lang/steammsg.steamd`.
18706    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18707    pub struct MsgClientCreateChatResponse {
18708        pub result: EResult,
18709        pub steam_id_chat: u64,
18710        pub chat_room_type: EChatRoomType,
18711        pub steam_id_friend_chat: u64,
18712    }
18713
18714    impl Default for MsgClientCreateChatResponse {
18715        fn default() -> Self {
18716            Self {
18717                result: EResult::Invalid,
18718                steam_id_chat: 0,
18719                chat_room_type: EChatRoomType::Friend,
18720                steam_id_friend_chat: 0,
18721            }
18722        }
18723    }
18724
18725    /// The `MsgClientMarketingMessageUpdate2` structure.
18726    ///
18727    /// Carries the `EMsg::ClientMarketingMessageUpdate2` message id.
18728    ///
18729    /// Source: `lang/steammsg.steamd`.
18730    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18731    pub struct MsgClientMarketingMessageUpdate2 {
18732        pub marketing_message_update_time: u32,
18733        pub count: u32,
18734    }
18735
18736    impl Default for MsgClientMarketingMessageUpdate2 {
18737        fn default() -> Self {
18738            Self {
18739                marketing_message_update_time: 0,
18740                count: 0,
18741            }
18742        }
18743    }
18744
18745    /// The `MsgClientGetLegacyGameKey` structure.
18746    ///
18747    /// Carries the `EMsg::ClientGetLegacyGameKey` message id.
18748    ///
18749    /// Source: `lang/steammsg.steamd`.
18750    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18751    pub struct MsgClientGetLegacyGameKey {
18752        pub app_id: u32,
18753    }
18754
18755    impl Default for MsgClientGetLegacyGameKey {
18756        fn default() -> Self {
18757            Self {
18758                app_id: 0,
18759            }
18760        }
18761    }
18762
18763    /// The `MsgClientGetLegacyGameKeyResponse` structure.
18764    ///
18765    /// Carries the `EMsg::ClientGetLegacyGameKeyResponse` message id.
18766    ///
18767    /// Source: `lang/steammsg.steamd`.
18768    #[derive(Clone, Copy, Debug, PartialEq, Eq)]
18769    pub struct MsgClientGetLegacyGameKeyResponse {
18770        pub app_id: u32,
18771        pub result: EResult,
18772        pub length: u32,
18773    }
18774
18775    impl Default for MsgClientGetLegacyGameKeyResponse {
18776        fn default() -> Self {
18777            Self {
18778                app_id: 0,
18779                result: EResult::Invalid,
18780                length: 0,
18781            }
18782        }
18783    }
18784
18785}