{
    "package": null,
    "options": {
        "optimize_for": "SPEED",
        "cc_generic_services": false
    },
    "messages": [
        {
            "name": "CMsgProtoBufHeader",
            "options": {
                "(msgpool_soft_limit)": 256,
                "(msgpool_hard_limit)": 1024
            },
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "client_steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "client_session_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_app_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "job_id_source",
                    "id": 10,
                    "options": {
                        "default": 18446744073709552000
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "job_id_target",
                    "id": 11,
                    "options": {
                        "default": 18446744073709552000
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "target_job_name",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 13,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "error_message",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "GCProtoBufMsgSrc",
                    "name": "gc_msg_src",
                    "id": 200,
                    "options": {
                        "default": "GCProtoBufMsgSrc_Unspecified"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gc_dir_index_source",
                    "id": 201
                }
            ]
        },
        {
            "name": "CMsgWebAPIKey",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "status",
                    "id": 1,
                    "options": {
                        "default": 255
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 2,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "publisher_group_id",
                    "id": 3,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "key_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "domain",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgHttpRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "request_method",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "hostname",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "RequestHeader",
                    "name": "headers",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "QueryParam",
                    "name": "get_params",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "QueryParam",
                    "name": "post_params",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "body",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "absolute_timeout",
                    "id": 8
                }
            ],
            "messages": [
                {
                    "name": "RequestHeader",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "value",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "QueryParam",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgWebAPIRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "UNUSED_job_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "interface_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "method_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgWebAPIKey",
                    "name": "api_key",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgHttpRequest",
                    "name": "request",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "routing_app_id",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgHttpResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "status_code",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "ResponseHeader",
                    "name": "headers",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "body",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "ResponseHeader",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgAMFindAccounts",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "search_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_string",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAMFindAccountsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgNotifyWatchdog",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "alert_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "alert_destination",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "critical",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgAMGetLicenses",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPackageLicense",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "package_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_created",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgAMGetLicensesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgPackageLicense",
                    "name": "license",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAMGetUserGameStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "game_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "stats",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgAMGetUserGameStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "game_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 3,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "repeated",
                    "type": "Stats",
                    "name": "stats",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "Achievement_Blocks",
                    "name": "achievement_blocks",
                    "id": 5
                }
            ],
            "messages": [
                {
                    "name": "Stats",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "stat_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "stat_value",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "Achievement_Blocks",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "achievement_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "achievement_bit_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "unlock_time",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCGetCommandList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "app_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "command_prefix",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCGetCommandListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "command_name",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCMsgMemCachedGet",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "keys",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCMsgMemCachedGetResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "ValueTag",
                    "name": "values",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "ValueTag",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "found",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CGCMsgMemCachedSet",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "KeyPair",
                    "name": "keys",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "KeyPair",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CGCMsgMemCachedDelete",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "keys",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCMsgMemCachedStats",
            "fields": []
        },
        {
            "name": "CGCMsgMemCachedStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "curr_connections",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "cmd_get",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "cmd_set",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "cmd_flush",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "get_hits",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "get_misses",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "delete_hits",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "delete_misses",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "bytes_read",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "bytes_written",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "limit_maxbytes",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "curr_items",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "evictions",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "bytes",
                    "id": 14
                }
            ]
        },
        {
            "name": "CGCMsgSQLStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "schema_catalog",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCMsgSQLStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "threads",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "threads_connected",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "threads_active",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "operations_submitted",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prepared_statements_executed",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "non_prepared_statements_executed",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "deadlock_retries",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "operations_timed_out_in_queue",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "errors",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgAMAddFreeLicense",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ip_public",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "packageid",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "store_country_code",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgAMAddFreeLicenseResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "purchase_result_detail",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "transid",
                    "id": 3
                }
            ]
        },
        {
            "name": "CGCMsgGetIPLocation",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed32",
                    "name": "ips",
                    "id": 1
                }
            ]
        },
        {
            "name": "CIPLocationInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ip",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "latitude",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "longitude",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "state",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "city",
                    "id": 6
                }
            ]
        },
        {
            "name": "CGCMsgGetIPLocationResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CIPLocationInfo",
                    "name": "infos",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCMsgGetIPASN",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed32",
                    "name": "ips",
                    "id": 1
                }
            ]
        },
        {
            "name": "CIPASNInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "ip",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "asn",
                    "id": 2
                }
            ]
        },
        {
            "name": "CGCMsgGetIPASNResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CIPASNInfo",
                    "name": "infos",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCMsgSystemStatsSchema",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gc_app_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "schema_kv",
                    "id": 2
                }
            ]
        },
        {
            "name": "CGCMsgGetSystemStats",
            "fields": []
        },
        {
            "name": "CGCMsgGetSystemStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gc_app_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "stats_kv",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "active_jobs",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "yielding_jobs",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "user_sessions",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_server_sessions",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "socaches",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "socaches_to_unload",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "socaches_loading",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "writeback_queue",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "steamid_locks",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "logon_queue",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "logon_jobs",
                    "id": 13
                }
            ]
        },
        {
            "name": "CMsgAMSendEmail",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "email_msg_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "email_format",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "PersonaNameReplacementToken",
                    "name": "persona_name_tokens",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_gc",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "ReplacementToken",
                    "name": "tokens",
                    "id": 7
                }
            ],
            "messages": [
                {
                    "name": "ReplacementToken",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "token_name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "token_value",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "PersonaNameReplacementToken",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steamid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "token_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgAMSendEmailResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgGCGetEmailTemplate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "app_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "email_msg_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "email_lang",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "email_format",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGCGetEmailTemplateResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "template_exists",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "template",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgAMGrantGuestPasses2",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "package_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "passes_to_grant",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "days_to_expiration",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "action",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgAMGrantGuestPasses2Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "passes_granted",
                    "id": 2,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CGCSystemMsg_GetAccountDetails",
            "options": {
                "(msgpool_soft_limit)": 128,
                "(msgpool_hard_limit)": 512
            },
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CGCSystemMsg_GetAccountDetails_Response",
            "options": {
                "(msgpool_soft_limit)": 128,
                "(msgpool_hard_limit)": 512
            },
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult_deprecated",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "account_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "persona_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_profile_created",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_profile_public",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_inventory_public",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_vac_banned",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_cyber_cafe",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_school_account",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_limited",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_subscribed",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "package",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_free_trial_account",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "free_trial_expiration",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_low_violence",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_account_locked_down",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_community_banned",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_trade_banned",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "trade_ban_expiration",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "accountid",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "suspension_end_time",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "currency",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "steam_level",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "friend_count",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_creation_time",
                    "id": 25
                }
            ]
        },
        {
            "name": "CMsgGCGetPersonaNames",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "steamids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCGetPersonaNames_Response",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "PersonaName",
                    "name": "succeeded_lookups",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "failed_lookup_steamids",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PersonaName",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steamid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "persona_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCCheckFriendship",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid_right",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCCheckFriendship_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "found_friendship",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCGetAppFriendsList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCGetAppFriendsList_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "steamids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCMsgMasterSetDirectory",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "master_dir_index",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "SubGC",
                    "name": "dir",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "SubGC",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "dir_index",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "box",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "command_line",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "gc_binary",
                            "id": 5
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCMsgMasterSetDirectory_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgGCMsgWebAPIJobRequestForwardResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dir_index",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCSystemMsg_GetPurchaseTrust_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CGCSystemMsg_GetPurchaseTrust_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_prior_purchase_history",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_no_recent_password_resets",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_wallet_cash_trusted",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_all_trusted",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGCHAccountVacStatusChange",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "app_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rtime_vacban_starts",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_banned_now",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_banned_future",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgGCGetPartnerAccountLink",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCGetPartnerAccountLink_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "pwid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "nexonid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCRoutingInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "dir_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "RoutingMethod",
                    "name": "method",
                    "id": 2,
                    "options": {
                        "default": "RANDOM"
                    }
                },
                {
                    "rule": "optional",
                    "type": "RoutingMethod",
                    "name": "fallback",
                    "id": 3,
                    "options": {
                        "default": "DISCARD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "protobuf_field",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "webapi_param",
                    "id": 5
                }
            ],
            "enums": [
                {
                    "name": "RoutingMethod",
                    "values": [
                        {
                            "name": "RANDOM",
                            "id": 0
                        },
                        {
                            "name": "DISCARD",
                            "id": 1
                        },
                        {
                            "name": "CLIENT_STEAMID",
                            "id": 2
                        },
                        {
                            "name": "PROTOBUF_FIELD_UINT64",
                            "id": 3
                        },
                        {
                            "name": "WEBAPI_PARAM_UINT64",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCMsgMasterSetWebAPIRouting",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Entry",
                    "name": "entries",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Entry",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "interface_name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "method_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgGCRoutingInfo",
                            "name": "routing",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCMsgMasterSetClientMsgRouting",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Entry",
                    "name": "entries",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Entry",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "msg_type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgGCRoutingInfo",
                            "name": "routing",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCMsgMasterSetWebAPIRouting_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgGCMsgMasterSetClientMsgRouting_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgGCMsgSetOptions",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Option",
                    "name": "options",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "MessageRange",
                    "name": "client_msg_ranges",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "GCSQLVersion",
                    "name": "gcsql_version",
                    "id": 3,
                    "options": {
                        "default": "GCSQL_VERSION_BASELINE"
                    }
                }
            ],
            "messages": [
                {
                    "name": "MessageRange",
                    "fields": [
                        {
                            "rule": "required",
                            "type": "uint32",
                            "name": "low",
                            "id": 1
                        },
                        {
                            "rule": "required",
                            "type": "uint32",
                            "name": "high",
                            "id": 2
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "Option",
                    "values": [
                        {
                            "name": "NOTIFY_USER_SESSIONS",
                            "id": 0
                        },
                        {
                            "name": "NOTIFY_SERVER_SESSIONS",
                            "id": 1
                        },
                        {
                            "name": "NOTIFY_ACHIEVEMENTS",
                            "id": 2
                        },
                        {
                            "name": "NOTIFY_VAC_ACTION",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "GCSQLVersion",
                    "values": [
                        {
                            "name": "GCSQL_VERSION_BASELINE",
                            "id": 1
                        },
                        {
                            "name": "GCSQL_VERSION_BOOLTYPE",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCHUpdateSession",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "app_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "online",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_steam_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_addr",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_port",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "os_type",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_addr",
                    "id": 8
                },
                {
                    "rule": "repeated",
                    "type": "ExtraField",
                    "name": "extra_fields",
                    "id": 9
                }
            ],
            "messages": [
                {
                    "name": "ExtraField",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgNotificationOfSuspiciousActivity",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "MultipleGameInstances",
                    "name": "multiple_instances",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "MultipleGameInstances",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "app_instance_count",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "fixed64",
                            "name": "other_steamids",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDPPartnerMicroTxns",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "gc_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "PartnerInfo",
                    "name": "partner",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "PartnerMicroTxn",
                    "name": "transactions",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "PartnerMicroTxn",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "init_time",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "last_update_time",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "txn_id",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "line_item",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "item_id",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "def_index",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "price",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tax",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "price_usd",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tax_usd",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "purchase_type",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "steam_txn_type",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "country_code",
                            "id": 14
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "region_code",
                            "id": 15
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "quantity",
                            "id": 16
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "ref_trans_id",
                            "id": 17
                        }
                    ]
                },
                {
                    "name": "PartnerInfo",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "partner_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "partner_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "currency_code",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "currency_name",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDPPartnerMicroTxnsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "EErrorCode",
                    "name": "eerrorcode",
                    "id": 2,
                    "options": {
                        "default": "k_MsgValid"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EErrorCode",
                    "values": [
                        {
                            "name": "k_MsgValid",
                            "id": 0
                        },
                        {
                            "name": "k_MsgInvalidAppID",
                            "id": 1
                        },
                        {
                            "name": "k_MsgInvalidPartnerInfo",
                            "id": 2
                        },
                        {
                            "name": "k_MsgNoTransactions",
                            "id": 3
                        },
                        {
                            "name": "k_MsgSQLFailure",
                            "id": 4
                        },
                        {
                            "name": "k_MsgPartnerInfoDiscrepancy",
                            "id": 5
                        },
                        {
                            "name": "k_MsgTransactionInsertFailed",
                            "id": 7
                        },
                        {
                            "name": "k_MsgAlreadyRunning",
                            "id": 8
                        },
                        {
                            "name": "k_MsgInvalidTransactionData",
                            "id": 9
                        }
                    ]
                }
            ]
        },
        {
            "name": "CGCStorePurchaseInit_LineItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "quantity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cost_in_local_currency",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "purchase_type",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "source_reference_id",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgGCStorePurchaseInit",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "language",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "currency",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CGCStorePurchaseInit_LineItem",
                    "name": "line_items",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGCStorePurchaseInitResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "result",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "txn_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSystemBroadcast",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgInviteToParty",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "as_coach",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgInviteToLobby",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgInvitationCreated",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "group_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgPartyInviteResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "party_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "accept",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "as_coach",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_language_enum",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_language_name",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgLobbyInviteResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "accept",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_language_enum",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_language_name",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_crc",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "custom_game_timestamp",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgKickFromParty",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgLeaveParty",
            "fields": []
        },
        {
            "name": "CMsgCustomGameInstallStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "ECustomGameInstallStatus",
                    "name": "status",
                    "id": 1,
                    "options": {
                        "default": "k_ECustomGameInstallStatus_Unknown"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "latest_timestamp_from_steam",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgServerAvailable",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgCustomGameInstallStatus",
                    "name": "custom_game_install_status",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgLANServerAvailable",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSOEconGameAccountClient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "additional_backpack_slots",
                    "id": 1,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "trial_account",
                    "id": 2,
                    "options": {
                        "default": false
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "eligible_for_online_play",
                    "id": 3,
                    "options": {
                        "default": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "need_to_choose_most_helpful_friend",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "in_coaches_list",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "trade_ban_expiration",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "duel_ban_expiration",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "preview_item_def",
                    "id": 8,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "made_first_purchase",
                    "id": 9,
                    "options": {
                        "default": false
                    }
                }
            ]
        },
        {
            "name": "CSOItemCriteriaCondition",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "op",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "field",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "required",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "float_value",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "string_value",
                    "id": 5
                }
            ]
        },
        {
            "name": "CSOItemCriteria",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_level",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "item_quality",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "item_level_set",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "item_quality_set",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "initial_inventory",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "initial_quantity",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "ignore_enabled_flag",
                    "id": 8
                },
                {
                    "rule": "repeated",
                    "type": "CSOItemCriteriaCondition",
                    "name": "conditions",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "recent_only",
                    "id": 10
                }
            ]
        },
        {
            "name": "CSOItemRecipe",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "n_a",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "desc_inputs",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "desc_outputs",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "di_a",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "di_b",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "di_c",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "do_a",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "do_b",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "do_c",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "requires_all_same_class",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "requires_all_same_slot",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "class_usage_for_output",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "slot_usage_for_output",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "set_for_output",
                    "id": 16
                },
                {
                    "rule": "repeated",
                    "type": "CSOItemCriteria",
                    "name": "input_items_criteria",
                    "id": 20
                },
                {
                    "rule": "repeated",
                    "type": "CSOItemCriteria",
                    "name": "output_items_criteria",
                    "id": 21
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "input_item_dupe_counts",
                    "id": 22
                }
            ]
        },
        {
            "name": "CMsgApplyStrangePart",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "strange_part_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgApplyPennantUpgrade",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "upgrade_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "pennant_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgApplyEggEssence",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "essence_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "egg_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSOEconItemAttribute",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "value",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "value_bytes",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSOEconItemEquipped",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "new_class",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "new_slot",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSOEconItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "inventory",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "quantity",
                    "id": 5,
                    "options": {
                        "default": 1
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "level",
                    "id": 6,
                    "options": {
                        "default": 1
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "quality",
                    "id": 7,
                    "options": {
                        "default": 4
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 8,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "origin",
                    "id": 9,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CSOEconItemAttribute",
                    "name": "attribute",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "CSOEconItem",
                    "name": "interior_item",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "in_use",
                    "id": 14,
                    "options": {
                        "default": false
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "style",
                    "id": 15,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "original_id",
                    "id": 16,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CSOEconItemEquipped",
                    "name": "equipped_state",
                    "id": 18
                }
            ]
        },
        {
            "name": "CMsgSortItems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sort_type",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSOEconClaimCode",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "code_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_acquired",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "code",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgStoreGetUserData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "price_sheet_version",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgStoreGetUserDataResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "result",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "currency",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "price_sheet_version",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "experiment_data",
                    "id": 5,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "featured_item_idx",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "show_hat_descriptions",
                    "id": 7,
                    "options": {
                        "default": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "price_sheet",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "default_item_sort",
                    "id": 9,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "popular_items",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgUpdateItemSchema",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "items_game",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "item_schema_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "items_game_url",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCError",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "error_text",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestInventoryRefresh",
            "fields": []
        },
        {
            "name": "CMsgConVarValue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "value",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgReplicateConVars",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgConVarValue",
                    "name": "convars",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgReplayUploadedToYouTube",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "youtube_url",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "youtube_account_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "session_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgConsumableExhausted",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "item_def_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgItemAcknowledged",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "inventory",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "quality",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rarity",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "origin",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgSetPresetItemPosition",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "class_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "preset_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgSetItemPositions",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "ItemPosition",
                    "name": "item_positions",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "ItemPosition",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "item_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "position",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSOEconItemPresetInstance",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "class_id",
                    "id": 2,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "preset_id",
                    "id": 3,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 4,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSelectItemPresetForClass",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "class_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "preset_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSelectItemPresetForClassReply",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSOSelectedItemPreset",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "class_id",
                    "id": 2,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "preset_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCReportAbuse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "target_steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "description",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "gid",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "abuse_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "content_type",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "target_game_server_ip",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_game_server_port",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgGCReportAbuseResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "target_steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "error_message",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCNameItemNotification",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "player_steamid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "item_name_custom",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCClientDisplayNotification",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "notification_title_localization_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "notification_body_localization_key",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "body_substring_keys",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "body_substring_values",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGCShowItemsPickedUp",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "player_steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCIncrementKillCountResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "killer_account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_kills",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "level_type",
                    "id": 4
                }
            ]
        },
        {
            "name": "CSOEconItemDropRateBonus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "expiration_date",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "bonus",
                    "id": 3,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bonus_count",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_left",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "booster_type",
                    "id": 8,
                    "options": {
                        "(key_field)": true
                    }
                }
            ]
        },
        {
            "name": "CSOEconItemLeagueViewPass",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "itemindex",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "grant_reason",
                    "id": 5
                }
            ]
        },
        {
            "name": "CSOEconItemEventTicket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSOEconItemTournamentPassport",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "original_purchaser_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "passports_bought",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reward_flags",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgGCItemPreviewItemBoughtNotification",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def_index",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCStorePurchaseCancel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "txn_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCStorePurchaseCancelResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCStorePurchaseFinalize",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "txn_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCStorePurchaseFinalizeResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCBannedWordListRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ban_list_group_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "word_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCBannedWord",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "word_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "GC_BannedWordType",
                    "name": "word_type",
                    "id": 2,
                    "options": {
                        "default": "GC_BANNED_WORD_DISABLE_WORD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "word",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCBannedWordListResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ban_list_group_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgGCBannedWord",
                    "name": "word_list",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCBannedWordListBroadcast",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgGCBannedWordListResponse",
                    "name": "broadcast",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCBannedWordListUpdated",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "group_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCDirtySDOCache",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sdo_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "key_uint64",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCDirtyMultipleSDOCache",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sdo_type",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "key_uint64",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCApplyLocalizationDiff",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "language",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "packed_diff",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCApplyLocalizationDiffResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCCollectItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "collection_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "subject_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSDONoMemcached",
            "fields": []
        },
        {
            "name": "CMsgGCToGCUpdateSQLKeyValue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "key_name",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCBroadcastConsoleCommand",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "con_command",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCServerVersionUpdated",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_version",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCClientVersionUpdated",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCWebAPIAccountChanged",
            "fields": []
        },
        {
            "name": "CMsgRecipeComponent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "subject_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "attribute_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgFulfillDynamicRecipeComponent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "tool_item_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgRecipeComponent",
                    "name": "consumption_components",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCClientMarketDataRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "user_currency",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCClientMarketDataEntry",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_quality",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_sell_listings",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "price_in_local_currency",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGCClientMarketData",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgGCClientMarketDataEntry",
                    "name": "entries",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgExtractGems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "tool_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAddSocket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "tool_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "unusual",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgAddSocketResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "updated_socket_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAddItemToSocketData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "gem_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "socket_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAddItemToSocket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAddItemToSocketData",
                    "name": "gems_to_socket",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAddItemToSocketResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "updated_socket_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgResetStrangeGemCount",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "socket_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgVector",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "z",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgVector2D",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "y",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgQAngle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "z",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgPlayerInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "xuid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "userid",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "fakeplayer",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "ishltv",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsg_CVars",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CVar",
                    "name": "cvars",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "CVar",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CNETMsg_NOP",
            "fields": []
        },
        {
            "name": "CNETMsg_SplitScreenUser",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "slot",
                    "id": 1
                }
            ]
        },
        {
            "name": "CNETMsg_Disconnect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "ENetworkDisconnectionReason",
                    "name": "reason",
                    "id": 2,
                    "options": {
                        "default": "NETWORK_DISCONNECT_INVALID"
                    }
                }
            ]
        },
        {
            "name": "CNETMsg_Tick",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tick",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "host_frametime",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "host_frametime_std_deviation",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "host_computationtime",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "host_computationtime_std_deviation",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "host_framestarttime_std_deviation",
                    "id": 6
                }
            ]
        },
        {
            "name": "CNETMsg_StringCmd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "command",
                    "id": 1
                }
            ]
        },
        {
            "name": "CNETMsg_SetConVar",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsg_CVars",
                    "name": "convars",
                    "id": 1
                }
            ]
        },
        {
            "name": "CNETMsg_SignonState",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "signon_state",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawn_count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_server_players",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "players_networkids",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "map_name",
                    "id": 5
                }
            ]
        },
        {
            "name": "CSVCMsg_GameEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "event_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eventid",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "key_t",
                    "name": "keys",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "key_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "val_string",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "val_float",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "val_long",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "val_short",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "val_byte",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "val_bool",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "val_uint64",
                            "id": 8
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSVCMsgList_GameEvents",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "event_t",
                    "name": "events",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "event_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "tick",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CSVCMsg_GameEvent",
                            "name": "event",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSVCMsg_UserMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "msg_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "msg_data",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSVCMsgList_UserMessages",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "usermsg_t",
                    "name": "usermsgs",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "usermsg_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "tick",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CSVCMsg_UserMessage",
                            "name": "msg",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CNETMsg_SpawnGroup_Load",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "worldname",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "entitylumpname",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "entityfiltername",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawngrouphandle",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawngroupownerhandle",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "world_offset_pos",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "world_offset_angle",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "spawngroupmanifest",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tickcount",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "manifestincomplete",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "localnamefixup",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "parentnamefixup",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "manifestloadpriority",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "worldgroupid",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "creationsequence",
                    "id": 16
                }
            ]
        },
        {
            "name": "CNETMsg_SpawnGroup_ManifestUpdate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawngrouphandle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "spawngroupmanifest",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "manifestincomplete",
                    "id": 3
                }
            ]
        },
        {
            "name": "CNETMsg_SpawnGroup_SetCreationTick",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawngrouphandle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tickcount",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "creationsequence",
                    "id": 3
                }
            ]
        },
        {
            "name": "CNETMsg_SpawnGroup_Unload",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawngrouphandle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tickcount",
                    "id": 3
                }
            ]
        },
        {
            "name": "CNETMsg_SpawnGroup_LoadCompleted",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spawngrouphandle",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSVCMsg_GameSessionConfiguration",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_multiplayer",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_loadsavegame",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_background_map",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_headless",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "min_client_limit",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_client_limit",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_clients",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "tick_interval",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "hostname",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "savegamename",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "s1_mapname",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "gamemode",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "server_ip_address",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_localonly",
                    "id": 15
                }
            ]
        },
        {
            "name": "CCLCMsg_ClientInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "send_table_crc",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_hltv",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_replay",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "friends_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "friends_name",
                    "id": 6
                }
            ]
        },
        {
            "name": "CCLCMsg_Move",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_backup_commands",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_new_commands",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgVoiceAudio",
            "fields": [
                {
                    "rule": "optional",
                    "type": "VoiceDataFormat_t",
                    "name": "format",
                    "id": 1,
                    "options": {
                        "default": "VOICEDATA_FORMAT_STEAM"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "voice_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "sequence_bytes",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "section_number",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sample_rate",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "uncompressed_sample_offset",
                    "id": 6
                }
            ]
        },
        {
            "name": "CCLCMsg_VoiceData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVoiceAudio",
                    "name": "audio",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "xuid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tick",
                    "id": 3
                }
            ]
        },
        {
            "name": "CCLCMsg_BaselineAck",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "baseline_tick",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "baseline_nr",
                    "id": 2
                }
            ]
        },
        {
            "name": "CCLCMsg_ListenEvents",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed32",
                    "name": "event_mask",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCLCMsg_RespondCvarValue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "cookie",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "status_code",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "value",
                    "id": 4
                }
            ]
        },
        {
            "name": "CCLCMsg_FileCRCCheck",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "code_path",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "path",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "code_filename",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "filename",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "crc",
                    "id": 5
                }
            ]
        },
        {
            "name": "CCLCMsg_LoadingProgress",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "progress",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCLCMsg_SplitPlayerConnect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "playername",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCLCMsg_ClientMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "msg_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 2
                }
            ]
        },
        {
            "name": "CCLCMsg_SplitPlayerDisconnect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "slot",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCLCMsg_ServerStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "simplified",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCLCMsg_ServerPing",
            "fields": []
        },
        {
            "name": "CCLCMsg_RequestPause",
            "fields": [
                {
                    "rule": "optional",
                    "type": "RequestPause_t",
                    "name": "pause_type",
                    "id": 1,
                    "options": {
                        "default": "RP_PAUSE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "pause_group",
                    "id": 2
                }
            ]
        },
        {
            "name": "CCLCMsg_CmdKeyValues",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSVCMsg_ServerInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "protocol",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "server_count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_dedicated",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_hltv",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_replay",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "c_os",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "map_crc",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_crc",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "string_table_crc",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "max_clients",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "max_classes",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_slot",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "tick_interval",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_dir",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "map_name",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sky_name",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "host_name",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "addon_name",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "CSVCMsg_GameSessionConfiguration",
                    "name": "game_session_config",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "game_session_manifest",
                    "id": 20
                }
            ]
        },
        {
            "name": "CSVCMsg_ClassInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "create_on_client",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "class_t",
                    "name": "classes",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "class_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "class_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "data_table_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "class_name",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSVCMsg_SetPause",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "paused",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSVCMsg_VoiceInit",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "quality",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "codec",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "version",
                    "id": 3,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CSVCMsg_Print",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSVCMsg_Sounds",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "reliable_sound",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "sounddata_t",
                    "name": "sounds",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "sounddata_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "sint32",
                            "name": "origin_x",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "sint32",
                            "name": "origin_y",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "sint32",
                            "name": "origin_z",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "volume",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "delay_value",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "sequence_number",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_index",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "channel",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "pitch",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "flags",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "sound_num",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "sound_num_handle",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "speaker_entity",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "random_seed",
                            "id": 14
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "sound_level",
                            "id": 15
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "is_sentence",
                            "id": 16
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "is_ambient",
                            "id": 17
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "guid",
                            "id": 18
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "sound_resource_id",
                            "id": 19
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSVCMsg_Prefetch",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "sound_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "PrefetchType",
                    "name": "resource_type",
                    "id": 2,
                    "options": {
                        "default": "PFT_SOUND"
                    }
                }
            ]
        },
        {
            "name": "CSVCMsg_SetView",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "slot",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSVCMsg_FixAngle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "relative",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angle",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSVCMsg_CrosshairAngle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angle",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSVCMsg_BSPDecal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "pos",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "decal_texture_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "model_index",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_priority",
                    "id": 5
                }
            ]
        },
        {
            "name": "CSVCMsg_SplitScreen",
            "fields": [
                {
                    "rule": "optional",
                    "type": "ESplitScreenMessageType",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "MSG_SPLITSCREEN_ADDUSER"
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "slot",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_index",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSVCMsg_GetCvarValue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "cookie",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "cvar_name",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSVCMsg_Menu",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "dialog_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "menu_key_values",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSVCMsg_SendTable",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_end",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "net_table_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "needs_decoder",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "sendprop_t",
                    "name": "props",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "sendprop_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "var_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "flags",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "priority",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "dt_name",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "num_elements",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "low_value",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "high_value",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "num_bits",
                            "id": 9
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSVCMsg_GameEventList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "descriptor_t",
                    "name": "descriptors",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "key_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "descriptor_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "eventid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "key_t",
                            "name": "keys",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSVCMsg_PacketEntities",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "max_entries",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "updated_entries",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_delta",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "update_baseline",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "baseline",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "delta_from",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "entity_data",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "pending_full_frame",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "active_spawngroup_handle",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_spawngroup_creationsequence",
                    "id": 10
                }
            ]
        },
        {
            "name": "CSVCMsg_TempEntities",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "reliable",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "num_entries",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "entity_data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSVCMsg_CreateStringTable",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "num_entries",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "user_data_fixed_size",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "user_data_size",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "user_data_size_bits",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "flags",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "string_data",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "uncompressed_size",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "data_compressed",
                    "id": 9
                }
            ]
        },
        {
            "name": "CSVCMsg_UpdateStringTable",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "table_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "num_changed_entries",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "string_data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSVCMsg_VoiceData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVoiceAudio",
                    "name": "audio",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "client",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "proximity",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "xuid",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "audible_mask",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tick",
                    "id": 6
                }
            ]
        },
        {
            "name": "CSVCMsg_PacketReliable",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tick",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "messagessize",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "state",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSVCMsg_FullFrameSplit",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tick",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "section",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "total",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 4
                }
            ]
        },
        {
            "name": "CSVCMsg_CmdKeyValues",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgIPCAddress",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "computer_guid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "process_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgServerPeer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_slot",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgIPCAddress",
                    "name": "ipc",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "they_hear_you",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "you_hear_them",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_listenserver_host",
                    "id": 6
                }
            ]
        },
        {
            "name": "CSVCMsg_PeerList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgServerPeer",
                    "name": "peer",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSVCMsg_ClearAllStringTables",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "mapname",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "map_crc",
                    "id": 2
                }
            ]
        },
        {
            "name": "ProtoFlattenedSerializerField_t",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "var_type_sym",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "var_name_sym",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "bit_count",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "low_value",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "high_value",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "encode_flags",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "field_serializer_name_sym",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "field_serializer_version",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "send_node_sym",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "var_encoder_sym",
                    "id": 10
                }
            ]
        },
        {
            "name": "ProtoFlattenedSerializer_t",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "serializer_name_sym",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "serializer_version",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "int32",
                    "name": "fields_index",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSVCMsg_FlattenedSerializer",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "ProtoFlattenedSerializer_t",
                    "name": "serializers",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "symbols",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "ProtoFlattenedSerializerField_t",
                    "name": "fields",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSVCMsg_StopSound",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "guid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CBidirMsg_RebroadcastGameEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "posttoserver",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "buftype",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "clientbitcount",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "receivingclients",
                    "id": 4
                }
            ]
        },
        {
            "name": "CBidirMsg_RebroadcastSource",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eventsource",
                    "id": 1
                }
            ]
        },
        {
            "name": "SerializedNetAddress_t",
            "fields": [
                {
                    "rule": "required",
                    "type": "bytes",
                    "name": "serializedAddress",
                    "id": 1
                }
            ]
        },
        {
            "name": "CBidirMsg_RelayInfo",
            "fields": [
                {
                    "rule": "required",
                    "type": "Operation_t",
                    "name": "operation",
                    "id": 1,
                    "options": {
                        "default": "RIO_REQUEST_RELAY"
                    }
                },
                {
                    "rule": "optional",
                    "type": "SerializedNetAddress_t",
                    "name": "serializedTargetAddress",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "additionalHops",
                    "id": 3
                }
            ],
            "enums": [
                {
                    "name": "Operation_t",
                    "values": [
                        {
                            "name": "RIO_REQUEST_RELAY",
                            "id": 0
                        },
                        {
                            "name": "RIO_WILL_RELAY",
                            "id": 1
                        },
                        {
                            "name": "RIO_NO_ROUTE",
                            "id": 2
                        },
                        {
                            "name": "RIO_REJECT_RELAY",
                            "id": 3
                        },
                        {
                            "name": "RIO_ESTABLISH_CONNECTION",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "SignedPayload_t",
            "fields": [
                {
                    "rule": "required",
                    "type": "bytes",
                    "name": "payloadData",
                    "id": 1
                },
                {
                    "rule": "required",
                    "type": "uint32",
                    "name": "signature",
                    "id": 2
                },
                {
                    "rule": "required",
                    "type": "bool",
                    "name": "bPayloadEncrypted",
                    "id": 3
                }
            ]
        },
        {
            "name": "CBidirMsg_RelayPacket",
            "fields": [
                {
                    "rule": "required",
                    "type": "uint32",
                    "name": "prevhopcount",
                    "id": 1
                },
                {
                    "rule": "required",
                    "type": "SerializedNetAddress_t",
                    "name": "originalSender",
                    "id": 2
                },
                {
                    "rule": "required",
                    "type": "SignedPayload_t",
                    "name": "signedPayload",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "SignedDestinationAddress_t",
                    "name": "recipientList",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "SignedDestinationAddress_t",
                    "fields": [
                        {
                            "rule": "required",
                            "type": "SerializedNetAddress_t",
                            "name": "serializedAddr",
                            "id": 1
                        },
                        {
                            "rule": "required",
                            "type": "uint32",
                            "name": "signature",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "encryptedPayloadKey",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CP2P_TextMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "text",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSteam_Voice_Encoding",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "voice_data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CP2P_Voice",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVoiceAudio",
                    "name": "audio",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "broadcast_group",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Handler_Flags",
                    "values": [
                        {
                            "name": "Played_Audio",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CP2P_Ping",
            "fields": [
                {
                    "rule": "required",
                    "type": "uint64",
                    "name": "send_time",
                    "id": 1
                },
                {
                    "rule": "required",
                    "type": "bool",
                    "name": "is_reply",
                    "id": 2
                }
            ]
        },
        {
            "name": "C2S_CONNECT_Message",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "host_version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "auth_protocol",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "challenge_number",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "reservation_cookie",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_violence",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "encrypted_password",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "CCLCMsg_SplitPlayerConnect",
                    "name": "splitplayers",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "auth_steam",
                    "id": 8
                }
            ]
        },
        {
            "name": "C2S_CONNECTION_Message",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "addon_name",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDemoFileHeader",
            "fields": [
                {
                    "rule": "required",
                    "type": "string",
                    "name": "demo_file_stamp",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "network_protocol",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "server_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "client_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "map_name",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_directory",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "fullpackets_version",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_clientside_entities",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_clientside_particles",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "addons",
                    "id": 10
                }
            ]
        },
        {
            "name": "CGameInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDotaGameInfo",
                    "name": "dota",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "CDotaGameInfo",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "match_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "game_mode",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "game_winner",
                            "id": 3
                        },
                        {
                            "rule": "repeated",
                            "type": "CPlayerInfo",
                            "name": "player_info",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "leagueid",
                            "id": 5
                        },
                        {
                            "rule": "repeated",
                            "type": "CHeroSelectEvent",
                            "name": "picks_bans",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "radiant_team_id",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "dire_team_id",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "radiant_team_tag",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "dire_team_tag",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "end_time",
                            "id": 11
                        }
                    ],
                    "messages": [
                        {
                            "name": "CPlayerInfo",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "string",
                                    "name": "hero_name",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "string",
                                    "name": "player_name",
                                    "id": 2
                                },
                                {
                                    "rule": "optional",
                                    "type": "bool",
                                    "name": "is_fake_client",
                                    "id": 3
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint64",
                                    "name": "steamid",
                                    "id": 4
                                },
                                {
                                    "rule": "optional",
                                    "type": "int32",
                                    "name": "game_team",
                                    "id": 5
                                }
                            ]
                        },
                        {
                            "name": "CHeroSelectEvent",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "bool",
                                    "name": "is_pick",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "team",
                                    "id": 2
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_id",
                                    "id": 3
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDemoFileInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "playback_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "playback_ticks",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "playback_frames",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CGameInfo",
                    "name": "game_info",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDemoPacket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "sequence_in",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "sequence_out_ack",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDemoFullPacket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDemoStringTables",
                    "name": "string_table",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDemoPacket",
                    "name": "packet",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDemoSaveGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "signature",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "version",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDemoSyncTick",
            "fields": []
        },
        {
            "name": "CDemoConsoleCmd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "cmdstring",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDemoSendTables",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDemoClassInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "class_t",
                    "name": "classes",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "class_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "class_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "network_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "table_name",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDemoCustomData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "callback_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDemoCustomDataCallbacks",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "save_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDemoStringTables",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "table_t",
                    "name": "tables",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "items_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "str",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "data",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "table_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "table_name",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "items_t",
                            "name": "items",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "items_t",
                            "name": "items_clientside",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "table_flags",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDemoStop",
            "fields": []
        },
        {
            "name": "CDemoUserCmd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "cmd_number",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDemoSpawnGroups",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "bytes",
                    "name": "msgs",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTABroadcastMsg",
            "fields": [
                {
                    "rule": "required",
                    "type": "EDotaBroadcastMessages",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "DOTA_BM_LANLobbyRequest"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "msg",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTABroadcastMsg_LANLobbyRequest",
            "fields": []
        },
        {
            "name": "CDOTABroadcastMsg_LANLobbyReply",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_game_id",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyMember",
                    "name": "members",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "requires_pass_key",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leader_account_id",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_mode",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "players",
                    "id": 9
                }
            ],
            "messages": [
                {
                    "name": "CLobbyMember",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "player_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAMsg_LocationPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "target",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "direct_ping",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "type",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAMsg_ItemAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemid",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAMsg_MapLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "initial",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAMsg_WorldLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "z",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "initial",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "end",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAMsg_SendStatPopup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EDOTAStatPopupTypes",
                    "name": "style",
                    "id": 1,
                    "options": {
                        "default": "k_EDOTA_SPT_Textline"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "stat_strings",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "int32",
                    "name": "stat_images",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAMsg_CoachHUDPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "tgtpath",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_MapPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_LocationPing",
                    "name": "location_ping",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_ItemAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_ItemAlert",
                    "name": "item_alert",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_EnemyItemAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_entindex",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_ModifierAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "buff_internal_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_entindex",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_ClickedBuff",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "buff_internal_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_entindex",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_HPManaAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_entindex",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_GlyphAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "negative",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_MapLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_MapLine",
                    "name": "mapline",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_AspectRatio",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "ratio",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_UnitsAutoAttack",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "enabled",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_UnitsAutoAttackAfterSpell",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "enabled",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_TeleportRequiresHalt",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "enabled",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_AutoPurchaseItems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "enabled",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_TestItems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "key_values",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_SearchString",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_Pause",
            "fields": []
        },
        {
            "name": "CDOTAClientMsg_ShopViewMode",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "mode",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_SetUnitShareFlag",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "playerID",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flag",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "state",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_SwapRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_SwapAccept",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_WorldLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_WorldLine",
                    "name": "worldline",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_RequestGraphUpdate",
            "fields": []
        },
        {
            "name": "CDOTAClientMsg_ChatWheel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EDOTAChatWheelMessage",
                    "name": "chat_message",
                    "id": 1,
                    "options": {
                        "default": "k_EDOTA_CW_Ok"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "param_hero_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_SendStatPopup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_SendStatPopup",
                    "name": "statpopup",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_BeginLastHitChallenge",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "chosen_lane",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "helper_enabled",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_UpdateQuickBuyItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "item_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "purchasable",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_UpdateQuickBuy",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CDOTAClientMsg_UpdateQuickBuyItem",
                    "name": "items",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_UpdateCoachListen",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_mask",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_CoachHUDPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_CoachHUDPing",
                    "name": "hud_ping",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_RecordVote",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "choice_index",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_WillPurchaseAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gold_remaining",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_BuyBackStateAlert",
            "fields": []
        },
        {
            "name": "CDOTAClientMsg_QuickBuyAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "gold_required",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_PlayerShowCase",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "showcase",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_CameraZoomAmount",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "zoom_amount",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_BroadcasterUsingCameraman",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "cameraman",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_BroadcasterUsingAssistedCameraOperator",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "enabled",
                    "id": 1
                }
            ]
        },
        {
            "name": "CAdditionalEquipSlotClientMsg",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "class_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_FreeInventory",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CAdditionalEquipSlotClientMsg",
                    "name": "equips",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_FillEmptySlotsWithBots",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "fillwithbots",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_HeroStatueLike",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_player_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_TeamShowcaseEditor",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_TeamShowcaseClientData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_PlayTeamShowcase",
            "fields": []
        },
        {
            "name": "CDOTAClientMsg_EventCNY2015Cmd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_DemoHero",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hero_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hero_id_to_spawn",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "item_defs",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "style_index",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_ChallengeSelect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sequence_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAClientMsg_ChallengeReroll",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sequence_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgSHA1Digest",
            "fields": [
                {
                    "rule": "required",
                    "type": "fixed64",
                    "name": "block1",
                    "id": 1
                },
                {
                    "rule": "required",
                    "type": "fixed64",
                    "name": "block2",
                    "id": 2
                },
                {
                    "rule": "required",
                    "type": "fixed32",
                    "name": "block3",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgSOIDOwner",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSOSingleObject",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "type_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "object_data",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "service_id",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgSOMultipleObjects",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "SingleObject",
                    "name": "objects_modified",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "SingleObject",
                    "name": "objects_added",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "SingleObject",
                    "name": "objects_removed",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "service_id",
                    "id": 7
                }
            ],
            "messages": [
                {
                    "name": "SingleObject",
                    "options": {
                        "(msgpool_soft_limit)": 256,
                        "(msgpool_hard_limit)": 1024
                    },
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "object_data",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSOCacheSubscribed",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "SubscribedType",
                    "name": "objects",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "service_id",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "service_list",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sync_version",
                    "id": 7
                }
            ],
            "messages": [
                {
                    "name": "SubscribedType",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type_id",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "bytes",
                            "name": "object_data",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSOCacheSubscribedUpToDate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "service_id",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "service_list",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sync_version",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSOCacheUnsubscribed",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSOCacheSubscriptionCheck",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "service_id",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "service_list",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sync_version",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgSOCacheSubscriptionRefresh",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "owner_soid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSOCacheVersion",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCMultiplexMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "msgtype",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "payload",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "steamids",
                    "id": 3
                }
            ]
        },
        {
            "name": "CGCToGCMsgMasterAck",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dir_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "machine_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "process_name",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "Process",
                    "name": "directory",
                    "id": 6
                }
            ],
            "messages": [
                {
                    "name": "Process",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "dir_index",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "type_instances",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CGCToGCMsgMasterAck_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CGCToGCMsgMasterStartupComplete",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "GCInfo",
                    "name": "gc_info",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "GCInfo",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "dir_index",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "machine_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CGCToGCMsgRouted",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "msg_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sender_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "net_message",
                    "id": 3
                }
            ]
        },
        {
            "name": "CGCToGCMsgRoutedReply",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "msg_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "net_message",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCUpdateSubGCSessionInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgUpdate",
                    "name": "updates",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "CMsgUpdate",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steamid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "ip",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "trusted",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCRequestSubGCSessionInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCRequestSubGCSessionInfoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "ip",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "trusted",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSOCacheHaveVersion",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSOIDOwner",
                    "name": "soid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "service_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cached_file_version",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgClientHello",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgSOCacheHaveVersion",
                    "name": "socache_have_versions",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_session_need",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "PartnerAccountType",
                    "name": "client_launcher",
                    "id": 4,
                    "options": {
                        "default": "PARTNER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "secret_key",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_language",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "ESourceEngine",
                    "name": "engine",
                    "id": 7,
                    "options": {
                        "default": "k_ESE_Source1"
                    }
                }
            ]
        },
        {
            "name": "CMsgClientWelcome",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "game_data",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMsgSOCacheSubscribed",
                    "name": "outofdate_subscribed_caches",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgSOCacheSubscriptionCheck",
                    "name": "uptodate_subscribed_caches",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "Location",
                    "name": "location",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "save_game_key",
                    "id": 6
                }
            ],
            "messages": [
                {
                    "name": "Location",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "latitude",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "longitude",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "country",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgConnectionStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "GCConnectionStatus",
                    "name": "status",
                    "id": 1,
                    "options": {
                        "default": "GCConnectionStatus_HAVE_SESSION"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_session_need",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "queue_position",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "queue_size",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "wait_seconds",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "estimated_wait_seconds_remaining",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgGCToGCSOCacheSubscribe",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "subscriber",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "subscribe_to",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sync_version",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgHaveVersions",
                    "name": "have_versions",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "CMsgHaveVersions",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "service_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "version",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToGCSOCacheUnsubscribe",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "subscriber",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "unsubscribe_from",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCClientPing",
            "fields": []
        },
        {
            "name": "CMsgGCToGCLoadSessionSOCache",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCLoadSessionSOCacheResponse",
            "fields": []
        },
        {
            "name": "CMsgGCToGCUpdateSessionStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "user_sessions",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_sessions",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "in_logon_surge",
                    "id": 3
                }
            ]
        },
        {
            "name": "CWorkshop_PopulateItemDescriptions_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "ItemDescriptionsLanguageBlock",
                    "name": "languages",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "SingleItemDescription",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gameitemid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "item_description",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "ItemDescriptionsLanguageBlock",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "language",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "SingleItemDescription",
                            "name": "descriptions",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CWorkshop_GetContributors_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gameitemid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CWorkshop_GetContributors_Response",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "contributors",
                    "id": 1
                }
            ]
        },
        {
            "name": "CWorkshop_SetItemPaymentRules_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gameitemid",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "WorkshopItemPaymentRule",
                    "name": "associated_workshop_files",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "PartnerItemPaymentRule",
                    "name": "partner_accounts",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "WorkshopItemPaymentRule",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "workshop_file_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "revenue_percentage",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "rule_description",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "PartnerItemPaymentRule",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "revenue_percentage",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "rule_description",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CWorkshop_SetItemPaymentRules_Response",
            "fields": []
        },
        {
            "name": "CBroadcast_PostGameDataFrame_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "broadcast_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "frame_data",
                    "id": 4
                }
            ]
        },
        {
            "name": "CSODOTAGameAccountClient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "wins",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "losses",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "xp",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "level",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "initial_skill",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leaver_count",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "secondary_leaver_count",
                    "id": 58
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "low_priority_until_date",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prevent_text_chat_until_date",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prevent_voice_until_date",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_abandoned_game_date",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_secondary_abandoned_game_date",
                    "id": 59
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leaver_penalty_count",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "completed_game_streak",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "teaching",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leadership",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "friendly",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "forgiving",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_disabled_until_date",
                    "id": 38
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_disabled_count",
                    "id": 39
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "showcase_hero_id",
                    "id": 40
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_disabled_until_date",
                    "id": 41
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_disabled_count",
                    "id": 42
                },
                {
                    "rule": "optional",
                    "type": "PartnerAccountType",
                    "name": "partner_account_type",
                    "id": 44,
                    "options": {
                        "default": "PARTNER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "partner_account_state",
                    "id": 45
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "shutdownlawterminatetimestamp",
                    "id": 47
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "low_priority_games_remaining",
                    "id": 48
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "competitive_rank",
                    "id": 49
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "calibration_games_remaining",
                    "id": 51
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "solo_competitive_rank",
                    "id": 52
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "solo_calibration_games_remaining",
                    "id": 54
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "competitive_1v1_rank",
                    "id": 63
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "competitive_1v1_calibration_games_remaining",
                    "id": 64
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "recruitment_level",
                    "id": 55
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_new_notifications",
                    "id": 56
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_league_admin",
                    "id": 57
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "casual_games_played",
                    "id": 60
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "solo_competitive_games_played",
                    "id": 61
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "party_competitive_games_played",
                    "id": 62
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "casual_1v1_games_played",
                    "id": 65
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "competitive_team_games_played",
                    "id": 66
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "curr_all_hero_challenge_id",
                    "id": 67
                }
            ]
        },
        {
            "name": "CSODOTAPartyMember",
            "fields": [
                {
                    "rule": "optional",
                    "type": "PartnerAccountType",
                    "name": "partner_type",
                    "id": 1,
                    "options": {
                        "default": "PARTNER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_coach",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSODOTAParty",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "party_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "leader_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "member_ids",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_modes",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "State",
                    "name": "state",
                    "id": 6,
                    "options": {
                        "default": "UI"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "effective_started_matchmaking_time",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "raw_started_matchmaking_time",
                    "id": 32
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "attempt_start_time",
                    "id": 33
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "attempt_num",
                    "id": 34
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matchgroups",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "low_priority_account_id",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "MatchType",
                    "name": "match_type",
                    "id": 21,
                    "options": {
                        "default": "MATCH_TYPE_CASUAL"
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "bot_difficulty",
                    "id": 22,
                    "options": {
                        "default": "BOT_DIFFICULTY_PASSIVE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_disabled_until_date",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_disabled_account_id",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matchmaking_max_range_minutes",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matchlanguages",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "map_preference",
                    "id": 38
                },
                {
                    "rule": "repeated",
                    "type": "CSODOTAPartyMember",
                    "name": "members",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "open_guild_id",
                    "id": 30
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "common_guilds",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "low_priority_games_remaining",
                    "id": 35
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "min_level",
                    "id": 36
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_level",
                    "id": 37
                },
                {
                    "rule": "repeated",
                    "type": "EIngameEvent",
                    "name": "active_ingame_events",
                    "id": 39
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "open_for_join_requests",
                    "id": 40
                },
                {
                    "rule": "repeated",
                    "type": "CSODOTAPartyInvite",
                    "name": "sent_invites",
                    "id": 41
                },
                {
                    "rule": "repeated",
                    "type": "CSODOTAPartyInvite",
                    "name": "recv_invites",
                    "id": 42
                }
            ],
            "enums": [
                {
                    "name": "State",
                    "values": [
                        {
                            "name": "UI",
                            "id": 0
                        },
                        {
                            "name": "FINDING_MATCH",
                            "id": 1
                        },
                        {
                            "name": "IN_MATCH",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSODOTAPartyInvite",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "group_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sender_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sender_name",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "PartyMember",
                    "name": "members",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_priority_status",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "as_coach",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "invite_gid",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "engine",
                    "id": 9
                }
            ],
            "messages": [
                {
                    "name": "PartyMember",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "is_coach",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSODOTALobbyInvite",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "group_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "sender_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sender_name",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "LobbyMember",
                    "name": "members",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "invite_gid",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_crc",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "custom_game_timestamp",
                    "id": 8
                }
            ],
            "messages": [
                {
                    "name": "LobbyMember",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAClientHardwareSpecs",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "logical_processors",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "cpu_cycles_per_second",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "total_physical_memory",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_64_bit_os",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "upload_measurement",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "prefer_not_host",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTASaveGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "save_time",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "players",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "SaveInstance",
                    "name": "save_instances",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "DOTA_GC_TEAM",
                            "name": "team",
                            "id": 1,
                            "options": {
                                "default": "DOTA_GC_TEAM_GOOD_GUYS"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "hero",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "SaveInstance",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "game_time",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team1_score",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team2_score",
                            "id": 4
                        },
                        {
                            "rule": "repeated",
                            "type": "PlayerPositions",
                            "name": "player_positions",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "save_id",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "save_time",
                            "id": 7
                        }
                    ],
                    "messages": [
                        {
                            "name": "PlayerPositions",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "x",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "y",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgLeaverState",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lobby_state",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameState",
                    "name": "game_state",
                    "id": 2,
                    "options": {
                        "default": "DOTA_GAMERULES_STATE_INIT"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "leaver_detected",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "first_blood_happened",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "discard_match_results",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "mass_disconnect",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTALobbyMember",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GC_TEAM",
                    "name": "team",
                    "id": 3,
                    "options": {
                        "default": "DOTA_GC_TEAM_GOOD_GUYS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "party_id",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "meta_level",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "meta_xp",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "meta_xp_awarded",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "DOTALeaverStatus_t",
                    "name": "leaver_status",
                    "id": 16,
                    "options": {
                        "default": "DOTA_LEAVER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leaver_actions",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "channel",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_def_index",
                    "id": 18
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "disabled_hero_id",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "PartnerAccountType",
                    "name": "partner_account_type",
                    "id": 21,
                    "options": {
                        "default": "PARTNER_NONE"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "enabled_hero_id",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GC_TEAM",
                    "name": "coach_team",
                    "id": 23,
                    "options": {
                        "default": "DOTA_GC_TEAM_GOOD_GUYS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "nexon_pc_bang_no",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "nexon_pc_bang_name",
                    "id": 25
                },
                {
                    "rule": "repeated",
                    "type": "CDOTALobbyMemberXPBonus",
                    "name": "xp_bonuses",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "rank_change",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "cameraman",
                    "id": 30
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "custom_game_product_ids",
                    "id": 31
                }
            ],
            "messages": [
                {
                    "name": "CDOTALobbyMemberXPBonus",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "xp_bonus",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "source_key",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CLobbyTeamDetails",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_tag",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "team_logo",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "team_base_logo",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "team_banner_logo",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "team_complete",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "guild_name",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "guild_tag",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "guild_logo",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "guild_base_logo",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "guild_banner_logo",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rank",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "rank_change",
                    "id": 16
                }
            ]
        },
        {
            "name": "CLobbyTimedRewardDetails",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_supply_crate",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_timed_drop",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "origin",
                    "id": 6
                }
            ]
        },
        {
            "name": "CLobbyBroadcastChannelInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "description",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "language_code",
                    "id": 4
                }
            ]
        },
        {
            "name": "CSODOTALobby",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "lobby_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CDOTALobbyMember",
                    "name": "members",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CDOTALobbyMember",
                    "name": "left_members",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "leader_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_id",
                    "id": 6,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_mode",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "pending_invites",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "State",
                    "name": "state",
                    "id": 4,
                    "options": {
                        "default": "UI"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "connect",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "LobbyType",
                    "name": "lobby_type",
                    "id": 12,
                    "options": {
                        "default": "INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_cheats",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "fill_with_bots",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "intro_mode",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_name",
                    "id": 16
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyTeamDetails",
                    "name": "team_details",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tutorial_lesson",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_game_id",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 21,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameState",
                    "name": "game_state",
                    "id": 22,
                    "options": {
                        "default": "DOTA_GAMERULES_STATE_INIT"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_spectators",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matchgroup",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "DOTA_CM_PICK",
                    "name": "cm_pick",
                    "id": 28,
                    "options": {
                        "default": "DOTA_CM_RANDOM"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_spectating",
                    "id": 31,
                    "options": {
                        "default": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "bot_difficulty",
                    "id": 36,
                    "options": {
                        "default": "BOT_DIFFICULTY_HARD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTAGameVersion",
                    "name": "game_version",
                    "id": 37,
                    "options": {
                        "default": "GAME_VERSION_CURRENT"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyTimedRewardDetails",
                    "name": "timed_reward_details",
                    "id": 38
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "pass_key",
                    "id": 39
                },
                {
                    "rule": "repeated",
                    "type": "DOTABotDifficulty",
                    "name": "bot_slot_difficulty",
                    "id": 41
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 42
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "penalty_level_radiant",
                    "id": 43,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "penalty_level_dire",
                    "id": 44,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "load_game_id",
                    "id": 45
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_type",
                    "id": 46
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_series_wins",
                    "id": 47
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_series_wins",
                    "id": 48
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "loot_generated",
                    "id": 49
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "loot_awarded",
                    "id": 50
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allchat",
                    "id": 51,
                    "options": {
                        "default": false
                    }
                },
                {
                    "rule": "optional",
                    "type": "LobbyDotaTVDelay",
                    "name": "dota_tv_delay",
                    "id": 53,
                    "options": {
                        "default": "LobbyDotaTV_10"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_game_mode",
                    "id": 54
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_map_name",
                    "id": 55
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "custom_difficulty",
                    "id": 56
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "lan",
                    "id": 57
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyBroadcastChannelInfo",
                    "name": "broadcast_channel_info",
                    "id": 58
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_leaver_accountid",
                    "id": 59
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_id",
                    "id": 60
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_priority",
                    "id": 61
                },
                {
                    "rule": "repeated",
                    "type": "CExtraMsg",
                    "name": "extra_messages",
                    "id": 62
                },
                {
                    "rule": "optional",
                    "type": "CDOTASaveGame",
                    "name": "save_game",
                    "id": 63
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "first_blood_happened",
                    "id": 65
                },
                {
                    "rule": "optional",
                    "type": "EMatchOutcome",
                    "name": "match_outcome",
                    "id": 70,
                    "options": {
                        "default": "k_EMatchOutcome_Unknown"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "mass_disconnect",
                    "id": 67
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 68
                },
                {
                    "rule": "repeated",
                    "type": "EIngameEvent",
                    "name": "active_ingame_events",
                    "id": 69
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "custom_min_players",
                    "id": 71
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "custom_max_players",
                    "id": 72
                },
                {
                    "rule": "optional",
                    "type": "PartnerAccountType",
                    "name": "partner_type",
                    "id": 73,
                    "options": {
                        "default": "PARTNER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lan_host_ping_to_server_region",
                    "id": 74
                },
                {
                    "rule": "optional",
                    "type": "DOTALobbyVisibility",
                    "name": "visibility",
                    "id": 75,
                    "options": {
                        "default": "DOTALobbyVisibility_Public"
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_crc",
                    "id": 76
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "custom_game_auto_created_lobby",
                    "id": 77
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "custom_game_timestamp",
                    "id": 80
                }
            ],
            "messages": [
                {
                    "name": "CExtraMsg",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "contents",
                            "id": 2
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "State",
                    "values": [
                        {
                            "name": "UI",
                            "id": 0
                        },
                        {
                            "name": "READYUP",
                            "id": 4
                        },
                        {
                            "name": "SERVERSETUP",
                            "id": 1
                        },
                        {
                            "name": "RUN",
                            "id": 2
                        },
                        {
                            "name": "POSTGAME",
                            "id": 3
                        },
                        {
                            "name": "NOTREADY",
                            "id": 5
                        },
                        {
                            "name": "SERVERASSIGN",
                            "id": 6
                        }
                    ]
                },
                {
                    "name": "LobbyType",
                    "values": [
                        {
                            "name": "INVALID",
                            "id": -1
                        },
                        {
                            "name": "CASUAL_MATCH",
                            "id": 0
                        },
                        {
                            "name": "PRACTICE",
                            "id": 1
                        },
                        {
                            "name": "TOURNAMENT",
                            "id": 2
                        },
                        {
                            "name": "COOP_BOT_MATCH",
                            "id": 4
                        },
                        {
                            "name": "LEGACY_TEAM_MATCH",
                            "id": 5
                        },
                        {
                            "name": "LEGACY_SOLO_QUEUE_MATCH",
                            "id": 6
                        },
                        {
                            "name": "COMPETITIVE_MATCH",
                            "id": 7
                        },
                        {
                            "name": "CASUAL_1V1_MATCH",
                            "id": 8
                        },
                        {
                            "name": "WEEKEND_TOURNEY",
                            "id": 9
                        },
                        {
                            "name": "LOCAL_BOT_MATCH",
                            "id": 10
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgLobbyEventPoints",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "AccountPoints",
                    "name": "account_points",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "AccountPoints",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "normal_points",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "premium_points",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "owned",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "favorite_team",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "favorite_team_level",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "points_held",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "premium_points_held",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "favorite_team_foil_level",
                            "id": 9
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGenericResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTABroadcastNotification",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAPCBangTimedReward",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "persona",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "itemdef",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "pcbangname",
                    "id": 3
                }
            ]
        },
        {
            "name": "CAttribute_String",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "value",
                    "id": 1
                }
            ]
        },
        {
            "name": "CAttribute_ItemDynamicRecipeComponent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_quality",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_flags",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "attributes_string",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_count",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "items_fulfilled",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_rarity",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "lootlist",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "fulfilled_item_id",
                    "id": 9
                }
            ]
        },
        {
            "name": "CProtoItemHeroStatue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "status_effect_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sequence_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cycle",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "wearable",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "inscription",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "style",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_drop",
                    "id": 8
                }
            ]
        },
        {
            "name": "CProtoItemTeamShowcase",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "status_effect_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sequence_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cycle",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "wearable",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "inscription",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "style",
                    "id": 7
                }
            ]
        },
        {
            "name": "CProtoItemSocket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "attr_def_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "required_type",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "required_hero",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gem_def_index",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "not_tradable",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "required_item_slot",
                    "id": 7
                }
            ]
        },
        {
            "name": "CProtoItemSocket_Empty",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                }
            ]
        },
        {
            "name": "CProtoItemSocket_Effect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "effect",
                    "id": 2
                }
            ]
        },
        {
            "name": "CProtoItemSocket_Color",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "red",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "green",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "blue",
                    "id": 4
                }
            ]
        },
        {
            "name": "CProtoItemSocket_Strange",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "strange_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "strange_value",
                    "id": 3
                }
            ]
        },
        {
            "name": "CProtoItemSocket_Spectator",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "games_viewed",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "corporation_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 5
                }
            ]
        },
        {
            "name": "CProtoItemSocket_AssetModifier",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "asset_modifier",
                    "id": 2
                }
            ]
        },
        {
            "name": "CProtoItemSocket_AssetModifier_DESERIALIZE_FROM_STRING_ONLY",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "asset_modifier",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "anim_modifier",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability_effect",
                    "id": 4
                }
            ]
        },
        {
            "name": "CProtoItemSocket_Autograph",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "autograph",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "autograph_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CProtoItemSocket_StaticVisuals",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CProtoItemSocket",
                    "name": "socket",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMatchPlayerAbilityUpgrade",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMatchAdditionalUnitInventory",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "unit_name",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "items",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMatchHeroSelectEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_pick",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAProcessFantasyScheduledEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timestamp",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "season",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reference_data",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAHasItemQuery",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAHasItemResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_item",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAHasItemDefsQuery",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "itemdef_ids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAHasItemDefsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_items",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAConsumeFantasyTicket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAConsumeFantasyTicketFailure",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCToGCFantasySetMatchLeague",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CSODOTAMapLocationState",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "location_id",
                    "id": 2,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "completed",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgNexonPartnerUpdate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "messagetype",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timeremaining",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "terminate",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgMakeOffering",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestOfferings",
            "fields": []
        },
        {
            "name": "CMsgRequestOfferingsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "NewYearsOffering",
                    "name": "offerings",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "completed",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "NewYearsOffering",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "def_index",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "item_id",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgLeagueAdminList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPerfectWorldUserLookupRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "user_name",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPerfectWorldUserLookupResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResultCode",
                    "name": "result_code",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS_ACCOUNT_FOUND"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "EResultCode",
                    "values": [
                        {
                            "name": "SUCCESS_ACCOUNT_FOUND",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNKNOWN",
                            "id": 1
                        },
                        {
                            "name": "ERROR_USER_NAME_WRONG_FORMAT",
                            "id": 2
                        },
                        {
                            "name": "ERROR_NO_PERFECT_WORLD_ACCOUNT_FOUND",
                            "id": 3
                        },
                        {
                            "name": "ERROR_NO_LINKED_STEAM_ACCOUNT_FOUND",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CCompendiumTimestampedData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gpm",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "xpm",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "kills",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "deaths",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "item_purchases",
                    "id": 6
                }
            ]
        },
        {
            "name": "CCompendiumGameTimeline",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CCompendiumTimestampedData",
                    "name": "data",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "tags",
                    "id": 2
                }
            ]
        },
        {
            "name": "CCompendiumGameList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CCompendiumGameTimeline",
                    "name": "games",
                    "id": 1
                }
            ]
        },
        {
            "name": "CAdditionalEquipSlot",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "class_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTARedeemItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "currency_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "purchase_def",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTARedeemItemResponse",
            "fields": []
        },
        {
            "name": "CMsgDOTACombatLogEntry",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTA_COMBATLOG_TYPES",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "DOTA_COMBATLOG_DAMAGE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_source_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "attacker_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "damage_source_name",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "inflictor_name",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_attacker_illusion",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_attacker_hero",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_target_illusion",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_target_hero",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_visible_radiant",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_visible_dire",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "value",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "health",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "timestamp",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "stun_duration",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "slow_duration",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_ability_toggle_on",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_ability_toggle_off",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability_level",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "location_x",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "location_y",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gold_reason",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "timestamp_raw",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "modifier_duration",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "xp_reason",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_hits",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "attacker_team",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_team",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "obs_wards_placed",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assist_player0",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assist_player1",
                    "id": 32
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assist_player2",
                    "id": 33
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assist_player3",
                    "id": 34
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "stack_count",
                    "id": 35
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "hidden_modifier",
                    "id": 36
                }
            ]
        },
        {
            "name": "CMsgDOTAProfileCard",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "background_def_index",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "Slot",
                    "name": "slots",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Slot",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "slot_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "Trophy",
                            "name": "trophy",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "Stat",
                            "name": "stat",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "Item",
                            "name": "item",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "Hero",
                            "name": "hero",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "Emoticon",
                            "name": "emoticon",
                            "id": 6
                        }
                    ],
                    "messages": [
                        {
                            "name": "Trophy",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "trophy_id",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "trophy_score",
                                    "id": 2
                                }
                            ]
                        },
                        {
                            "name": "Stat",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "EStatID",
                                    "name": "stat_id",
                                    "id": 1,
                                    "options": {
                                        "default": "k_eStat_SoloRank"
                                    }
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "stat_score",
                                    "id": 2
                                }
                            ]
                        },
                        {
                            "name": "Item",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "bytes",
                                    "name": "serialized_item",
                                    "id": 1
                                }
                            ]
                        },
                        {
                            "name": "Hero",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_id",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_wins",
                                    "id": 2
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_losses",
                                    "id": 3
                                }
                            ]
                        },
                        {
                            "name": "Emoticon",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "emoticon_id",
                                    "id": 1
                                }
                            ]
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EStatID",
                    "values": [
                        {
                            "name": "k_eStat_SoloRank",
                            "id": 1
                        },
                        {
                            "name": "k_eStat_PartyRank",
                            "id": 2
                        },
                        {
                            "name": "k_eStat_Wins",
                            "id": 3
                        },
                        {
                            "name": "k_eStat_Commends",
                            "id": 4
                        },
                        {
                            "name": "k_eStat_GamesPlayed",
                            "id": 5
                        },
                        {
                            "name": "k_eStat_FirstMatchDate",
                            "id": 6
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToClientNewBloomTimingUpdated",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_active",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "next_transition_time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bonus_amount",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "standby_duration",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "transition_time",
                    "id": 5
                }
            ]
        },
        {
            "name": "CSODOTAPlayerChallenge",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 2,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_id",
                    "id": 3,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "challenge_type",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "int_param_0",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "int_param_1",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "created_time",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "completed",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sequence_id",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "challenge_tier",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 11
                }
            ],
            "enums": [
                {
                    "name": "EFlags",
                    "values": [
                        {
                            "name": "eFlag_InstantRerollUncompleted",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientToGCRerollPlayerChallenge",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sequence_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCRerollPlayerChallengeResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "eResult_Success"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "eResult_Success",
                            "id": 0
                        },
                        {
                            "name": "eResult_Dropped",
                            "id": 1
                        },
                        {
                            "name": "eResult_NotFound",
                            "id": 2
                        },
                        {
                            "name": "eResult_CantReroll",
                            "id": 3
                        },
                        {
                            "name": "eResult_ServerError",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCTopCustomGamesList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "top_custom_games",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTARealtimeGameStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "MatchDetails",
                    "name": "match",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "TeamDetails",
                    "name": "teams",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "BuildingDetails",
                    "name": "buildings",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "GraphData",
                    "name": "graph_data",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "delta_frame",
                    "id": 5
                }
            ],
            "messages": [
                {
                    "name": "TeamDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_number",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "team_name",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "team_logo",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "score",
                            "id": 5
                        },
                        {
                            "rule": "repeated",
                            "type": "PlayerDetails",
                            "name": "players",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "only_team",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "cheers",
                            "id": 8
                        }
                    ]
                },
                {
                    "name": "ItemDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "time",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "sold",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "stackcount",
                            "id": 5
                        }
                    ]
                },
                {
                    "name": "AbilityDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "level",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "HeroToHeroStats",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "victimid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "kills",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "assists",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "AbilityList",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "PlayerDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "accountid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "playerid",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "heroid",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "healthpoints",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "maxhealthpoints",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "healthregenrate",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "manapoints",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "maxmanapoints",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "manaregenrate",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "base_strength",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "base_agility",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "base_intelligence",
                            "id": 14
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "base_armor",
                            "id": 15
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "base_movespeed",
                            "id": 16
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "base_damage",
                            "id": 17
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "strength",
                            "id": 18
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "agility",
                            "id": 19
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "intelligence",
                            "id": 20
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "armor",
                            "id": 21
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "movespeed",
                            "id": 22
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "damage",
                            "id": 23
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_damage",
                            "id": 24
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tower_damage",
                            "id": 25
                        },
                        {
                            "rule": "repeated",
                            "type": "AbilityDetails",
                            "name": "abilities",
                            "id": 26
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "level",
                            "id": 27
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "kill_count",
                            "id": 28
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "death_count",
                            "id": 29
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "assists_count",
                            "id": 30
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "denies_count",
                            "id": 31
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "lh_count",
                            "id": 32
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_healing",
                            "id": 33
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold_per_min",
                            "id": 34
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "xp_per_min",
                            "id": 35
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "net_gold",
                            "id": 36
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold",
                            "id": 37
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "x",
                            "id": 38
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "y",
                            "id": 39
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "respawn_time",
                            "id": 40
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "ultimate_cooldown",
                            "id": 41
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "has_buyback",
                            "id": 42
                        },
                        {
                            "rule": "repeated",
                            "type": "ItemDetails",
                            "name": "items",
                            "id": 43
                        },
                        {
                            "rule": "repeated",
                            "type": "ItemDetails",
                            "name": "stashitems",
                            "id": 44
                        },
                        {
                            "rule": "repeated",
                            "type": "ItemDetails",
                            "name": "itemshoppinglist",
                            "id": 45
                        },
                        {
                            "rule": "repeated",
                            "type": "AbilityList",
                            "name": "levelpoints",
                            "id": 46
                        },
                        {
                            "rule": "repeated",
                            "type": "HeroToHeroStats",
                            "name": "hero_to_hero_stats",
                            "id": 47
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "has_ultimate",
                            "id": 48
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "has_ultimate_mana",
                            "id": 49
                        }
                    ]
                },
                {
                    "name": "BuildingDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "heading",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "lane",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tier",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "type",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "x",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "y",
                            "id": 8
                        }
                    ]
                },
                {
                    "name": "KillDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "player_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "death_time",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "killer_player_id",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "BroadcasterDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "player_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "selected_hero",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "selected_graph",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "PickBanDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "MatchDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "server_steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "matchid",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "time_of_day",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "is_nightstalker_night",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "game_time",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "teamid_radiant",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "teamid_dire",
                            "id": 9
                        },
                        {
                            "rule": "repeated",
                            "type": "PickBanDetails",
                            "name": "picks",
                            "id": 10
                        },
                        {
                            "rule": "repeated",
                            "type": "PickBanDetails",
                            "name": "bans",
                            "id": 11
                        },
                        {
                            "rule": "repeated",
                            "type": "KillDetails",
                            "name": "kills",
                            "id": 12
                        },
                        {
                            "rule": "repeated",
                            "type": "BroadcasterDetails",
                            "name": "broadcasters",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "game_mode",
                            "id": 14
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "league_id",
                            "id": 15
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "single_team",
                            "id": 16
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "cheers_peak",
                            "id": 17
                        }
                    ]
                },
                {
                    "name": "GraphData",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "int32",
                            "name": "graph_gold",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "int32",
                            "name": "graph_xp",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "int32",
                            "name": "graph_kill",
                            "id": 3
                        },
                        {
                            "rule": "repeated",
                            "type": "int32",
                            "name": "graph_tower",
                            "id": 4
                        },
                        {
                            "rule": "repeated",
                            "type": "int32",
                            "name": "graph_rax",
                            "id": 5
                        },
                        {
                            "rule": "repeated",
                            "type": "TeamLocationStats",
                            "name": "team_loc_stats",
                            "id": 6
                        }
                    ],
                    "messages": [
                        {
                            "name": "LocationStats",
                            "fields": [
                                {
                                    "rule": "repeated",
                                    "type": "int32",
                                    "name": "stats",
                                    "id": 1
                                }
                            ]
                        },
                        {
                            "name": "TeamLocationStats",
                            "fields": [
                                {
                                    "rule": "repeated",
                                    "type": "LocationStats",
                                    "name": "loc_stats",
                                    "id": 1
                                }
                            ]
                        }
                    ],
                    "enums": [
                        {
                            "name": "eStat",
                            "values": [
                                {
                                    "name": "CreepGoldEarned",
                                    "id": 0
                                },
                                {
                                    "name": "KillGoldEarned",
                                    "id": 1
                                },
                                {
                                    "name": "DeathAndBuybackGoldLost",
                                    "id": 2
                                },
                                {
                                    "name": "XPEarned",
                                    "id": 3
                                }
                            ]
                        },
                        {
                            "name": "eLocation",
                            "values": [
                                {
                                    "name": "BotLane",
                                    "id": 0
                                },
                                {
                                    "name": "MidLane",
                                    "id": 1
                                },
                                {
                                    "name": "TopLane",
                                    "id": 2
                                },
                                {
                                    "name": "Jungle",
                                    "id": 3
                                },
                                {
                                    "name": "Ancients",
                                    "id": 4
                                },
                                {
                                    "name": "Other",
                                    "id": 5
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTARealtimeGameStatsTerse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "MatchDetails",
                    "name": "match",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "TeamDetails",
                    "name": "teams",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "BuildingDetails",
                    "name": "buildings",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "GraphData",
                    "name": "graph_data",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "delta_frame",
                    "id": 5
                }
            ],
            "messages": [
                {
                    "name": "TeamDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_number",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "team_name",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "team_logo",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "score",
                            "id": 5
                        },
                        {
                            "rule": "repeated",
                            "type": "PlayerDetails",
                            "name": "players",
                            "id": 6
                        }
                    ]
                },
                {
                    "name": "PlayerDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "accountid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "playerid",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "heroid",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "level",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "kill_count",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "death_count",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "assists_count",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "denies_count",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "lh_count",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "x",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "y",
                            "id": 14
                        }
                    ]
                },
                {
                    "name": "BuildingDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "heading",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "type",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "lane",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tier",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "x",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "y",
                            "id": 7
                        }
                    ]
                },
                {
                    "name": "MatchDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "server_steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "matchid",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "game_time",
                            "id": 4
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "steam_broadcaster_account_ids",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "game_mode",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "league_id",
                            "id": 8
                        }
                    ]
                },
                {
                    "name": "GraphData",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "int32",
                            "name": "graph_gold",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgStartFindingMatch",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matchgroups",
                    "id": 2,
                    "options": {
                        "default": 4294967295
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_modes",
                    "id": 4,
                    "options": {
                        "default": 4294967295
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "bot_difficulty",
                    "id": 5,
                    "options": {
                        "default": "BOT_DIFFICULTY_HARD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "MatchType",
                    "name": "match_type",
                    "id": 6,
                    "options": {
                        "default": "MATCH_TYPE_CASUAL"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matchlanguages",
                    "id": 7,
                    "options": {
                        "default": 4294967295
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "map_preference",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "MatchLanguages",
                    "name": "game_language_enum",
                    "id": 10,
                    "options": {
                        "default": "MATCH_LANGUAGE_INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_language_name",
                    "id": 11
                }
            ]
        },
        {
            "name": "CMsgStopFindingMatch",
            "fields": []
        },
        {
            "name": "CMsgReadyUp",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTALobbyReadyState",
                    "name": "state",
                    "id": 1,
                    "options": {
                        "default": "DOTALobbyReadyState_UNDECLARED"
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "ready_up_key",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CDOTAClientHardwareSpecs",
                    "name": "hardware_specs",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgReadyUpStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "accepted_ids",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "declined_ids",
                    "id": 3
                }
            ]
        },
        {
            "name": "CSourceTVGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_public_addr",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_private_addr",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_port",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "good_players",
                    "id": 14
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "bad_players",
                    "id": 15
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "other_players",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_name",
                    "id": 7
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyTeamDetails",
                    "name": "team_details",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_spectators",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_game_id",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tower_state",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "tv_broadcast_time",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "game_time",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_steamid",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameMode",
                    "name": "game_mode",
                    "id": 21,
                    "options": {
                        "default": "DOTA_GAMEMODE_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lobby_type",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "average_rank",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_kills",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_kills",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "barracks_state",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "group_id",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "engine",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "broadcast_delay",
                    "id": 32
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSourceTVGameSmall",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "activate_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "deactivate_time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "server_steam_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "lobby_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lobby_type",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "game_time",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "delay",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spectators",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_mode",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "average_mmr",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "engine",
                    "id": 12
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "hero_ids",
                    "id": 13
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "steam_ids",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name_radiant",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name_dire",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "sort_score",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "last_update_time",
                    "id": 18
                }
            ]
        },
        {
            "name": "CMsgSourceTVGamesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CSourceTVGame",
                    "name": "games",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_total_games",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgFindSourceTVGames",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_games",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "heroid",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "team_game",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgClientToGCFindTopSourceTVGames",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_game",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_list_index",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "lobby_ids",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgGCToClientFindTopSourceTVGamesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_game",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_games",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_list_index",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "CSourceTVGameSmall",
                    "name": "game_list",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "specific_games",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgClientToGCTopLeagueMatchesRequest",
            "fields": []
        },
        {
            "name": "CMsgClientToGCTopFriendMatchesRequest",
            "fields": []
        },
        {
            "name": "CMsgClientToGCTopPubMatchesRequest",
            "fields": []
        },
        {
            "name": "CMsgGCToClientTopMatchesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Type",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "LEAGUES"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAMatch",
                    "name": "matches",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Type",
                    "values": [
                        {
                            "name": "LEAGUES",
                            "id": 1
                        },
                        {
                            "name": "FRIENDS",
                            "id": 2
                        },
                        {
                            "name": "PUBS",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientToGCFindTopMatches",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_game",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "friend_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "friend_list",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "league_list",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgGCToClientFindTopLeagueMatchesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_game",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "match_ids",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAMatch",
                    "name": "matches",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSpectateFriendGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSpectateFriendGameResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_steamid",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgAbandonCurrentGame",
            "fields": []
        },
        {
            "name": "CMsgClientSuspended",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_end",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbySetDetails",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_name",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyTeamDetails",
                    "name": "team_details",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_mode",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "DOTA_CM_PICK",
                    "name": "cm_pick",
                    "id": 6,
                    "options": {
                        "default": "DOTA_CM_RANDOM"
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "bot_difficulty",
                    "id": 9,
                    "options": {
                        "default": "BOT_DIFFICULTY_MEDIUM"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_cheats",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "fill_with_bots",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "intro_mode",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_spectating",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "DOTAGameVersion",
                    "name": "game_version",
                    "id": 14,
                    "options": {
                        "default": "GAME_VERSION_CURRENT"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "pass_key",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "penalty_level_radiant",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "penalty_level_dire",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "load_game_id",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_type",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_series_wins",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_series_wins",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allchat",
                    "id": 23,
                    "options": {
                        "default": false
                    }
                },
                {
                    "rule": "optional",
                    "type": "LobbyDotaTVDelay",
                    "name": "dota_tv_delay",
                    "id": 24,
                    "options": {
                        "default": "LobbyDotaTV_120"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "lan",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_game_mode",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_map_name",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "custom_difficulty",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "custom_min_players",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "custom_max_players",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lan_host_ping_to_server_region",
                    "id": 32
                },
                {
                    "rule": "optional",
                    "type": "DOTALobbyVisibility",
                    "name": "visibility",
                    "id": 33,
                    "options": {
                        "default": "DOTALobbyVisibility_Public"
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_crc",
                    "id": 34
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "custom_game_timestamp",
                    "id": 37
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyCreate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_game",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_game_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "pass_key",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgPracticeLobbySetDetails",
                    "name": "lobby_details",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "SaveGame",
                    "name": "save_game",
                    "id": 8
                }
            ],
            "messages": [
                {
                    "name": "SaveGame",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "data",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "version",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "signature",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbySetTeamSlot",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTA_GC_TEAM",
                    "name": "team",
                    "id": 1,
                    "options": {
                        "default": "DOTA_GC_TEAM_GOOD_GUYS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "bot_difficulty",
                    "id": 3,
                    "options": {
                        "default": "BOT_DIFFICULTY_PASSIVE"
                    }
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbySetCoach",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTA_GC_TEAM",
                    "name": "team",
                    "id": 1,
                    "options": {
                        "default": "DOTA_GC_TEAM_GOOD_GUYS"
                    }
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyJoinBroadcastChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "channel",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "preferred_description",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "preferred_country_code",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "preferred_language_code",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyCloseBroadcastChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "channel",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyToggleBroadcastChannelCameramanStatus",
            "fields": []
        },
        {
            "name": "CMsgPracticeLobbyKick",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyKickFromTeam",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyLeave",
            "fields": []
        },
        {
            "name": "CMsgPracticeLobbyLaunch",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgApplyTeamToPracticeLobby",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClearPracticeLobbyTeam",
            "fields": []
        },
        {
            "name": "CMsgPracticeLobbyList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_games",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "pass_key",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "region",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameMode",
                    "name": "game_mode",
                    "id": 4,
                    "options": {
                        "default": "DOTA_GAMEMODE_NONE"
                    }
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyListResponseEntry",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_game_id",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyMember",
                    "name": "members",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "requires_pass_key",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leader_account_id",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "guild_logo",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_game_mode",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameMode",
                    "name": "game_mode",
                    "id": 12,
                    "options": {
                        "default": "DOTA_GAMEMODE_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "friend_present",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "players",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_map_name",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_player_count",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lan_host_ping_to_server_region",
                    "id": 18
                }
            ],
            "messages": [
                {
                    "name": "CLobbyMember",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "player_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyListResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_games",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgPracticeLobbyListResponseEntry",
                    "name": "lobbies",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgLobbyList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 1,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameMode",
                    "name": "game_mode",
                    "id": 2,
                    "options": {
                        "default": "DOTA_GAMEMODE_NONE"
                    }
                }
            ]
        },
        {
            "name": "CMsgLobbyListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgPracticeLobbyListResponseEntry",
                    "name": "lobbies",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyJoin",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "pass_key",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_crc",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "custom_game_timestamp",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgPracticeLobbyJoinResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTAJoinLobbyResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "DOTA_JOIN_RESULT_SUCCESS"
                    }
                }
            ]
        },
        {
            "name": "CMsgFriendPracticeLobbyListRequest",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "friends",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgFriendPracticeLobbyListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgPracticeLobbyListResponseEntry",
                    "name": "lobbies",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGuildmatePracticeLobbyListRequest",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "guilds",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGuildmatePracticeLobbyListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgPracticeLobbyListResponseEntry",
                    "name": "lobbies",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgJoinableCustomGameModesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgJoinableCustomGameModesResponseEntry",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lobby_count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_count",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgJoinableCustomGameModesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgJoinableCustomGameModesResponseEntry",
                    "name": "game_modes",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgJoinableCustomLobbiesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgJoinableCustomLobbiesResponseEntry",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "lobby_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "member_count",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leader_account_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "leader_name",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_map_name",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_player_count",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lan_host_ping_to_server_region",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_pass_key",
                    "id": 11
                }
            ]
        },
        {
            "name": "CMsgJoinableCustomLobbiesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgJoinableCustomLobbiesResponseEntry",
                    "name": "lobbies",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgQuickJoinCustomLobby",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgPracticeLobbySetDetails",
                    "name": "create_lobby_details",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_any_map",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "RegionPing",
                    "name": "region_pings",
                    "id": 6
                }
            ],
            "messages": [
                {
                    "name": "RegionPing",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "server_region",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "ping",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "region_code",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgQuickJoinCustomLobbyResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTAJoinLobbyResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "DOTA_JOIN_RESULT_SUCCESS"
                    }
                }
            ]
        },
        {
            "name": "CMsgBotGameCreate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "difficulty",
                    "id": 3,
                    "options": {
                        "default": "BOT_DIFFICULTY_PASSIVE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GC_TEAM",
                    "name": "team",
                    "id": 4,
                    "options": {
                        "default": "DOTA_GC_TEAM_GOOD_GUYS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_mode",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgCustomGameCreate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "difficulty",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_mode",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "map",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgEventGameCreate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "search_key",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "difficulty",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "game_mode",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "map",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgRequestInternationalTicket",
            "fields": []
        },
        {
            "name": "CMsgBalancedShuffleLobby",
            "fields": []
        },
        {
            "name": "CMsgInitialQuestionnaireResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "initial_skill",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTATournament",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Team",
                    "name": "teams",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Game",
                    "name": "games",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "gid",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "ETournamentType",
                    "name": "tournament_type",
                    "id": 5,
                    "options": {
                        "default": "k_ETournamentType_Unknown"
                    }
                },
                {
                    "rule": "optional",
                    "type": "ETournamentTemplate",
                    "name": "tournament_template",
                    "id": 6,
                    "options": {
                        "default": "k_ETournamentTemplate_None"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_time",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "ETournamentState",
                    "name": "state",
                    "id": 9,
                    "options": {
                        "default": "k_ETournamentState_Unknown"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "Node",
                    "name": "nodes",
                    "id": 10
                }
            ],
            "messages": [
                {
                    "name": "Team",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "team_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "team_abbrev",
                            "id": 3
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "players",
                            "id": 4,
                            "options": {
                                "packed": true
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "seed",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "team_logo",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "country_code",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "node_or_state",
                            "id": 8
                        }
                    ]
                },
                {
                    "name": "Game",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "game_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "good_team_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "bad_team_id",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "good_team_seed",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "bad_team_seed",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "lobby_id",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "match_id",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "game_name",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "live_stream",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "message",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "results_final",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "ETournamentGameState",
                            "name": "state",
                            "id": 14,
                            "options": {
                                "default": "k_ETournamentGameState_Unknown"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "node_id",
                            "id": 15
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "start_time",
                            "id": 16
                        }
                    ]
                },
                {
                    "name": "Node",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "node_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_seed_a",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_seed_b",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "winner_node",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "loser_node",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_type",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "ETournamentNodeState",
                            "name": "node_state",
                            "id": 8,
                            "options": {
                                "default": "k_ETournamentNodeState_Unknown"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_id",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "start_time",
                            "id": 16
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATournamentRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "client_tournament_gid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTATournamentResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTATournament",
                    "name": "tournament",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAClearTournamentGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAMatch",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "good_guys_win",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "duration",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "startTime",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "players",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "tower_status",
                    "id": 8
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "barracks_status",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cluster",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_blood_time",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "replay_salt",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "server_ip",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_port",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lobby_type",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "human_players",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "average_skill",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "game_balance",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_team_id",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_team_id",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "radiant_team_name",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "dire_team_name",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "radiant_team_logo",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "dire_team_logo",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_team_complete",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_team_complete",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "positive_votes",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "negative_votes",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameMode",
                    "name": "game_mode",
                    "id": 31,
                    "options": {
                        "default": "DOTA_GAMEMODE_NONE"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CMatchHeroSelectEvent",
                    "name": "picks_bans",
                    "id": 32
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_seq_num",
                    "id": 33
                },
                {
                    "rule": "optional",
                    "type": "ReplayState",
                    "name": "replay_state",
                    "id": 34,
                    "options": {
                        "default": "REPLAY_AVAILABLE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_guild_id",
                    "id": 35
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_guild_id",
                    "id": 36
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "radiant_team_tag",
                    "id": 37
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "dire_team_tag",
                    "id": 38
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_id",
                    "id": 39
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_type",
                    "id": 40
                },
                {
                    "rule": "repeated",
                    "type": "BroadcasterChannel",
                    "name": "broadcaster_channels",
                    "id": 43
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "engine",
                    "id": 44
                },
                {
                    "rule": "optional",
                    "type": "CustomGameData",
                    "name": "custom_game_data",
                    "id": 45
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "player_slot",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_0",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_1",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_2",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_3",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_4",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_5",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "expected_team_contribution",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "scaled_metric",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "previous_rank",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "rank_change",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "solo_rank",
                            "id": 49
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "kills",
                            "id": 14
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "deaths",
                            "id": 15
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "assists",
                            "id": 16
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "leaver_status",
                            "id": 17
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold",
                            "id": 18
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "last_hits",
                            "id": 19
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "denies",
                            "id": 20
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold_per_min",
                            "id": 21
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "XP_per_min",
                            "id": 22
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold_spent",
                            "id": 23
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_damage",
                            "id": 24
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tower_damage",
                            "id": 25
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_healing",
                            "id": 26
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "level",
                            "id": 27
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_last_seen",
                            "id": 28
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "player_name",
                            "id": 29
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "support_ability_value",
                            "id": 30
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "feeding_detected",
                            "id": 32
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "search_rank",
                            "id": 34
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "search_rank_uncertainty",
                            "id": 35
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "rank_uncertainty_change",
                            "id": 36
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_play_count",
                            "id": 37
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "party_id",
                            "id": 38
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "scaled_kills",
                            "id": 39
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "scaled_deaths",
                            "id": 40
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "scaled_assists",
                            "id": 41
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "claimed_farm_gold",
                            "id": 42
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "support_gold",
                            "id": 43
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "claimed_denies",
                            "id": 44
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "claimed_misses",
                            "id": 45
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "misses",
                            "id": 46
                        },
                        {
                            "rule": "repeated",
                            "type": "CMatchPlayerAbilityUpgrade",
                            "name": "ability_upgrades",
                            "id": 47
                        },
                        {
                            "rule": "repeated",
                            "type": "CMatchAdditionalUnitInventory",
                            "name": "additional_units_inventory",
                            "id": 48
                        },
                        {
                            "rule": "optional",
                            "type": "CustomGameData",
                            "name": "custom_game_data",
                            "id": 50
                        }
                    ],
                    "messages": [
                        {
                            "name": "CustomGameData",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "dota_team",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "bool",
                                    "name": "winner",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "BroadcasterInfo",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "BroadcasterChannel",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "country_code",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "description",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "BroadcasterInfo",
                            "name": "broadcaster_infos",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "language_code",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "CustomGameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "custom_game_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "map_name",
                            "id": 2
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "ReplayState",
                    "values": [
                        {
                            "name": "REPLAY_AVAILABLE",
                            "id": 0
                        },
                        {
                            "name": "REPLAY_NOT_RECORDED",
                            "id": 1
                        },
                        {
                            "name": "REPLAY_EXPIRED",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAPlayerMatchHistory",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "match_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAMatchHistoryFilter",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "match_ids",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "newest_match_id_at_last_query",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_last_query",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTARequestMatches",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_mode",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "date_min",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "date_max",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matches_requested",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "start_at_match_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "min_players",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "request_id",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_games_only",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "SkillLevel",
                    "name": "skill",
                    "id": 17,
                    "options": {
                        "default": "Any"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 20
                }
            ],
            "enums": [
                {
                    "name": "SkillLevel",
                    "values": [
                        {
                            "name": "Any",
                            "id": 0
                        },
                        {
                            "name": "Normal",
                            "id": 1
                        },
                        {
                            "name": "High",
                            "id": 2
                        },
                        {
                            "name": "VeryHigh",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTARequestMatchesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAMatch",
                    "name": "matches",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Series",
                    "name": "series",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "request_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_results",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "results_remaining",
                    "id": 5
                }
            ],
            "messages": [
                {
                    "name": "Series",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "CMsgDOTAMatch",
                            "name": "matches",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_type",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAPopup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "PopupID",
                    "name": "id",
                    "id": 1,
                    "options": {
                        "default": "KICKED_FROM_LOBBY"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "custom_text",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "int_data",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "popup_data",
                    "id": 4
                }
            ],
            "enums": [
                {
                    "name": "PopupID",
                    "values": [
                        {
                            "name": "KICKED_FROM_LOBBY",
                            "id": 0
                        },
                        {
                            "name": "KICKED_FROM_PARTY",
                            "id": 1
                        },
                        {
                            "name": "KICKED_FROM_TEAM",
                            "id": 2
                        },
                        {
                            "name": "TEAM_WAS_DISBANDED",
                            "id": 3
                        },
                        {
                            "name": "TEAM_MATCHMAKE_ALREADY_MATCH",
                            "id": 4
                        },
                        {
                            "name": "TEAM_MATCHMAKE_ALREADY_FINDING",
                            "id": 5
                        },
                        {
                            "name": "TEAM_MATCHMAKE_FULL",
                            "id": 6
                        },
                        {
                            "name": "TEAM_MATCHMAKE_FAIL_ADD",
                            "id": 7
                        },
                        {
                            "name": "TEAM_MATCHMAKE_FAIL_ADD_CURRENT",
                            "id": 8
                        },
                        {
                            "name": "TEAM_MATCHMAKE_FAILED_TEAM_MEMBER",
                            "id": 9
                        },
                        {
                            "name": "TEAM_MATCHMAKE_ALREADY_GAME",
                            "id": 10
                        },
                        {
                            "name": "TEAM_MATCHMAKE_FAIL_GET_PARTY",
                            "id": 11
                        },
                        {
                            "name": "MATCHMAKING_DISABLED",
                            "id": 12
                        },
                        {
                            "name": "INVITE_DENIED",
                            "id": 13
                        },
                        {
                            "name": "PARTY_FULL",
                            "id": 14
                        },
                        {
                            "name": "MADE_ADMIN",
                            "id": 15
                        },
                        {
                            "name": "NEED_TO_PURCHASE",
                            "id": 16
                        },
                        {
                            "name": "SIGNON_MESSAGE",
                            "id": 17
                        },
                        {
                            "name": "GUILD_KICKED",
                            "id": 18
                        },
                        {
                            "name": "MATCHMAKING_REGION_OFFLINE",
                            "id": 19
                        },
                        {
                            "name": "TOO_MANY_MATCHGROUPS",
                            "id": 20
                        },
                        {
                            "name": "TOURNAMENT_GAME_NOT_FOUND",
                            "id": 21
                        },
                        {
                            "name": "TOURNAMENT_GAME_HAS_LOBBY_ID",
                            "id": 22
                        },
                        {
                            "name": "TOURNAMENT_GAME_HAS_MATCH_ID",
                            "id": 23
                        },
                        {
                            "name": "TOURNAMENT_GAME_HAS_NO_RADIANT_TEAM",
                            "id": 24
                        },
                        {
                            "name": "TOURNAMENT_GAME_HAS_NO_DIRE_TEAM",
                            "id": 25
                        },
                        {
                            "name": "TOURNAMENT_GAME_SQL_UPDATE_FAILED",
                            "id": 26
                        },
                        {
                            "name": "NOT_LEAGUE_ADMIN",
                            "id": 27
                        },
                        {
                            "name": "PARTY_NOT_VALID_TO_MM",
                            "id": 28
                        },
                        {
                            "name": "PARTY_NOT_VALID_TO_MM_COACHCOUNT",
                            "id": 29
                        },
                        {
                            "name": "PARTY_MEMBER_IN_ANOTHER_GAME",
                            "id": 30
                        },
                        {
                            "name": "PARTY_MEMBER_IN_LOW_PRIORITY",
                            "id": 31
                        },
                        {
                            "name": "CLIENT_OUT_OF_DATE",
                            "id": 32
                        },
                        {
                            "name": "COMPETITIVE_MM_NO_COACHES",
                            "id": 33
                        },
                        {
                            "name": "COMPETITIVE_MM_NO_LOW_PRIORITY",
                            "id": 34
                        },
                        {
                            "name": "COMPETITIVE_MM_NOT_UNLOCKED",
                            "id": 35
                        },
                        {
                            "name": "COMPETITIVE_MM_GAME_MODE_NOT_ALLOWED",
                            "id": 36
                        },
                        {
                            "name": "GAME_MODE_NOT_UNLOCKED",
                            "id": 37
                        },
                        {
                            "name": "SAVE_GAME_CORRUPT",
                            "id": 38
                        },
                        {
                            "name": "INSUFFICIENT_INGOTS",
                            "id": 39
                        },
                        {
                            "name": "COMPETITIVE_MM_NO_4STACKS",
                            "id": 40
                        },
                        {
                            "name": "COMPETITIVE_MM_PARTY_MMR_SPREAD_TOO_LARGE",
                            "id": 41
                        },
                        {
                            "name": "COMPETITIVE_MM_NOT_ENOUGH_SKILL_DATA_PLAY_MORE_CASUAL",
                            "id": 42
                        },
                        {
                            "name": "COMPETITIVE_MM_NOT_ENOUGH_SKILL_DATA_IN_PARTY",
                            "id": 43
                        },
                        {
                            "name": "PARTY_LEADER_JOINED_LOBBY",
                            "id": 44
                        },
                        {
                            "name": "MM_1V1_NO_PARTIES",
                            "id": 45
                        },
                        {
                            "name": "MM_1V1_NO_LOW_PRIORITY",
                            "id": 46
                        },
                        {
                            "name": "WEEKEND_TOURNEY_REGISTRATION_NOT_OPEN",
                            "id": 47
                        },
                        {
                            "name": "WEEKEND_TOURNEY_UNMATCHED",
                            "id": 48
                        },
                        {
                            "name": "POST_MATCH_SURVEY",
                            "id": 49
                        },
                        {
                            "name": "TROPHY_AWARDED",
                            "id": 50
                        },
                        {
                            "name": "TROPHY_LEVEL_UP",
                            "id": 51
                        },
                        {
                            "name": "ALL_HERO_CHALLENGE_PROGRESS",
                            "id": 52
                        },
                        {
                            "name": "NEED_INITIAL_SKILL",
                            "id": 53
                        },
                        {
                            "name": "NEED_INITIAL_SKILL_IN_PARTY",
                            "id": 54
                        },
                        {
                            "name": "TARGET_ENGINE_MISMATCH",
                            "id": 55
                        },
                        {
                            "name": "VAC_NOT_VERIFIED",
                            "id": 56
                        },
                        {
                            "name": "KICKED_FROM_QUEUE_EVENT_STARTING",
                            "id": 57
                        },
                        {
                            "name": "KICKED_FROM_QUEUE_EVENT_ENDING",
                            "id": 58
                        },
                        {
                            "name": "EVENT_NO_LOW_PRIORITY",
                            "id": 59
                        },
                        {
                            "name": "MM_LOW_PRI_ONLY_CASUAL_AR",
                            "id": 60
                        },
                        {
                            "name": "CNY2015_ONCE_PER_ROUND",
                            "id": 61
                        },
                        {
                            "name": "LOBBY_FULL",
                            "id": 62
                        },
                        {
                            "name": "TI2015_POINTS_EARNED",
                            "id": 63
                        },
                        {
                            "name": "CUSTOM_GAME_INCORRECT_VERSION",
                            "id": 64
                        },
                        {
                            "name": "COMPETITIVE_MM_MMR_TOO_HIGH_S2",
                            "id": 65
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamMemberSDO",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "team_ids",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "profile_team_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTATeamAdminSDO",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "team_ids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTATeamMember",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_joined",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTATeam",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgDOTATeamMember",
                    "name": "members",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "tag",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "admin_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_created",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "disbanded",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "wins",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "losses",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rank",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "calibration_games_remaining",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "sponsor_logo",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fullgamesplayed",
                    "id": 17
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "leagues",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gamesplayed",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gamesplayedwithcurrentroster",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "teammatchmakinggamesplayed",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lastplayedgametime",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lastrenametime",
                    "id": 23
                }
            ]
        },
        {
            "name": "CMsgDOTACreateTeam",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "tag",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "sponsor_logo",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgDOTACreateTeamResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Result",
                    "name": "results",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_remaining",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "required_level",
                    "id": 4
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "INVALID",
                            "id": -1
                        },
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "NAME_EMPTY",
                            "id": 1
                        },
                        {
                            "name": "NAME_BAD_CHARACTERS",
                            "id": 2
                        },
                        {
                            "name": "NAME_TAKEN",
                            "id": 3
                        },
                        {
                            "name": "NAME_TOO_LONG",
                            "id": 4
                        },
                        {
                            "name": "TAG_EMPTY",
                            "id": 5
                        },
                        {
                            "name": "TAG_BAD_CHARACTERS",
                            "id": 6
                        },
                        {
                            "name": "TAG_TAKEN",
                            "id": 7
                        },
                        {
                            "name": "TAG_TOO_LONG",
                            "id": 8
                        },
                        {
                            "name": "CREATOR_BUSY",
                            "id": 9
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 10
                        },
                        {
                            "name": "CREATOR_TEAM_LIMIT_REACHED",
                            "id": 11
                        },
                        {
                            "name": "NO_LOGO",
                            "id": 12
                        },
                        {
                            "name": "CREATOR_TEAM_CREATION_COOLDOWN",
                            "id": 13
                        },
                        {
                            "name": "LOGO_UPLOAD_FAILED",
                            "id": 14
                        },
                        {
                            "name": "NAME_CHANGED_TOO_RECENTLY",
                            "id": 15
                        },
                        {
                            "name": "CREATOR_INSUFFICIENT_LEVEL",
                            "id": 16
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAEditTeam",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "tag",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "sponsor_logo",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgDOTAEditTeamLogo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "sponsor_logo",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAEditTeamLogoResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Result",
                    "name": "results",
                    "id": 1
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "INVALID",
                            "id": -1
                        },
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "CREATOR_BUSY",
                            "id": 9
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 10
                        },
                        {
                            "name": "NO_LOGO",
                            "id": 12
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAEditTeamDetails",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAEditTeamDetailsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Result",
                    "name": "results",
                    "id": 1
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "INVALID",
                            "id": -1
                        },
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "CREATOR_BUSY",
                            "id": 9
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 10
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTADisbandTeam",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTADisbandTeamResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "FAILURE",
                            "id": 1
                        },
                        {
                            "name": "FAILURE_NOT_EMPTY",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTARequestTeamData",
            "fields": []
        },
        {
            "name": "CMsgDOTARequestTeamDataResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTATeamData",
                    "name": "data",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "FAILURE",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "on_team",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "profile_team",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTATeam",
                    "name": "team",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTATeamProfileRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTATeamMemberProfileRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTATeamIDByNameRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTATeamIDByNameResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTATeamProfileResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTATeam",
                    "name": "team",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAProTeamListRequest",
            "fields": []
        },
        {
            "name": "CMsgDOTAProTeamListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "TeamEntry",
                    "name": "teams",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "TeamEntry",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "tag",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_created",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "logo",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "country_code",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "member_count",
                            "id": 6
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamInvite_InviterToGC",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTATeamInvite_GCImmediateResponseToInviter",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "invitee_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "required_level",
                    "id": 3
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "MEMBER_LIMIT",
                            "id": 1
                        },
                        {
                            "name": "INVITEE_NOT_AVAILABLE",
                            "id": 2
                        },
                        {
                            "name": "INVITEE_BUSY",
                            "id": 3
                        },
                        {
                            "name": "INVITEE_ALREADY_ON_THE_TEAM",
                            "id": 4
                        },
                        {
                            "name": "INVITEE_ALREADY_ON_TOO_MANY_TEAMS",
                            "id": 5
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 6
                        },
                        {
                            "name": "INVITEE_INSUFFICIENT_LEVEL",
                            "id": 7
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamInvite_GCRequestToInvitee",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "inviter_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_tag",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTATeamInvite_InviteeResponseToGC",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "JOIN"
                    }
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "JOIN",
                            "id": 0
                        },
                        {
                            "name": "REJECT",
                            "id": 1
                        },
                        {
                            "name": "TIMEOUT",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamInvite_GCResponseToInviter",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "JOINED"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "invitee_name",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "JOINED",
                            "id": 0
                        },
                        {
                            "name": "REJECTION",
                            "id": 1
                        },
                        {
                            "name": "TIMEOUT",
                            "id": 2
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamInvite_GCResponseToInvitee",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "FAILURE",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATeamOnProfile",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "enabled",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAKickTeamMember",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAKickTeamMemberResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "FAILURE",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTATransferTeamAdmin",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "new_admin_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTATransferTeamAdminResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "invitee_name",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "NOT_ADMIN",
                            "id": 1
                        },
                        {
                            "name": "ON_OTHER_TEAM",
                            "id": 2
                        },
                        {
                            "name": "ADMIN_OF_OTHER_TEAM",
                            "id": 3
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTALeaveTeam",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTALeaveTeamResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "FAILURE",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTABetaParticipation",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "access_rights",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAJoinChatChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "channel_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTAChatChannelType_t",
                    "name": "channel_type",
                    "id": 4,
                    "options": {
                        "default": "DOTAChannelType_Regional"
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTALeaveChatChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "channel_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAClientIgnoredUser",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ignored_account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAChatMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "channel_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "persona_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timestamp",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "suggest_invite_account_id",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "suggest_invite_name",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_draft_owner_account_id",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_draft_player_account_id",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "suggest_invite_to_lobby",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_points",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 13,
                    "options": {
                        "default": -1
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAChatMember",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "persona_name",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAJoinChatChannelResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "response",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "channel_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_members",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAChatMember",
                    "name": "members",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAChatChannelFullUpdate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAChatMember",
                    "name": "members",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAOtherJoinedChatChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "persona_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAOtherLeftChatChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAChatChannelMemberUpdate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "left_steam_ids",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "JoinedMember",
                    "name": "joined_members",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "JoinedMember",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "persona_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTARequestChatChannelList",
            "fields": []
        },
        {
            "name": "CMsgDOTARequestChatChannelListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "ChatChannel",
                    "name": "channels",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "ChatChannel",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "channel_name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_members",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "DOTAChatChannelType_t",
                            "name": "channel_type",
                            "id": 3,
                            "options": {
                                "default": "DOTAChannelType_Regional"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAChatGetUserList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAChatGetUserListResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Member",
                    "name": "members",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Member",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "persona_name",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAChatGetMemberCount",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "channel_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTAChatChannelType_t",
                    "name": "channel_type",
                    "id": 2,
                    "options": {
                        "default": "DOTAChannelType_Regional"
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAChatGetMemberCountResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "channel_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTAChatChannelType_t",
                    "name": "channel_type",
                    "id": 2,
                    "options": {
                        "default": "DOTAChannelType_Regional"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "member_count",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildSDO",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "tag",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_created",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_disbanded",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 8
                },
                {
                    "rule": "repeated",
                    "type": "Member",
                    "name": "members",
                    "id": 9
                },
                {
                    "rule": "repeated",
                    "type": "Invitation",
                    "name": "invitations",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "incremental",
                    "id": 12
                }
            ],
            "messages": [
                {
                    "name": "Member",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_joined",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "role",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "Invitation",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_sent",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id_sender",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildAuditSDO",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Entry",
                    "name": "entries",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Entry",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "event_index",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "action",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id_requestor",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id_target",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "reference_data_a",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "reference_data_b",
                            "id": 7
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAAccountGuildMembershipsSDO",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Membership",
                    "name": "memberships",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "Invitation",
                    "name": "invitations",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Membership",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "guild_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "role",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "Invitation",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "guild_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_sent",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id_sender",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildCreateRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "tag",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildCreateResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "EError",
                    "name": "errors",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "EError",
                    "values": [
                        {
                            "name": "UNSPECIFIED",
                            "id": 0
                        },
                        {
                            "name": "NAME_EMPTY",
                            "id": 1
                        },
                        {
                            "name": "NAME_BAD_CHARACTERS",
                            "id": 2
                        },
                        {
                            "name": "NAME_TOO_LONG",
                            "id": 3
                        },
                        {
                            "name": "NAME_TAKEN",
                            "id": 4
                        },
                        {
                            "name": "TAG_EMPTY",
                            "id": 5
                        },
                        {
                            "name": "TAG_BAD_CHARACTERS",
                            "id": 6
                        },
                        {
                            "name": "TAG_TOO_LONG",
                            "id": 7
                        },
                        {
                            "name": "ACCOUNT_TOO_MANY_GUILDS",
                            "id": 8
                        },
                        {
                            "name": "LOGO_UPLOAD_FAILED",
                            "id": 9
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildSetAccountRoleRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_role",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildSetAccountRoleResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        },
                        {
                            "name": "ERROR_NO_OTHER_LEADER",
                            "id": 3
                        },
                        {
                            "name": "ERROR_ACCOUNT_TOO_MANY_GUILDS",
                            "id": 4
                        },
                        {
                            "name": "ERROR_GUILD_TOO_MANY_MEMBERS",
                            "id": 5
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildInviteAccountRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildInviteAccountResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        },
                        {
                            "name": "ERROR_ACCOUNT_ALREADY_INVITED",
                            "id": 3
                        },
                        {
                            "name": "ERROR_ACCOUNT_ALREADY_IN_GUILD",
                            "id": 4
                        },
                        {
                            "name": "ERROR_ACCOUNT_TOO_MANY_INVITES",
                            "id": 5
                        },
                        {
                            "name": "ERROR_GUILD_TOO_MANY_INVITES",
                            "id": 6
                        },
                        {
                            "name": "ERROR_ACCOUNT_TOO_MANY_GUILDS",
                            "id": 7
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildCancelInviteRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildCancelInviteResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildUpdateDetailsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "base_logo",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "banner_logo",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildUpdateDetailsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGCToGCUpdateOpenGuildPartyRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "party_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "member_account_ids",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "description",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAGCToGCUpdateOpenGuildPartyResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "maintain_association",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAGCToGCDestroyOpenGuildPartyRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "party_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGCToGCDestroyOpenGuildPartyResponse",
            "fields": []
        },
        {
            "name": "CMsgDOTAPartySetOpenGuildRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "description",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAPartySetOpenGuildResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAJoinOpenGuildPartyRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "party_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAJoinOpenGuildPartyResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildOpenPartyRefresh",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "OpenParty",
                    "name": "open_parties",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "OpenParty",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "party_id",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "member_account_ids",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_created",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "description",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTARequestGuildData",
            "fields": []
        },
        {
            "name": "CMsgDOTAGuildInviteData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "invited_to_guild",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "guild_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "guild_tag",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "inviter",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "inviter_name",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "member_count",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildUpdateMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildEditLogoRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGuildEditLogoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "guild_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 2,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "NO_PERMISSION",
                            "id": 1
                        },
                        {
                            "name": "LOGO_UPLOAD_FAILED",
                            "id": 2
                        },
                        {
                            "name": "UNSPECIFIED_ERROR",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAReportsRemainingRequest",
            "fields": []
        },
        {
            "name": "CMsgDOTAReportsRemainingResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_positive_reports_remaining",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_negative_reports_remaining",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_positive_reports_total",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_negative_reports_total",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTASubmitPlayerReport",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "report_flags",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "comment",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTASubmitPlayerReportResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "report_flags",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAReportCountsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAReportCountsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leadership_count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "teaching_count",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "friendly_count",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "forgiving_count",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAKickedFromMatchmakingQueue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "MatchType",
                    "name": "match_type",
                    "id": 1,
                    "options": {
                        "default": "MATCH_TYPE_CASUAL"
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTARequestSaveGames",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTARequestSaveGamesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CDOTASaveGame",
                    "name": "save_games",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgWatchGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_steamid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "watch_server_steamid",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "lobby_id",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgCancelWatchGame",
            "fields": []
        },
        {
            "name": "CMsgWatchGameResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "WatchGameResult",
                    "name": "watch_game_result",
                    "id": 1,
                    "options": {
                        "default": "PENDING"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_public_addr",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_private_addr",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_port",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "game_server_steamid",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "watch_server_steamid",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "watch_tv_unique_secret_code",
                    "id": 7
                }
            ],
            "enums": [
                {
                    "name": "WatchGameResult",
                    "values": [
                        {
                            "name": "PENDING",
                            "id": 0
                        },
                        {
                            "name": "READY",
                            "id": 1
                        },
                        {
                            "name": "GAMESERVERNOTFOUND",
                            "id": 2
                        },
                        {
                            "name": "UNAVAILABLE",
                            "id": 3
                        },
                        {
                            "name": "CANCELLED",
                            "id": 4
                        },
                        {
                            "name": "INCOMPATIBLEVERSION",
                            "id": 5
                        },
                        {
                            "name": "MISSINGLEAGUESUBSCRIPTION",
                            "id": 6
                        },
                        {
                            "name": "LOBBYNOTFOUND",
                            "id": 7
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgPartyLeaderWatchGamePrompt",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "game_server_steamid",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgGCMatchDetailsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCMatchDetailsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTAMatch",
                    "name": "match",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTAMatchVote",
                    "name": "vote",
                    "id": 3,
                    "options": {
                        "default": "DOTAMatchVote_INVALID"
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAProfileRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "request_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "ESourceEngine",
                    "name": "engine",
                    "id": 3,
                    "options": {
                        "default": "k_ESE_Source1"
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAProfileResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CSODOTAGameAccountClient",
                    "name": "game_account_client",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAMatch",
                    "name": "latest_matches",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "PlayedHero",
                    "name": "heroes",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "player_name",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_tag",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "team_logo",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "ShowcaseHero",
                    "name": "showcase_hero",
                    "id": 9
                },
                {
                    "rule": "repeated",
                    "type": "LeaguePass",
                    "name": "league_passes",
                    "id": 10
                },
                {
                    "rule": "repeated",
                    "type": "EventTicket",
                    "name": "event_tickets",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "has_passport",
                    "id": 13
                },
                {
                    "rule": "repeated",
                    "type": "FeaturedItem",
                    "name": "featured_items",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "abandon_percent",
                    "id": 15
                }
            ],
            "messages": [
                {
                    "name": "PlayedHero",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "wins",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "ShowcaseHero",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "bytes",
                            "name": "object_data",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "LeaguePass",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "league_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_def",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "EventTicket",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "event_id",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "FeaturedItem",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "item_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "object_data",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "slot_index",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCSteamProfileRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCSteamProfileRequestResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAClearNotifySuccessfulReport",
            "fields": []
        },
        {
            "name": "CMsgDOTAWelcome",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_admin",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_broadcaster",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "store_item_hash",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timeplayedconsecutively",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_3rd_party_match_history",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "PartnerAccountType",
                    "name": "partner_account_type",
                    "id": 8,
                    "options": {
                        "default": "PARTNER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "banned_word_list_word_id",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "partner_account_state",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_time_played",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_ip_address",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "shutdownlawterminateminutes",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "banned_word_list_version",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "profile_private",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "currency",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bang_no",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "should_request_player_origin",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "compendium_unlocks",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gc_socache_file_version",
                    "id": 22
                },
                {
                    "rule": "repeated",
                    "type": "LocalizationDigest",
                    "name": "localization_digests",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_perfect_world_test_account",
                    "id": 24
                },
                {
                    "rule": "repeated",
                    "type": "EIngameEvent",
                    "name": "active_events",
                    "id": 25
                },
                {
                    "rule": "repeated",
                    "type": "CExtraMsg",
                    "name": "extra_messages",
                    "id": 26
                }
            ],
            "messages": [
                {
                    "name": "LocalizationDigest",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "context",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgSHA1Digest",
                            "name": "english_language_file_sha1",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgSHA1Digest",
                            "name": "client_language_file_sha1",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "CExtraMsg",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "contents",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CSODOTAGameHeroFavorites",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 2,
                    "options": {
                        "(key_field)": true
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAHeroFavoritesAdd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAHeroFavoritesRemove",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSetShowcaseHero",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "showcase_hero_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSetFeaturedItems",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "featured_item_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFeaturedItems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "featured_item_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "bytes",
                    "name": "object_data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgRequestLeagueInfo",
            "fields": []
        },
        {
            "name": "CLeague",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "live",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "lastgametime",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_pool_usd",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "compendium_is_public",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "content_version",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgResponseLeagueInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CLeague",
                    "name": "leagues",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAMatchVotes",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "PlayerVote",
                    "name": "votes",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PlayerVote",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "vote",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgCastMatchVote",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTAMatchVote",
                    "name": "vote",
                    "id": 2,
                    "options": {
                        "default": "DOTAMatchVote_INVALID"
                    }
                }
            ]
        },
        {
            "name": "CMsgRetrieveMatchVote",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "incremental",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgMatchVoteResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "DOTAMatchVote",
                    "name": "vote",
                    "id": 2,
                    "options": {
                        "default": "DOTAMatchVote_INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "positive_votes",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "negative_votes",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAHallOfFame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "week",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "FeaturedPlayer",
                    "name": "featured_players",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "FeaturedFarmer",
                    "name": "featured_farmer",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "FeaturedPlayer",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "average_scaled_metric",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_games",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "FeaturedFarmer",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold_per_min",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "match_id",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAHallOfFameRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "week",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAHallOfFameResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgDOTAHallOfFame",
                    "name": "hall_of_fame",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 2,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAHalloweenHighScoreRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "round",
                    "id": 1,
                    "options": {
                        "default": -1
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAHalloweenHighScoreResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "score",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTAMatch",
                    "name": "match",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "round",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAStorePromoPagesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version_seen",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAStorePromoPagesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "PromoPage",
                    "name": "pages",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "PromoPage",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "promo_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "title",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "url",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgLeagueScheduleBlockTeamInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgLeagueScheduleBlock",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "block_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "finals",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "comment",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "CMsgLeagueScheduleBlockTeamInfo",
                    "name": "teams",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgDOTALeague",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgLeagueScheduleBlock",
                    "name": "schedule",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTALeagueScheduleRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTALeagueScheduleResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgDOTALeague",
                    "name": "league",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 2,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTALeagueScheduleEdit",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgLeagueScheduleBlock",
                    "name": "schedule",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "delete_block",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTALeagueScheduleEditResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgDOTALeague",
                    "name": "league",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 2,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTALeaguesInMonthRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "month",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "year",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tier",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTALeaguesInMonthResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "month",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "year",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTALeague",
                    "name": "leagues",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgSockAddrList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed32",
                    "name": "ip",
                    "id": 1,
                    "options": {
                        "packed": true
                    }
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "port",
                    "id": 2,
                    "options": {
                        "packed": true
                    }
                }
            ]
        },
        {
            "name": "CMsgMatchmakingGroupServerSample",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgSockAddrList",
                    "name": "servers_by_group",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "servers_to_ping",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reply_odds",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reply_detailed_odds",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgClientGameserverPings",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "average_ping_by_group",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "PingDetail",
                    "name": "ping_details",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PingDetail",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "ip",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "port",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "ping",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAMatchmakingStatsRequest",
            "fields": []
        },
        {
            "name": "CMsgDOTAMatchmakingStatsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "searching_players_by_group",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "searching_players_by_group_source2",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "disabled_groups",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "disabled_groups_source2",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "CMsgMatchmakingGroupServerSample",
                    "name": "gameserver_sample",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgMatchmakingGroupServerSample",
                    "name": "gameserver_sample_source2",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "maintenance_alerts",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTASetMatchHistoryAccess",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_3rd_party_match_history",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTASetMatchHistoryAccessResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTANotifyAccountFlagsChange",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "accountid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_flags",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTASetProfilePrivacy",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "profile_private",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTASetProfilePrivacyResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgUpgradeLeagueItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgUpgradeLeagueItemResponse",
            "fields": []
        },
        {
            "name": "CMsgGCWatchDownloadedReplay",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTA_WatchReplayType",
                    "name": "watch_type",
                    "id": 2,
                    "options": {
                        "default": "DOTA_WATCH_REPLAY_NORMAL"
                    }
                }
            ]
        },
        {
            "name": "CMsgSetMapLocationState",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "location_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "completed",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSetMapLocationStateResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgResetMapLocations",
            "fields": []
        },
        {
            "name": "CMsgResetMapLocationsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                }
            ]
        },
        {
            "name": "CMsgRefreshPartnerAccountLink",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "partner_type",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientsRejoinChatChannels",
            "fields": []
        },
        {
            "name": "CMsgDOTASendFriendRecruits",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "recruits",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFriendRecruitsRequest",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFriendRecruitsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "FriendRecruitStatus",
                    "name": "recruits",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "FriendRecruitStatus",
                    "name": "recruiters",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "FriendRecruitStatus",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "status",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "levels_earned",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "bonus",
                            "id": 4
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFriendRecruitInviteAcceptDecline",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "accepted",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAPassportVoteTeamGuess",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "winner_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "runnerup_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAPassportVoteGenericSelection",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTA_2013PassportSelectionIndices",
                    "name": "selection_index",
                    "id": 1,
                    "options": {
                        "default": "PP13_SEL_ALLSTAR_PLAYER_0"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "selection",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAPassportStampedPlayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "stamp_level",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAPassportPlayerCardChallenge",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "challenge_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAPassportVote",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAPassportVoteTeamGuess",
                    "name": "team_votes",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAPassportVoteGenericSelection",
                    "name": "generic_selections",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAPassportStampedPlayer",
                    "name": "stamped_players",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAPassportPlayerCardChallenge",
                    "name": "player_card_challenges",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgPassportDataRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPassportDataResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 2,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTATournament",
                    "name": "international",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "east_qualifiers_predict_end_time",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "west_qualifiers_predict_end_time",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "allstar_match_end_time",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTAPassportVote",
                    "name": "league_guesses",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "east_qualifiers_winner_team_id",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "east_qualifiers_runner_up_team_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "west_qualifiers_winner_team_id",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "west_qualifiers_runner_up_team_id",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "passports_bought",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "original_purchaser_id",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_team_count",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_teamexpiration",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_teams_will_lock_at",
                    "id": 18
                }
            ]
        },
        {
            "name": "CMsgHeroPickStatsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matches_since_time",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgHeroPickStatPlayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "win",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gpm",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "kills",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "deaths",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assists",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgHeroPickStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_picks",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_wins",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_picks",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_wins",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "CMsgHeroPickStatPlayer",
                    "name": "player_pick",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgRequestLeaguePrizePool",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestLeaguePrizePoolResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_pool",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCGetHeroStandings",
            "fields": []
        },
        {
            "name": "CMsgGCGetHeroStandingsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Hero",
                    "name": "standings",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Hero",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "wins",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "losses",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorReservationsRequest",
            "fields": []
        },
        {
            "name": "CMsgGCItemEditorReservation",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorReservationsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgGCItemEditorReservation",
                    "name": "reservations",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorReserveItemDef",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "username",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorReserveItemDefResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "username",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorReleaseReservation",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "username",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorReleaseReservationResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "released",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorRequestLeagueInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCItemEditorLeagueInfoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "league_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "league_desc",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "league_url",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "revenue_url",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tier",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "location",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgDOTARewardTutorialPrizes",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "location_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tracking_only",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTALastHitChallengeHighScorePost",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "high_score",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTALastHitChallengeHighScoreRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTALastHitChallengeHighScoreResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "score",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgFlipLobbyTeams",
            "fields": []
        },
        {
            "name": "CMsgPresentedClientTerminateDlg",
            "fields": []
        },
        {
            "name": "CMsgGCLobbyUpdateBroadcastChannelInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "channel_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "description",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "language_code",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTARedeemEventPrize",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTARedeemEventPrizeResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "ResultCode",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "Success"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "remaining_points",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "remaining_premium_points",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 4
                }
            ],
            "enums": [
                {
                    "name": "ResultCode",
                    "values": [
                        {
                            "name": "Success",
                            "id": 0
                        },
                        {
                            "name": "ServerError",
                            "id": 1
                        },
                        {
                            "name": "InsufficientPoints",
                            "id": 2
                        },
                        {
                            "name": "PointsHeld",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAGetEventPoints",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGetEventPointsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_points",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_premium_points",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "points",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "premium_points",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "Action",
                    "name": "completed_actions",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "owned",
                    "id": 8
                }
            ],
            "messages": [
                {
                    "name": "Action",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "action_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "times_completed",
                            "id": 2,
                            "options": {
                                "default": 1
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTALiveLeagueGameUpdate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "live_league_games",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTACompendiumSelection",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "selection_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "selection",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTACompendiumSelectionResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "eresult",
                    "id": 1,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTACompendiumSelection",
                    "name": "extra_selections",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTACompendiumData",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgDOTACompendiumSelection",
                    "name": "selections",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTACompendiumDataRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTACompendiumDataResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 3,
                    "options": {
                        "default": 2
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTACompendiumData",
                    "name": "compendium_data",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAGetPlayerMatchHistory",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "start_at_match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "matches_requested",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "request_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "ESourceEngine",
                    "name": "engine",
                    "id": 6,
                    "options": {
                        "default": "k_ESE_Source1"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "include_practice_matches",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgDOTAGetPlayerMatchHistoryResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Match",
                    "name": "matches",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "request_id",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Match",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "match_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "start_time",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "winner",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "game_mode",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "rank_change",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "previous_rank",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "lobby_type",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "solo_rank",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "abandon",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "duration",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "engine",
                            "id": 12
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAStartDailyHeroChallenge",
            "fields": []
        },
        {
            "name": "CMsgGCNotificationsRequest",
            "fields": []
        },
        {
            "name": "CMsgGCNotificationsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "Notification",
                    "name": "notifications",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Notification",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "type",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "reference_a",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "reference_b",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "reference_c",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "message",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "unread",
                            "id": 8
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCNotificationsMarkReadRequest",
            "fields": []
        },
        {
            "name": "CMsgClientToGCMarkNotificationListRead",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "notification_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCLeagueAdminState",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "leagues",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "PrivateLeagueKeys",
                    "name": "keys",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PrivateLeagueKeys",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "leagueid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "privatekey",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCPlayerInfoRequest",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCPlayerInfoSubmit",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "country_code",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_role",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sponsor",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgGCPlayerInfoSubmitResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_INFO_LOCKED",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSerializedSOCache",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "file_version",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Cache",
                    "name": "caches",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gc_socache_file_version",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "TypeCache",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "bytes",
                            "name": "objects",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "service_id",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "Cache",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "id",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "Version",
                            "name": "versions",
                            "id": 3
                        },
                        {
                            "rule": "repeated",
                            "type": "TypeCache",
                            "name": "type_caches",
                            "id": 4
                        }
                    ],
                    "messages": [
                        {
                            "name": "Version",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "service",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint64",
                                    "name": "version",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgRequestWeekendTourneySchedule",
            "fields": []
        },
        {
            "name": "CMsgWeekendTourneySchedule",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Division",
                    "name": "divisions",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Division",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "division_code",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_window_open",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_window_close",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientProvideSurveyResult",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Response",
                    "name": "responses",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "survey_key",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Response",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "question_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "survey_value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAEmoticonAccessSDO",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "unlocked_emoticons",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgClientToGCEmoticonDataRequest",
            "fields": []
        },
        {
            "name": "CMsgGCToClientEmoticonData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgDOTAEmoticonAccessSDO",
                    "name": "emoticon_access",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCTrackDialogResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dialog_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "value",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToClientTournamentItemDrop",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_type",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgClientToGCSetAdditionalEquips",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CAdditionalEquipSlot",
                    "name": "equips",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCSetAdditionalEquipsResponse",
            "fields": []
        },
        {
            "name": "CMsgClientToGCGetAdditionalEquips",
            "fields": []
        },
        {
            "name": "CMsgClientToGCGetAdditionalEquipsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CAdditionalEquipSlot",
                    "name": "equips",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCGetAllHeroProgress",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCGetAllHeroProgressResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "curr_hero_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "laps_completed",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "curr_hero_games",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "curr_lap_time_started",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "curr_lap_games",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "best_lap_games",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "best_lap_time",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lap_heroes_completed",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "lap_heroes_remaining",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "next_hero_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prev_hero_id",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prev_hero_games",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "prev_avg_tries",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "curr_avg_tries",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "next_avg_tries",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "full_lap_avg_tries",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "curr_lap_avg_tries",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "profile_name",
                    "id": 19
                }
            ]
        },
        {
            "name": "CMsgClientToGCGetTrophyList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCGetTrophyListResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Trophy",
                    "name": "trophies",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "profile_name",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Trophy",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "trophy_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "trophy_score",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToClientTrophyAwarded",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "trophy_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "trophy_score",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "trophy_old_score",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgClientToGCGetProfileCard",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCSetProfileCardSlots",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CardSlot",
                    "name": "slots",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "CardSlot",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "slot_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "EProfileCardSlotType",
                            "name": "slot_type",
                            "id": 2,
                            "options": {
                                "default": "k_EProfileCardSlotType_Empty"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "slot_value",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientToGCGetProfileCardStats",
            "fields": []
        },
        {
            "name": "CMsgClientToGCCreateHeroStatue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "source_item",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sequence_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cycle",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "wearables",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "inscription",
                    "id": 7
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "styles",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "reforger_item",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tournament_drop",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgClientToGCCreateTeamShowcase",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "source_item",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sequence_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cycle",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "wearables",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "inscription",
                    "id": 7
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "styles",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgGCToClientHeroStatueCreateResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "resulting_item",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToClientTeamShowcaseCreateResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "resulting_item",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCRecordCompendiumStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "view_duration_s",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "videos_viewed",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "page_turns",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "links_followed",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgGCToClientEventStatusChanged",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "EIngameEvent",
                    "name": "active_events",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCExchangeItemsForOffering",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "recycle_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgClientToGCExchangeItemsForOfferingResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResponse",
                    "name": "response",
                    "id": 1,
                    "options": {
                        "default": "eResponse_Success"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResponse",
                    "values": [
                        {
                            "name": "eResponse_Success",
                            "id": 0
                        },
                        {
                            "name": "eResponse_OfferingDisabled",
                            "id": 1
                        },
                        {
                            "name": "eResponse_InvalidItems",
                            "id": 2
                        },
                        {
                            "name": "eResponse_InternalError",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientToGCPlayerStatsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToClientPlayerStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "float",
                    "name": "player_stats",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_count",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "mean_gpm",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "mean_xppm",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "mean_lasthits",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rampages",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "triple_kills",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_blood_claimed",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_blood_given",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "couriers_killed",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "aegises_snatched",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cheeses_eaten",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "creeps_stacked",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fight_score",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "farm_score",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "support_score",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "push_score",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "versatility_score",
                    "id": 19
                }
            ]
        },
        {
            "name": "CMsgClientToGCCustomGamePlayerCountRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToClientCustomGamePlayerCountResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "player_count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "spectator_count",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgClientToGCCustomGamesFriendsPlayedRequest",
            "fields": []
        },
        {
            "name": "CMsgGCToClientCustomGamesFriendsPlayedResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CustomGame",
                    "name": "games",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "CustomGame",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "custom_game_id",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "account_ids",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientToGCSocialFeedPostCommentRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "comment",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToClientSocialFeedPostCommentResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCSocialFeedPostMessageRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_timestamp",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCToClientSocialFeedPostMessageResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCFriendsPlayedCustomGameRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToClientFriendsPlayedCustomGameResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgClientToGCFeaturedHeroesRequest",
            "fields": []
        },
        {
            "name": "CMsgGCToClientFeaturedHeroesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Category",
                    "name": "categories",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "DataField",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "EFeaturedHeroDataType",
                            "name": "data_type",
                            "id": 1,
                            "options": {
                                "default": "k_EFeaturedHeroDataType_HeroID"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "uint32_value",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "uint64_value",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "string_value",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "float_value",
                            "id": 5
                        }
                    ]
                },
                {
                    "name": "FeaturedHero",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "DataField",
                            "name": "data_fields",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "Category",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "category_weight",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "EFeaturedHeroTextField",
                            "name": "text_fields",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "FeaturedHero",
                            "name": "featured_heroes",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClientToGCSocialMatchPostCommentRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "comment",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToClientSocialMatchPostCommentResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCSocialMatchDetailsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "pagination_timestamp",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToClientSocialMatchDetailsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Comment",
                    "name": "comments",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Comment",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "persona_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "comment",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAPartyMemberSetCoach",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "wants_coach",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTASetGroupLeader",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "new_leader_steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTACancelGroupInvites",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "invited_steamids",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "invited_groupids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTASetGroupOpenStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "open",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAGroupMergeInvite",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "other_group_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAGroupMergeResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "initiator_group_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "accept",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGroupMergeReply",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EDOTAGroupMergeResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "k_EDOTAGroupMergeResult_OK"
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTAPartyRichPresence",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "party_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CSODOTAParty.State",
                    "name": "party_state",
                    "id": 2,
                    "options": {
                        "default": "UI"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "open",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_priority",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "Member",
                    "name": "members",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "Member",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "coach",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTALobbyRichPresence",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CSODOTALobby.State",
                    "name": "lobby_state",
                    "id": 2,
                    "options": {
                        "default": "UI"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "password",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameMode",
                    "name": "game_mode",
                    "id": 4,
                    "options": {
                        "default": "DOTA_GAMEMODE_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "member_count",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_member_count",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_id",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgDOTACustomGameListenServerStartedLoading",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "custom_game_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "lobby_members",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_time",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTACustomGameClientFinishedLoading",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "loading_duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "result_code",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "result_string",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "signon_states",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "comment",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgGCPlayerInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "PlayerInfo",
                    "name": "player_infos",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "PlayerInfo",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "country_code",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "fantasy_role",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_id",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "team_name",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "team_tag",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "sponsor",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "is_locked",
                            "id": 9
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTACreateFantasyLeagueRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "league_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "league_logo",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "Fantasy_Selection_Mode",
                    "name": "selection_mode",
                    "id": 3,
                    "options": {
                        "default": "FANTASY_SELECTION_INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_count",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTACreateFantasyLeagueResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_TOO_MANY_LEAGUES",
                            "id": 2
                        },
                        {
                            "name": "ERROR_INVALID_TEAM_COUNT",
                            "id": 3
                        },
                        {
                            "name": "ERROR_CREATION_DISABLED",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgFantasyLeagueScoring",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "level",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "kills",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "deaths",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "assists",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "last_hits",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "denies",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "gpm",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "xppm",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "stuns",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "healing",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "tower_kills",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "roshan_kills",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "multiplier_premium",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "multiplier_professional",
                    "id": 14
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "commissioner_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "fantasy_league_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "Fantasy_Selection_Mode",
                    "name": "selection_mode",
                    "id": 4,
                    "options": {
                        "default": "FANTASY_SELECTION_INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_count",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgFantasyLeagueScoring",
                    "name": "scoring",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "draft_time",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "draft_pick_time",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "season_start",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "season_length",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "veto_votes",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "acquisitions",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_1",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_2",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_3",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_4",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_5",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bench_slots",
                    "id": 24
                },
                {
                    "rule": "repeated",
                    "type": "OwnerInfo",
                    "name": "owner_info",
                    "id": 25
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "players",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_zone",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "season",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "password",
                    "id": 29
                }
            ],
            "messages": [
                {
                    "name": "OwnerInfo",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owner_account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "left_league",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "player_account_id",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueEditInfoRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTAFantasyLeagueInfo",
                    "name": "edit_info",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueEditInfoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueFindRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "password",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueFindResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "fantasy_league_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "commissioner_name",
                    "id": 3
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_LEAGUE_NOT_FOUND",
                            "id": 1
                        },
                        {
                            "name": "ERROR_BAD_PASSWORD",
                            "id": 2
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 3
                        },
                        {
                            "name": "ERROR_FULL",
                            "id": 4
                        },
                        {
                            "name": "ERROR_ALREADY_MEMBER",
                            "id": 5
                        },
                        {
                            "name": "ERROR_LEAGUE_LOCKED",
                            "id": 6
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueInfoRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueInfoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_BAD_LEAGUE_ID",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueMatchupsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueMatchupsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "WeeklyMatchups",
                    "name": "weekly_matchups",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Matchup",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owner_account_id_1",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owner_account_id_2",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score_1",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score_2",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "WeeklyMatchups",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "Matchup",
                            "name": "matchup",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "start_time",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "end_time",
                            "id": 3
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_BAD_LEAGUE_ID",
                            "id": 2
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAEditFantasyTeamRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "team_logo",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAEditFantasyTeamResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_INVALID_TEAM_INFO",
                            "id": 2
                        },
                        {
                            "name": "ERROR_NAME_ALREADY_TAKEN",
                            "id": 3
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamInfoRequestByFantasyLeagueID",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamInfoRequestByOwnerAccountID",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamInfoResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAFantasyTeamInfo",
                    "name": "results",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_team_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "team_logo",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "wins",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "losses",
                    "id": 7
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "current_roster",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamScoreRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_team_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "filter_match_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_start_time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_end_time",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "include_bench",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamScoreResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fantasy_team_score",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMsgPlayerScore",
                    "name": "fantasy_player_score",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "CMsgPlayerScore",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score",
                            "id": 2
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        },
                        {
                            "name": "ERROR_OWNER_NOT_IN_LEAGUE",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamStandingsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_start_time",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_end_time",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "filter_match_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "filter_last_match",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "filter_in_hall",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamStandingsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "CMsgTeamScore",
                    "name": "team_scores",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "CMsgTeamScore",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "fantasy_league_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owner_account_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "fantasy_team_index",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "fantasy_team_logo",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "owner_name",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "fantasy_team_name",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score_against",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "wins",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "losses",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "streak",
                            "id": 11
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerScoreRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_start_time",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_end_time",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "filter_match_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "filter_last_match",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerScoreResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_account_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "player_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "score",
                    "id": 5
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerStandingsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "count",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "role",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_start_time",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "filter_end_time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "filter_match_id",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "filter_last_match",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerStandingsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "role",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgPlayerScore",
                    "name": "player_scores",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "CMsgPlayerScore",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "player_account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "player_name",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score",
                            "id": 3
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerInfoRequest",
            "fields": []
        },
        {
            "name": "CMsgDOTAFantasyPlayerInfoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgGCPlayerInfo",
                    "name": "msg",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueCreateRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "season_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "fantasy_league_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "password",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "ticket_item_id",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueCreateResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 1
                        },
                        {
                            "name": "ERROR_BAD_SEASON_ID",
                            "id": 2
                        },
                        {
                            "name": "ERROR_BAD_LEAGUE_NAME",
                            "id": 3
                        },
                        {
                            "name": "ERROR_BAD_TEAM_NAME",
                            "id": 4
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 5
                        },
                        {
                            "name": "ERROR_FAILED_LOGO_UPLOAD",
                            "id": 6
                        },
                        {
                            "name": "ERROR_NO_TICKET",
                            "id": 7
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamCreateRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "password",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "team_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "logo",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "ticket_item_id",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamCreateResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_team_index",
                    "id": 2
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 1
                        },
                        {
                            "name": "ERROR_FAILED_LOGO_UPLOAD",
                            "id": 2
                        },
                        {
                            "name": "ERROR_BAD_FANTASY_LEAGUE_ID",
                            "id": 3
                        },
                        {
                            "name": "ERROR_BAD_NAME",
                            "id": 4
                        },
                        {
                            "name": "ERROR_FULL",
                            "id": 5
                        },
                        {
                            "name": "ERROR_ALREADY_MEMBER",
                            "id": 6
                        },
                        {
                            "name": "ERROR_BAD_PASSWORD",
                            "id": 7
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 8
                        },
                        {
                            "name": "ERROR_NO_TICKET",
                            "id": 9
                        },
                        {
                            "name": "ERROR_LEAGUE_LOCKED",
                            "id": 10
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueEditInvitesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "password",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "InviteChange",
                    "name": "invite_change",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "InviteChange",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "invited",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueEditInvitesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueDraftStatusRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueDraftStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "draft_order",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "current_pick",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_remaining",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "pending_resume",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "completed",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "available_players",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueDraftPlayerRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_account_id",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeagueDraftPlayerResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_INVALID_FANTASY_LEAGUE",
                            "id": 2
                        },
                        {
                            "name": "ERROR_FANTASY_LEAGUE_NOT_DRAFTING",
                            "id": 3
                        },
                        {
                            "name": "ERROR_OWNER_NOT_IN_LEAGUE",
                            "id": 4
                        },
                        {
                            "name": "ERROR_NOT_OWNERS_TURN",
                            "id": 5
                        },
                        {
                            "name": "ERROR_PLAYER_INVALID",
                            "id": 6
                        },
                        {
                            "name": "ERROR_PLAYER_UNAVAILABLE",
                            "id": 7
                        },
                        {
                            "name": "ERROR_PLAYER_NO_VALID_SLOTS",
                            "id": 8
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamRosterSwapRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timestamp",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_1",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot_2",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamRosterSwapResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_OWNER_NOT_IN_LEAGUE",
                            "id": 2
                        },
                        {
                            "name": "ERROR_SLOTS_INVALID",
                            "id": 3
                        },
                        {
                            "name": "ERROR_SLOT_LOCKED",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamRosterAddDropRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "add_account_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "drop_account_id",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamRosterAddDropResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_OWNER_NOT_IN_LEAGUE",
                            "id": 2
                        },
                        {
                            "name": "ERROR_PLAYER_NOT_AVAILABLE",
                            "id": 3
                        },
                        {
                            "name": "ERROR_PLAYER_NOT_ON_TEAM",
                            "id": 4
                        },
                        {
                            "name": "ERROR_TRADE_ALREADY_PENDING",
                            "id": 5
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamTradesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamTradesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "Trade",
                    "name": "trades",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Trade",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owner_account_id_1",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owner_account_id_2",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "player_account_id_1",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "player_account_id_2",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "status",
                            "id": 6
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamTradeCancelRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index_1",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_account_id_2",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index_2",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamTradeCancelResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        },
                        {
                            "name": "ERROR_NO_TRADE",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamRosterRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_account_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timestamp",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyTeamRosterResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "player_account_ids",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "bool",
                    "name": "player_locked",
                    "id": 3
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        },
                        {
                            "name": "ERROR_OWNER_NOT_IN_LEAGUE",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerHisoricalStatsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerHisoricalStatsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "PlayerStats",
                    "name": "stats",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PlayerScoreAccumulator",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "matches",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "levels",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "kills",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "deaths",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "assists",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "last_hits",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "denies",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "gpm",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "xppm",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "stuns",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "healing",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "tower_kills",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "roshan_kills",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "score",
                            "id": 14
                        }
                    ]
                },
                {
                    "name": "PlayerStats",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "weeks",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "PlayerScoreAccumulator",
                            "name": "stats_premium",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "PlayerScoreAccumulator",
                            "name": "stats_professional",
                            "id": 5
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyMessageAdd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyMessagesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_message",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "end_message",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyMessagesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "Message",
                    "name": "messages",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "num_total_messages",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Message",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "message_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "message",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "author_account_id",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time",
                            "id": 4
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyRemoveOwner",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "owner_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_index",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyRemoveOwnerResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NO_PERMISSION",
                            "id": 2
                        },
                        {
                            "name": "ERROR_LEAGUE_LOCKED",
                            "id": 3
                        },
                        {
                            "name": "ERROR_NOT_A_MEMBER",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyScheduledMatchesRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyScheduledMatchesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "ScheduledMatchDays",
                    "name": "scheduled_match_days",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "ScheduledMatchDays",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "team_ids",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "league_ids",
                            "id": 3
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeaveLeagueRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_team_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyLeaveLeagueResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NOT_MEMBER",
                            "id": 2
                        },
                        {
                            "name": "ERROR_LEAGUE_NOT_FOUND",
                            "id": 3
                        },
                        {
                            "name": "ERROR_DRAFT_ACTIVE",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerScoreDetailsRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fantasy_league_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_time",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "end_time",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerScoreDetailsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EResult",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SUCCESS"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "PlayerMatchData",
                    "name": "data",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PlayerMatchData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "match_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_num",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "series_type",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "league_tier",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "league_id",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "opposing_team_id",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "opposing_team_logo",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "opposing_team_name",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgFantasyLeagueScoring",
                            "name": "stats",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "owned_by",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "benched",
                            "id": 12
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "EResult",
                    "values": [
                        {
                            "name": "SUCCESS",
                            "id": 0
                        },
                        {
                            "name": "ERROR_UNSPECIFIED",
                            "id": 1
                        },
                        {
                            "name": "ERROR_NOT_MEMBER",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgApplyAutograph",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "autograph_item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgAdjustItemEquippedState",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "new_class",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "new_slot",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "style_index",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgEconPlayerStrangeCountAdjustment",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CStrangeCountAdjustment",
                    "name": "strange_count_adjustments",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "CStrangeCountAdjustment",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "event_type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "item_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "adjustment",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgRequestItemPurgatory_FinalizePurchase",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestItemPurgatory_FinalizePurchaseResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestItemPurgatory_RefundPurchase",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestItemPurgatory_RefundPurchaseResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgCraftingResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCRequestStoreSalesData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "currency",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCRequestStoreSalesDataResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Price",
                    "name": "sale_price",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "expiration_time",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Price",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_def",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "price",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCRequestStoreSalesDataUpToDateResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "expiration_time",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCPingRequest",
            "fields": []
        },
        {
            "name": "CMsgGCToGCPingResponse",
            "fields": []
        },
        {
            "name": "CMsgGCToGCGetUserSessionServer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCGetUserSessionServerResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_steam_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCGetUserServerMembers",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "max_spectators",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCGetUserServerMembersResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "member_account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgLookupMultipleAccountNames",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "accountids",
                    "id": 1,
                    "options": {
                        "packed": true
                    }
                }
            ]
        },
        {
            "name": "CMsgLookupMultipleAccountNamesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Account",
                    "name": "accounts",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Account",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "accountid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "persona",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToGCGetUserPCBangNo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToGCGetUserPCBangNoResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "pc_bang_no",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestCrateItems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "crate_item_def",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRequestCrateItemsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "crate_item_def",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "item_defs",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCCanUseDropRateBonus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "drop_rate_bonus",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "booster_type",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "exclusive_item_def",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_equal_rate",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSQLAddDropRateBonus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "drop_rate_bonus",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "booster_type",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_duration",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "end_time_stamp",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgSQLUpgradeBattleBooster",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "bonus_to_add",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "booster_type",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGCToGCRefreshSOCache",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "reload",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCCheckAccountTradeStatus",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "initiator",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCCheckAccountTradeStatusResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "can_trade",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "error_code",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToGCGrantAccountRolledItems",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Item",
                    "name": "items",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "audit_action",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "audit_data",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "Item",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_def",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "string",
                            "name": "loot_lists",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "ignore_limit",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "origin",
                            "id": 4
                        },
                        {
                            "rule": "repeated",
                            "type": "DynamicAttribute",
                            "name": "dynamic_attributes",
                            "id": 5
                        },
                        {
                            "rule": "repeated",
                            "type": "AdditionalAuditEntry",
                            "name": "additional_audit_entries",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "inventory_token",
                            "id": 7
                        }
                    ],
                    "messages": [
                        {
                            "name": "DynamicAttribute",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "string",
                                    "name": "name",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "value_uint32",
                                    "id": 2
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "value_float",
                                    "id": 3
                                }
                            ]
                        },
                        {
                            "name": "AdditionalAuditEntry",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "owner_account_id",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "audit_action",
                                    "id": 2
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "audit_data",
                                    "id": 3
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToGCGrantSelfMadeItemToAccount",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "item_def_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "accountid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgUseItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "target_steam_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "gift__potential_targets",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "duel__class_lock",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "initiator_steam_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "itempack__ack_immediately",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgServerUseItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "initiator_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgUseItem",
                    "name": "use_item_msg",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCPartnerBalanceRequest",
            "fields": []
        },
        {
            "name": "CMsgGCPartnerBalanceResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EGCPartnerRequestResponse",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "k_EPartnerRequestOK"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "balance",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCPartnerRechargeRedirectURLRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "def_index",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCPartnerRechargeRedirectURLResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EGCPartnerRequestResponse",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "k_EPartnerRequestOK"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCEconSQLWorkItemEmbeddedRollbackData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "deleted_item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgCraftStatue",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "heroid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "sequencename",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cycle",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "description",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "pedestal_itemdef",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "toolid",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgRedeemCode",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "code",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgRedeemCodeResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "response",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDevNewItemRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "item_def_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "loot_list_name",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "attr_def_name",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "attr_value",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgDevNewItemRequestResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCAddGiftItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgClientToGCWrapAndDeliverGift",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "give_to_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "gift_message",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgClientToGCWrapAndDeliverGiftResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EGCMsgResponse",
                    "name": "response",
                    "id": 1,
                    "options": {
                        "default": "k_EGCMsgResponseOK"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gifting_charge_uses",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "gifting_charge_max",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gifting_uses",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "gifting_max",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gifting_window_hours",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "EGCMsgInitiateTradeResponse",
                    "name": "trade_restriction",
                    "id": 7,
                    "options": {
                        "default": "k_EGCMsgInitiateTradeResponse_Accepted"
                    }
                }
            ]
        },
        {
            "name": "CMsgClientToGCUnwrapGift",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToClientBundleUnpacked",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "bundle_item_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToClientStoreTransactionCompleted",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "txn_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "item_ids",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgClientToGCEquipItems",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgAdjustItemEquippedState",
                    "name": "equips",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClientToGCEquipItemsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "so_cache_version_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSpawnLootGreevil",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "rare",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDismissLootGreevil",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "killed",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "rare",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDismissLootGreevilResponse",
            "fields": []
        },
        {
            "name": "CMsgPoorNetworkConditions",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EPoorNetworkConditionsType",
                    "name": "detection_type",
                    "id": 1,
                    "options": {
                        "default": "k_EPoorNetworkConditions_None"
                    }
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "players",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "ENetworkDisconnectionReason",
                            "name": "disconnect_reason",
                            "id": 2,
                            "options": {
                                "default": "NETWORK_DISCONNECT_INVALID"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_bad_intervals",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "peak_loss_pct",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGameserverCrash",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "lobby_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameState",
                    "name": "game_state",
                    "id": 3,
                    "options": {
                        "default": "DOTA_GAMERULES_STATE_INIT"
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "sentinel_save_time",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "custom_game_id",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_steam_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "server_public_ip_addr",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_port",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_cluster",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "pid",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "engine",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgConnectedPlayers",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "connected_players",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "disconnected_players",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "DOTA_GameState",
                    "name": "game_state",
                    "id": 2,
                    "options": {
                        "default": "DOTA_GAMERULES_STATE_INIT"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tower_state",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "first_blood_happened",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "legacy_mass_disconnect",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoorNetworkConditions",
                    "name": "poor_network_conditions",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "SendReason",
                    "name": "send_reason",
                    "id": 8,
                    "options": {
                        "default": "INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_kills",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_kills",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "barracks_state",
                    "id": 13
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "steam_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgLeaverState",
                            "name": "leaver_state",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "ENetworkDisconnectionReason",
                            "name": "disconnect_reason",
                            "id": 4,
                            "options": {
                                "default": "NETWORK_DISCONNECT_INVALID"
                            }
                        }
                    ]
                }
            ],
            "enums": [
                {
                    "name": "SendReason",
                    "values": [
                        {
                            "name": "INVALID",
                            "id": 0
                        },
                        {
                            "name": "HEARTBEAT",
                            "id": 1
                        },
                        {
                            "name": "GAME_STATE",
                            "id": 2
                        },
                        {
                            "name": "FIRST_BLOOD",
                            "id": 3
                        },
                        {
                            "name": "PLAYER_CONNECTED",
                            "id": 4
                        },
                        {
                            "name": "PLAYER_HERO",
                            "id": 5
                        },
                        {
                            "name": "PLAYER_DISCONNECTED_CONSEQUENCES",
                            "id": 6
                        },
                        {
                            "name": "PLAYER_DISCONNECTED_NOCONSEQUENCES",
                            "id": 7
                        },
                        {
                            "name": "TOWER_STATE",
                            "id": 9
                        },
                        {
                            "name": "GAMESTATE_TIMEOUT",
                            "id": 10
                        },
                        {
                            "name": "MASS_DISCONNECT",
                            "id": 11
                        },
                        {
                            "name": "BARRACKS_STATE",
                            "id": 12
                        },
                        {
                            "name": "KILLS",
                            "id": 13
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGameServerInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "server_public_ip_addr",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "server_private_ip_addr",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_port",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_tv_port",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_steamdatagram_port",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "server_key",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "server_hibernation",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "ServerType",
                    "name": "server_type",
                    "id": 7,
                    "options": {
                        "default": "UNSPECIFIED"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_region",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "server_loadavg",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "server_tv_broadcast_time",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "server_game_time",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "server_relay_connected_steam_id",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "relay_slots_max",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "relays_connected",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "relay_clients_connected",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "relayed_game_server_steam_id",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "parent_relay_count",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "tv_secret_code",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_version",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_cluster",
                    "id": 20
                }
            ],
            "enums": [
                {
                    "name": "ServerType",
                    "values": [
                        {
                            "name": "UNSPECIFIED",
                            "id": 0
                        },
                        {
                            "name": "GAME",
                            "id": 1
                        },
                        {
                            "name": "PROXY",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgLeaverDetected",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTALeaverStatus_t",
                    "name": "leaver_status",
                    "id": 2,
                    "options": {
                        "default": "DOTA_LEAVER_NONE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgLeaverState",
                    "name": "leaver_state",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_cluster",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "ENetworkDisconnectionReason",
                    "name": "disconnect_reason",
                    "id": 6,
                    "options": {
                        "default": "NETWORK_DISCONNECT_INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoorNetworkConditions",
                    "name": "poor_network_conditions",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgLeaverDetectedResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyPlayerStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "match_completed",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "level",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "kills",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "deaths",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assists",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_hits",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "denies",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "gpm",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "xppm",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "stuns",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "healing",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tower_kills",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "roshan_kills",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_id",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "delay",
                    "id": 18
                }
            ]
        },
        {
            "name": "CMsgDOTAFantasyMatch",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_time",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "series_type",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_1",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_2",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgServerToGCRealtimeStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgDOTARealtimeGameStatsTerse",
                    "name": "delayed",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgDOTARealtimeGameStats",
                    "name": "current",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToServerRealtimeStatsStartStop",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "delayed",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "current",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGameMatchSignOut",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1,
                    "options": {
                        "(key_field)": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "good_guys_win",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "date",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "num_players",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "CTeam",
                    "name": "teams",
                    "id": 6
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "tower_status",
                    "id": 8
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "barracks_status",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cluster",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "server_addr",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_blood_time",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "game_balance",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_score",
                    "id": 14
                },
                {
                    "rule": "repeated",
                    "type": "CMatchHeroSelectEvent",
                    "name": "picks_bans",
                    "id": 15
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAFantasyPlayerStats",
                    "name": "fantasy_stats",
                    "id": 16
                },
                {
                    "rule": "repeated",
                    "type": "CMsgEconPlayerStrangeCountAdjustment",
                    "name": "player_strange_count_adjustments",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "automatic_surrender",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_version",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "legacy_mass_disconnect",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoorNetworkConditions",
                    "name": "poor_network_conditions",
                    "id": 35
                },
                {
                    "rule": "repeated",
                    "type": "CAdditionalSignoutMsg",
                    "name": "additional_msgs",
                    "id": 20
                },
                {
                    "rule": "repeated",
                    "type": "CSocialFeedMatchEvent",
                    "name": "social_feed_events",
                    "id": 36
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "average_networth_delta",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "networth_delta_min10",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "networth_delta_min20",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "maximum_losing_networth_lead",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "average_experience_delta",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "experience_delta_min10",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "experience_delta_min20",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "bonus_gold_winner_min10",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "bonus_gold_winner_min20",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bonus_gold_winner_total",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "bonus_gold_loser_min10",
                    "id": 32
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "bonus_gold_loser_min20",
                    "id": 33
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bonus_gold_loser_total",
                    "id": 34
                },
                {
                    "rule": "optional",
                    "type": "CCustomGameData",
                    "name": "custom_game_data",
                    "id": 37
                }
            ],
            "messages": [
                {
                    "name": "CTeam",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "CPlayer",
                            "name": "players",
                            "id": 1
                        }
                    ],
                    "messages": [
                        {
                            "name": "CPlayer",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "fixed64",
                                    "name": "steam_id",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_id",
                                    "id": 3
                                },
                                {
                                    "rule": "repeated",
                                    "type": "uint32",
                                    "name": "items",
                                    "id": 4
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "gold",
                                    "id": 5
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "kills",
                                    "id": 6
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "deaths",
                                    "id": 7
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "assists",
                                    "id": 8
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "leaver_status",
                                    "id": 9
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "last_hits",
                                    "id": 10
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "denies",
                                    "id": 11
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "gold_per_min",
                                    "id": 12
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "xp_per_minute",
                                    "id": 13
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "gold_spent",
                                    "id": 14
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "level",
                                    "id": 15
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_damage",
                                    "id": 16
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "tower_damage",
                                    "id": 17
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_healing",
                                    "id": 18
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "time_last_seen",
                                    "id": 19
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "support_ability_value",
                                    "id": 20
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint64",
                                    "name": "party_id",
                                    "id": 21
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "scaled_kills",
                                    "id": 24
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "scaled_deaths",
                                    "id": 25
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "scaled_assists",
                                    "id": 26
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "claimed_farm_gold",
                                    "id": 27
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "support_gold",
                                    "id": 28
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "claimed_denies",
                                    "id": 29
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "claimed_misses",
                                    "id": 30
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "misses",
                                    "id": 31
                                },
                                {
                                    "rule": "repeated",
                                    "type": "CMatchPlayerAbilityUpgrade",
                                    "name": "ability_upgrades",
                                    "id": 32
                                },
                                {
                                    "rule": "repeated",
                                    "type": "CMatchAdditionalUnitInventory",
                                    "name": "additional_units_inventory",
                                    "id": 33
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "net_worth",
                                    "id": 34
                                },
                                {
                                    "rule": "optional",
                                    "type": "CCustomGameData",
                                    "name": "custom_game_data",
                                    "id": 35
                                }
                            ],
                            "messages": [
                                {
                                    "name": "CCustomGameData",
                                    "fields": [
                                        {
                                            "rule": "optional",
                                            "type": "uint32",
                                            "name": "dota_team",
                                            "id": 1
                                        },
                                        {
                                            "rule": "optional",
                                            "type": "bool",
                                            "name": "winner",
                                            "id": 2
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                },
                {
                    "name": "CAdditionalSignoutMsg",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "contents",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "CSocialFeedMatchEvent",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "timestamp",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "event_type",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "game_time",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "replay_time",
                            "id": 5
                        }
                    ]
                },
                {
                    "name": "CCustomGameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "publish_timestamp",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSignOutDraftInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radiant_captain_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dire_captain_account_id",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMatchHeroSelectEvent",
                    "name": "picks_bans",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgSignOutBotInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "allow_cheats",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "DOTABotDifficulty",
                    "name": "bot_difficulty",
                    "id": 2,
                    "options": {
                        "default": "BOT_DIFFICULTY_PASSIVE"
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "created_lobby",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgBotSlotDifficulty",
                    "name": "bot_slot_difficulties",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "CMsgBotSlotDifficulty",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "slot",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "DOTABotDifficulty",
                            "name": "bot_difficulty",
                            "id": 2,
                            "options": {
                                "default": "BOT_DIFFICULTY_PASSIVE"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSignOutPlayerStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rank",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rampages",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "triple_kills",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_blood_claimed",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "first_blood_given",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "couriers_killed",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "aegises_snatched",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cheeses_eaten",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "creeps_stacked",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fight_score",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "farm_score",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "support_score",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "push_score",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "kills",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "deaths",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "assists",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_hits",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "denies",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "gpm",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "xppm",
                    "id": 23
                }
            ]
        },
        {
            "name": "CMsgSignOutCommunicationSummary",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "PlayerCommunication",
                    "name": "players",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "PlayerCommunication",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "pings",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "max_pings_per_interval",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "teammate_pings",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "max_teammate_pings_per_interval",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_chat_messages",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "all_chat_messages",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "chat_wheel_messages",
                            "id": 8
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "pauses",
                            "id": 9
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "unpauses",
                            "id": 10
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "lines_drawn",
                            "id": 11
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "voice_chat_seconds",
                            "id": 12
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "chat_mutes",
                            "id": 13
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "voice_mutes",
                            "id": 14
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGameMatchSignoutResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "replay_salt",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CLobbyTimedRewardDetails",
                    "name": "timed_reward_details",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CDOTALobbyMember",
                    "name": "xp_reward_details",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "leagueid",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "CAdditionalSignoutMsg",
                    "name": "additional_msgs",
                    "id": 6
                }
            ],
            "messages": [
                {
                    "name": "CAdditionalSignoutMsg",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bytes",
                            "name": "contents",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGameMatchSignOutPermissionRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "server_version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "local_attempt",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_attempt",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_waited",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGameMatchSignOutPermissionResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "permission_granted",
                    "id": 1,
                    "options": {
                        "default": false
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "abandon_signout",
                    "id": 2,
                    "options": {
                        "default": false
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "retry_delay_seconds",
                    "id": 3,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CMsgGameChatLog",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CChatLine",
                    "name": "lines",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "CChatLine",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "team_only",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "text",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "game_time",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTALiveScoreboardUpdate",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tournament_game_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hltv_delay",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "Team",
                    "name": "team_good",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "Team",
                    "name": "team_bad",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "roshan_respawn_timer",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 9
                }
            ],
            "messages": [
                {
                    "name": "Team",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "Player",
                            "name": "players",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "score",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "tower_state",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "barracks_state",
                            "id": 4
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "hero_picks",
                            "id": 5
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "hero_bans",
                            "id": 6
                        }
                    ],
                    "messages": [
                        {
                            "name": "Player",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "player_slot",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "string",
                                    "name": "player_name",
                                    "id": 2
                                },
                                {
                                    "rule": "optional",
                                    "type": "string",
                                    "name": "hero_name",
                                    "id": 3
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "hero_id",
                                    "id": 4
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "kills",
                                    "id": 5
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "deaths",
                                    "id": 6
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "assists",
                                    "id": 7
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "last_hits",
                                    "id": 8
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "denies",
                                    "id": 9
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "gold",
                                    "id": 10
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "level",
                                    "id": 11
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "gold_per_min",
                                    "id": 12
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "xp_per_min",
                                    "id": 13
                                },
                                {
                                    "rule": "optional",
                                    "type": "DOTAUltimateState",
                                    "name": "ultimate_state",
                                    "id": 14,
                                    "options": {
                                        "default": "k_EDOTAUltimateStateNotLearned"
                                    }
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "ultimate_cooldown",
                                    "id": 15
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "item0",
                                    "id": 16
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "item1",
                                    "id": 17
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "item2",
                                    "id": 18
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "item3",
                                    "id": 19
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "item4",
                                    "id": 20
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "item5",
                                    "id": 21
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "respawn_timer",
                                    "id": 22
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "account_id",
                                    "id": 23
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "position_x",
                                    "id": 24
                                },
                                {
                                    "rule": "optional",
                                    "type": "float",
                                    "name": "position_y",
                                    "id": 25
                                },
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "net_worth",
                                    "id": 26
                                },
                                {
                                    "rule": "repeated",
                                    "type": "HeroAbility",
                                    "name": "abilities",
                                    "id": 27
                                }
                            ],
                            "messages": [
                                {
                                    "name": "HeroAbility",
                                    "fields": [
                                        {
                                            "rule": "optional",
                                            "type": "uint32",
                                            "name": "ability_id",
                                            "id": 1
                                        },
                                        {
                                            "rule": "optional",
                                            "type": "uint32",
                                            "name": "ability_level",
                                            "id": 2
                                        }
                                    ]
                                }
                            ],
                            "enums": [
                                {
                                    "name": "DOTAUltimateState",
                                    "values": [
                                        {
                                            "name": "k_EDOTAUltimateStateNotLearned",
                                            "id": 0
                                        },
                                        {
                                            "name": "k_EDOTAUltimateStateCooldown",
                                            "id": 1
                                        },
                                        {
                                            "name": "k_EDOTAUltimateStateNeedsMana",
                                            "id": 2
                                        },
                                        {
                                            "name": "k_EDOTAUltimateStateReady",
                                            "id": 3
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTARequestPlayerResources",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTARequestPlayerResourcesResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steam_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rank",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "prevent_text_chat",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "prevent_voice_chat",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_priority",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgDOTARequestBatchPlayerResources",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1,
                    "options": {
                        "packed": true
                    }
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "rank_types",
                    "id": 4,
                    "options": {
                        "packed": true
                    }
                }
            ]
        },
        {
            "name": "CMsgDOTARequestBatchPlayerResourcesResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Result",
                    "name": "results",
                    "id": 6
                }
            ],
            "messages": [
                {
                    "name": "Result",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "prevent_text_chat",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "prevent_voice_chat",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "rank",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "rank_calibrated",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "low_priority",
                            "id": 6
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAPlayerFailedToConnect",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "failed_loaders",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "abandoned_loaders",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToRelayConnect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_public_addr",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_private_addr",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "source_tv_port",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "game_server_steam_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "parent_count",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "tv_unique_secret_code",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "source_tv_steamid",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgGCGCToLANServerRelayConnect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "relay_steamid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCToRelayConnectResponse",
            "fields": []
        },
        {
            "name": "CMsgGCBanStatusRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGCBanStatusResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "low_priority",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "text_chat_banned",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "voice_chat_banned",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTournamentItemEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "killer_account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "victim_account_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTA_TournamentEvents",
                    "name": "event_type",
                    "id": 3,
                    "options": {
                        "default": "TE_FIRST_BLOOD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tv_delay",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "dota_time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "replay_time",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "loot_list",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_team",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "multi_kill_count",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "winner_score",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "loser_score",
                    "id": 11
                },
                {
                    "rule": "repeated",
                    "type": "CProtoItemHeroStatue",
                    "name": "hero_statues",
                    "id": 12
                }
            ]
        },
        {
            "name": "CMsgTournamentItemEventResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "DOTA_TournamentEvents",
                    "name": "event_type",
                    "id": 1,
                    "options": {
                        "default": "TE_FIRST_BLOOD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "viewers_granted",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgTeamFanfare",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgResponseTeamFanfare",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fanfare_goodguys",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fanfare_badguys",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGameServerUploadSaveGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "game_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "save_game_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "lobby_id",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "uint64",
                    "name": "player_steam_ids",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgGameServerSaveGameResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "Result",
                    "name": "result",
                    "id": 1,
                    "options": {
                        "default": "SaveSuccessful"
                    }
                }
            ],
            "enums": [
                {
                    "name": "Result",
                    "values": [
                        {
                            "name": "SaveSuccessful",
                            "id": 0
                        },
                        {
                            "name": "SessionNotFound",
                            "id": 1
                        },
                        {
                            "name": "DatabaseError",
                            "id": 2
                        },
                        {
                            "name": "TooBig",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGameServerGetLoadGame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "save_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgGameServerGetLoadGameResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "save_game_data",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAGenerateDiretidePrizeList",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_list",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "highest_roshan_level",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTAGenerateDiretidePrizeListResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "item_defs",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "steam_ids",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_list",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDOTARewardDiretidePrizes",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_list",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTADiretidePrizesRewardedResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_list",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDOTAAwardEventPoints",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "AwardPoints",
                    "name": "award_points",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AwardPoints",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "points",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "premium_points",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "trade_ban_time",
                            "id": 5
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerToGCSignoutAwardAdditionalDrops",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "AdditionalDrops",
                    "name": "drops",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "AdditionalDrops",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "loot_list",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "player_account_ids",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "no_trade",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "randomize_reward",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAUpdateTI4HeroQuest",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "players",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "match_start_time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "hero_id",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgDOTAFrostivusTimeElapsed",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "User",
                    "name": "users",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "User",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "time_elapsed_s",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToServerPingRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "request_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "request_time",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgGCToServerPingResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "request_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "request_time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cluster",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCToServerConsoleCommand",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "console_command",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgServerGetEventPoints",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgServerGetEventPointsResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Points",
                    "name": "points",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "Points",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "points_total",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "owned",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerGrantSurveyPermission",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Survey",
                    "name": "surveys",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Survey",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "question_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "expire_time",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "survey_key",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "extra_data",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "extra_data_32",
                            "id": 6
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerGrantSurveyPermissionResponse",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "result",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgServerToGCMatchConnectionStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "region_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "league_id",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "Player",
                    "name": "players",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cluster_id",
                    "id": 5
                }
            ],
            "messages": [
                {
                    "name": "Player",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "ip",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "avg_ping_ms",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "packet_loss",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "ping_deviation",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "full_resends",
                            "id": 7
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerGCUpdateSpectatorCount",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "spectator_count",
                    "id": 1
                }
            ]
        },
        {
            "name": "CSerializedCombatLog",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "version",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "Dictionary",
                    "name": "dictionary",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMsgDOTACombatLogEntry",
                    "name": "entries",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Dictionary",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "DictString",
                            "name": "strings",
                            "id": 1
                        }
                    ],
                    "messages": [
                        {
                            "name": "DictString",
                            "fields": [
                                {
                                    "rule": "required",
                                    "type": "uint32",
                                    "name": "id",
                                    "id": 1
                                },
                                {
                                    "rule": "required",
                                    "type": "string",
                                    "name": "value",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerToGCGetAdditionalEquips",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgServerToGCGetAdditionalEquipsResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CUserEquips",
                    "name": "equips",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "CUserEquips",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "CAdditionalEquipSlot",
                            "name": "equips",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerToGCGetProfileCard",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgServerToGCGetProfileCardResponse",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgDOTAProfileCard",
                    "name": "cards",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgServerToGCVictoryPredictions",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Record",
                    "name": "records",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Record",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "item_id",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "uint64",
                            "name": "item_ids",
                            "id": 5
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSuspiciousActivity",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "ESuspiciousActivity",
                    "name": "activity",
                    "id": 2,
                    "options": {
                        "default": "k_ESuspiciousActivity_VAC_MultipleInstances"
                    }
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "intdata1",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "intdata2",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgServerToGCRequestStatus",
            "fields": []
        },
        {
            "name": "CMsgServerToGCRequestStatus_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "response",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSignOutAssassinMiniGameInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "winning_players",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "losing_players",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "fixed64",
                    "name": "arcana_owners",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "assassin_won",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_hero_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "contract_completed",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "contract_complete_time",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "pa_is_radiant",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgServerToGCGetIngameEventData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EIngameEvent",
                    "name": "event",
                    "id": 1,
                    "options": {
                        "default": "k_EIngameEvent_OraclePA"
                    }
                }
            ]
        },
        {
            "name": "CMsgGCToServerIngameEventDataOraclePA",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "target_hero_ids",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgServerToGCKillSummaries",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ingameevent_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "KillSummary",
                    "name": "summaries",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "KillSummary",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "killer_hero_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "victim_hero_id",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "kill_count",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGCToServerPredictionResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "correct",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "Prediction",
                    "name": "predictions",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "Prediction",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_def",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_correct",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_fails",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "EResult",
                            "name": "result",
                            "id": 4,
                            "options": {
                                "default": "k_eResult_ItemGranted"
                            }
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "granted_item_defs",
                            "id": 6
                        }
                    ],
                    "enums": [
                        {
                            "name": "EResult",
                            "values": [
                                {
                                    "name": "k_eResult_ItemGranted",
                                    "id": 1
                                },
                                {
                                    "name": "k_eResult_Destroyed",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerToGCLockCharmTrading",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "item_id",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgDOTACNY2015EventPointUsage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "PointUsage",
                    "name": "winning_team_usage",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "PointUsage",
                    "name": "losing_team_usage",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PointUsage",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "path",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "path_level",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "ability_points_spent",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSignOutUpdatePlayerChallenge",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "Challenge",
                    "name": "completed",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "Challenge",
                    "name": "rerolled",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "Challenge",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "event_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "sequence_id",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgServerToGCRerollPlayerChallenge",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgClientToGCRerollPlayerChallenge",
                    "name": "reroll_msg",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgServerToGCHoldEventPoints",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "HoldRequest",
                    "name": "holds",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "hold_key",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hold_until",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "HoldRequest",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "account_id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "points_held",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "premium_held",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSignOutReleaseEventPointHolds",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "account_ids",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "hold_key",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGCToServerUpdateBroadcastCheers",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "time_stamp",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_1_cheers",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team_2_cheers",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAModifierBuffTableEntry",
            "fields": [
                {
                    "rule": "required",
                    "type": "DOTA_MODIFIER_ENTRY_TYPE",
                    "name": "entry_type",
                    "id": 1,
                    "options": {
                        "default": "DOTA_MODIFIER_ENTRY_TYPE_ACTIVE"
                    }
                },
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "parent",
                    "id": 2
                },
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "index",
                    "id": 3
                },
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "serial_num",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "modifier_class",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ability_level",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "stack_count",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "creation_time",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 9,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "caster",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ability",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "armor",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fade_time",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "subtle",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "channel_time",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "v_start",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "v_end",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "portal_loop_appear",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "portal_loop_disappear",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "hero_loop_appear",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "hero_loop_disappear",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "movement_speed",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "aura",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "activity",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "damage",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "range",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "dd_modifier_index",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "dd_ability_index",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "illusion_label",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "active",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "lua_name",
                    "id": 31
                }
            ]
        },
        {
            "name": "CDOTALuaModifierEntry",
            "fields": [
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "modifier_type",
                    "id": 1
                },
                {
                    "rule": "required",
                    "type": "string",
                    "name": "modifier_filename",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_AIDebugLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_Ping",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SwapVerify",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ChatEvent",
            "fields": [
                {
                    "rule": "required",
                    "type": "DOTA_CHAT_MESSAGE",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "CHAT_MESSAGE_INVALID"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "value",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "playerid_1",
                    "id": 3,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "playerid_2",
                    "id": 4,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "playerid_3",
                    "id": 5,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "playerid_4",
                    "id": 6,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "playerid_5",
                    "id": 7,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "sint32",
                    "name": "playerid_6",
                    "id": 8,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "value2",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "value3",
                    "id": 10
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CombatLogShowDeath",
            "fields": []
        },
        {
            "name": "CDOTAUserMsg_BotChat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "format",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "target",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CombatHeroPositions",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector2D",
                    "name": "world_pos",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "health",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_MiniKillCamInfo",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Attacker",
                    "name": "attackers",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Attacker",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "attacker",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "total_damage",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "Ability",
                            "name": "abilities",
                            "id": 3
                        }
                    ],
                    "messages": [
                        {
                            "name": "Ability",
                            "fields": [
                                {
                                    "rule": "optional",
                                    "type": "uint32",
                                    "name": "ability",
                                    "id": 1
                                },
                                {
                                    "rule": "optional",
                                    "type": "int32",
                                    "name": "damage",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_GlobalLightColor",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_GlobalLightDirection",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "direction",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_LocationPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_LocationPing",
                    "name": "location_ping",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ItemAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_ItemAlert",
                    "name": "item_alert",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_EnemyItemAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_player_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemid",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "rune_type",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ModifierAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "class_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "stack_count",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_debuff",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_entindex",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_HPManaAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "target_entindex",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_GlyphAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "negative",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_WillPurchaseAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gold_remaining",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_BuyBackStateAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_QuickBuyAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "gold_required",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CourierKilledAlert",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gold_value",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity_handle",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "timestamp",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_MinimapEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "event_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity_handle",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "x",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "y",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "duration",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_MapLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_MapLine",
                    "name": "mapline",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_MinimapDebugPoint",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "location",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "size",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "index",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CreateLinearProjectile",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector2D",
                    "name": "velocity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "latency",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entindex",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "particle_index",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "handle",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector2D",
                    "name": "acceleration",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "max_speed",
                    "id": 8
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_DestroyLinearProjectile",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "handle",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_DodgeTrackingProjectiles",
            "fields": [
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "entindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "attacks_only",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SpectatorPlayerClick",
            "fields": [
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "entindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "order_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "target_index",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SpectatorPlayerUnitOrders",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "order_type",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "int32",
                    "name": "units",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "target_index",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ability_index",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "position",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "queue",
                    "id": 7
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_NevermoreRequiem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity_handle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "lines",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_InvalidCommand",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_HudError",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "order_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SharedCooldown",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cooldown",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "name_index",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SetNextAutobuyItem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_HalloweenDrops",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "item_defs",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "player_ids",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "prize_list",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_PredictionResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "correct",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "Prediction",
                    "name": "predictions",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "Prediction",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "item_def",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_correct",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "num_fails",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "EResult",
                            "name": "result",
                            "id": 4,
                            "options": {
                                "default": "k_eResult_ItemGranted"
                            }
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "granted_item_defs",
                            "id": 6
                        }
                    ],
                    "enums": [
                        {
                            "name": "EResult",
                            "values": [
                                {
                                    "name": "k_eResult_ItemGranted",
                                    "id": 1
                                },
                                {
                                    "name": "k_eResult_Destroyed",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAResponseQuerySerialized",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "Fact",
                    "name": "facts",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Fact",
                    "fields": [
                        {
                            "rule": "required",
                            "type": "int32",
                            "name": "key",
                            "id": 1
                        },
                        {
                            "rule": "required",
                            "type": "ValueType",
                            "name": "valtype",
                            "id": 2,
                            "options": {
                                "default": "NUMERIC"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "val_numeric",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "val_string",
                            "id": 4
                        }
                    ],
                    "enums": [
                        {
                            "name": "ValueType",
                            "values": [
                                {
                                    "name": "NUMERIC",
                                    "id": 1
                                },
                                {
                                    "name": "STRING",
                                    "id": 2
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTASpeechMatchOnClient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "concept",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "recipient_type",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CDOTAResponseQuerySerialized",
                    "name": "responsequery",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "sfixed32",
                    "name": "randomseed",
                    "id": 4,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_UnitEvent",
            "fields": [
                {
                    "rule": "required",
                    "type": "EDotaEntityMessages",
                    "name": "msg_type",
                    "id": 1,
                    "options": {
                        "default": "DOTA_UNIT_SPEECH"
                    }
                },
                {
                    "rule": "required",
                    "type": "int32",
                    "name": "entity_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "Speech",
                    "name": "speech",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "SpeechMute",
                    "name": "speech_mute",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "AddGesture",
                    "name": "add_gesture",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "RemoveGesture",
                    "name": "remove_gesture",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "BloodImpact",
                    "name": "blood_impact",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "FadeGesture",
                    "name": "fade_gesture",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "CDOTASpeechMatchOnClient",
                    "name": "speech_match_on_client",
                    "id": 9
                }
            ],
            "messages": [
                {
                    "name": "Speech",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "concept",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "response",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "recipient_type",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "level",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "muteable",
                            "id": 5,
                            "options": {
                                "default": false
                            }
                        }
                    ]
                },
                {
                    "name": "SpeechMute",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "delay",
                            "id": 1,
                            "options": {
                                "default": 0.5
                            }
                        }
                    ]
                },
                {
                    "name": "AddGesture",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "activity",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "slot",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "fade_in",
                            "id": 3,
                            "options": {
                                "default": 0
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "fade_out",
                            "id": 4,
                            "options": {
                                "default": 0.1
                            }
                        }
                    ]
                },
                {
                    "name": "RemoveGesture",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "activity",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "BloodImpact",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "scale",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "x_normal",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "y_normal",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "FadeGesture",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "activity",
                            "id": 1
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ItemPurchased",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "item_index",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ItemFound",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "quality",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "rarity",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "method",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "itemdef",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ParticleManager",
            "fields": [
                {
                    "rule": "required",
                    "type": "DOTA_PARTICLE_MESSAGE",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "DOTA_PARTICLE_MANAGER_EVENT_CREATE"
                    }
                },
                {
                    "rule": "required",
                    "type": "uint32",
                    "name": "index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "ReleaseParticleIndex",
                    "name": "release_particle_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CreateParticle",
                    "name": "create_particle",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "DestroyParticle",
                    "name": "destroy_particle",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "DestroyParticleInvolving",
                    "name": "destroy_particle_involving",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticle",
                    "name": "update_particle",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleFwd",
                    "name": "update_particle_fwd",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleOrient",
                    "name": "update_particle_orient",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleFallback",
                    "name": "update_particle_fallback",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleOffset",
                    "name": "update_particle_offset",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleEnt",
                    "name": "update_particle_ent",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleShouldDraw",
                    "name": "update_particle_should_draw",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleSetFrozen",
                    "name": "update_particle_set_frozen",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "ChangeControlPointAttachment",
                    "name": "change_control_point_attachment",
                    "id": 16
                }
            ],
            "messages": [
                {
                    "name": "ReleaseParticleIndex",
                    "fields": []
                },
                {
                    "name": "CreateParticle",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "particle_name_index",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attach_type",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle_for_modifiers",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "DestroyParticle",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "destroy_immediately",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "DestroyParticleInvolving",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "destroy_immediately",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "UpdateParticle",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "position",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleFwd",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "forward",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleOrient",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "forward",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "right",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "up",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "UpdateParticleFallback",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "position",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleOffset",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "origin_offset",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleEnt",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attach_type",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attachment",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "fallback_position",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "include_wearables",
                            "id": 6
                        }
                    ]
                },
                {
                    "name": "UpdateParticleSetFrozen",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "set_frozen",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "UpdateParticleShouldDraw",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "should_draw",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "ChangeControlPointAttachment",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attachment_old",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attachment_new",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_OverheadEvent",
            "fields": [
                {
                    "rule": "required",
                    "type": "DOTA_OVERHEAD_ALERT",
                    "name": "message_type",
                    "id": 1,
                    "options": {
                        "default": "OVERHEAD_ALERT_GOLD"
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "value",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "target_player_entindex",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "target_entindex",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "source_player_entindex",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TutorialTipInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "progress",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TutorialFinish",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "heading",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "emblem",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "body",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "success",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TutorialMinimapPosition",
            "fields": []
        },
        {
            "name": "CDOTAUserMsg_SendGenericToolTip",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "title",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entindex",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "close",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_WorldLine",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_WorldLine",
                    "name": "worldline",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ChatWheel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EDOTAChatWheelMessage",
                    "name": "chat_message",
                    "id": 1,
                    "options": {
                        "default": "k_EDOTA_CW_Ok"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "param_hero_id",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ReceivedXmasGift",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "item_name",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "inventory_slot",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ShowSurvey",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "survey_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "match_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "response_style",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "teammate_hero_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "teammate_name",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "teammate_account_id",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_UpdateSharedContent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "slot_type",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TutorialRequestExp",
            "fields": []
        },
        {
            "name": "CDOTAUserMsg_TutorialFade",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "tgt_alpha",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TutorialPingMinimap",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "pos_x",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "pos_y",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "pos_z",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity_index",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_GamerulesStateChanged",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "state",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_AddQuestLogEntry",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "npc_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "npc_dialog",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SendStatPopup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_SendStatPopup",
                    "name": "statpopup",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SendRoshanPopup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "reclaimed",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "gametime",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SendFinalGold",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "reliable_gold",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "unreliable_gold",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CustomMsg",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "value",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CoachHUDPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CDOTAMsg_CoachHUDPing",
                    "name": "hud_ping",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ClientLoadGridNav",
            "fields": []
        },
        {
            "name": "CDOTAUserMsg_TE_Projectile",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hSource",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hTarget",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "moveSpeed",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "sourceAttachment",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int64",
                    "name": "particleSystemHandle",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "dodgeable",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "isAttack",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "isEvaded",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "expireTime",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "maximpacttime",
                    "id": 10
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TE_ProjectileLoc",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "vSourceLoc",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hTarget",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "moveSpeed",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int64",
                    "name": "particleSystemHandle",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "dodgeable",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "isAttack",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "isEvaded",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "expireTime",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "vTargetLoc",
                    "id": 10
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TE_DotaBloodImpact",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "xnormal",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "ynormal",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_AbilityPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "DOTA_ABILITY_PING_TYPE",
                    "name": "type",
                    "id": 3,
                    "options": {
                        "default": "ABILITY_PING_READY"
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "cooldown_seconds",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "level",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "passive",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "mana_needed",
                    "id": 7
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TE_UnitAnimation",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "sequenceVariant",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "playbackrate",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "castpoint",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "type",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "activity",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_TE_UnitAnimationEnd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "entity",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "snap",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ShowGenericPopup",
            "fields": [
                {
                    "rule": "required",
                    "type": "string",
                    "name": "header",
                    "id": 1
                },
                {
                    "rule": "required",
                    "type": "string",
                    "name": "body",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "param1",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "param2",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "tint_screen",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "show_no_other_dialogs",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_VoteStart",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "title",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "choice_count",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "choices",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_VoteUpdate",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "int32",
                    "name": "choice_counts",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_VoteEnd",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "selected_choice",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_BoosterStatePlayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "bonus",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "event_bonus",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "bonus_item_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "event_bonus_item_id",
                    "id": 5
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_BoosterState",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_BoosterStatePlayer",
                    "name": "boosted_players",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_PlayerMMR",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "sint32",
                    "name": "mmr",
                    "id": 1,
                    "options": {
                        "packed": true
                    }
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_AbilitySteal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability_level",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsHeroLookup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "hero_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "hero_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "persona",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsHeroPositionInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "average_position",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "PositionPair",
                    "name": "position_details",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "PositionPair",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "DOTA_POSITION_CATEGORY",
                            "name": "position_category",
                            "id": 1,
                            "options": {
                                "default": "DOTA_POSITION_NONE"
                            }
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "position_count",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsHeroMinuteDetails",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "last_hits",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_kills",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hero_damage",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tower_damage",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CDOTAUserMsg_StatsHeroPositionInfo",
                    "name": "position_info",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_xp",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "net_worth",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "harvested_creep_gold",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "claimed_farm",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "wards_placed",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "runes_collected",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tps_used",
                    "id": 12
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "mana_spent",
                    "id": 13
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "damage_absorbed",
                    "id": 14
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "damage_done",
                    "id": 15
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsTeamMinuteDetails",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsHeroMinuteDetails",
                    "name": "player_stats",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "tower_kills",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "barrack_kills",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "available_lane_creep_gold",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "balance_kill_value",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "balance_tower_value",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "balance_barracks_value",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "balance_gold_value",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "balance_xp_value",
                    "id": 9
                },
                {
                    "rule": "repeated",
                    "type": "LocationPerformance",
                    "name": "lane_performance",
                    "id": 10
                }
            ],
            "messages": [
                {
                    "name": "LocationPerformance",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "location_category",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "stat_type",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "value",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsPlayerKillShare",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "kill_share_percent",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "player_loc_x",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "player_loc_y",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "health_percent",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "mana_percent",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsKillDetails",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "victim_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsPlayerKillShare",
                    "name": "kill_shares",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "damage_to_kill",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "effective_health",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "death_time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "killer_id",
                    "id": 6
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_StatsMatchDetails",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsHeroLookup",
                    "name": "hero_lookup",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsTeamMinuteDetails",
                    "name": "radiant_stats",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsTeamMinuteDetails",
                    "name": "dire_stats",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsKillDetails",
                    "name": "radiant_kills",
                    "id": 4
                },
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsKillDetails",
                    "name": "dire_kills",
                    "id": 5
                },
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_StatsFightDetails",
                    "name": "fight_details",
                    "id": 6
                }
            ],
            "messages": [
                {
                    "name": "CDOTAUserMsg_StatsFightTeamDetails",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "participants",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "uint32",
                            "name": "deaths",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "gold_delta",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "xp_delta",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "CDOTAUserMsg_StatsFightDetails",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "start_time",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "end_time",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "CDOTAUserMsg_StatsFightTeamDetails",
                            "name": "radiant_fight_details",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "CDOTAUserMsg_StatsFightTeamDetails",
                            "name": "dire_fight_details",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_MiniTaunt",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "taunting_player_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_SpeechBubble",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "destroy_all",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CustomHeaderMessage",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "value",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgHeroAbilityStat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "EHeroStatType",
                    "name": "stat_type",
                    "id": 1,
                    "options": {
                        "default": "k_EHeroStatType_None"
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "int_value",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "float_value",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgCombatAnalyzerPlayerStat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "account_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgHeroAbilityStat",
                    "name": "hero_ability_stats",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgCombatAnalyzerStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "match_id",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgCombatAnalyzerPlayerStat",
                    "name": "player_stats",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_BeastChat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "team",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "format",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "target",
                    "id": 4
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CustomHudElement_Create",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "element_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "layout_filename",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CustomHudElement_Modify",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "element_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "modify_visible",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 3
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CustomHudElement_Destroy",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "element_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CompendiumStatePlayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "level",
                    "id": 2
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_CompendiumState",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CDOTAUserMsg_CompendiumStatePlayer",
                    "name": "compendium_players",
                    "id": 1
                }
            ]
        },
        {
            "name": "CDOTAUserMsg_ProjectionAbility",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ability_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "caster_ent_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "caster_team",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "channel_end",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "track_caster_only",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "end_time",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgVDebugGameSessionIDEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "clientid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "gamesessionid",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgPlaceDecalEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "position",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "saxis",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "decalmaterialindex",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "width",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "height",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "depth",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entityhandleindex",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "skeletoninstancehash",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "boneindex",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "translucenthit",
                    "id": 13
                }
            ]
        },
        {
            "name": "CMsgClearWorldDecalsEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flagstoclear",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClearEntityDecalsEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flagstoclear",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgClearDecalsForSkeletonInstanceEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flagstoclear",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entityhandleindex",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "skeletoninstancehash",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgSource1LegacyGameEventList",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "descriptor_t",
                    "name": "descriptors",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "key_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "descriptor_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "eventid",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 2
                        },
                        {
                            "rule": "repeated",
                            "type": "key_t",
                            "name": "keys",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSource1LegacyListenEvents",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "playerslot",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "eventarraybits",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSource1LegacyGameEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "event_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "eventid",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "key_t",
                    "name": "keys",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "key_t",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "type",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "val_string",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "float",
                            "name": "val_float",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "val_long",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "val_short",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "val_byte",
                            "id": 6
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "val_bool",
                            "id": 7
                        },
                        {
                            "rule": "optional",
                            "type": "uint64",
                            "name": "val_uint64",
                            "id": 8
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSosStartSoundEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "soundevent_guid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "soundevent_hash",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "source_entity_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "seed",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "packed_params",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSosStopSoundEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "soundevent_guid",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSosStopSoundEventHash",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "soundevent_hash",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "source_entity_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSosSetSoundEventParams",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "soundevent_guid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "packed_params",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSosSetLibraryStackFields",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "stack_hash",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "packed_fields",
                    "id": 5
                }
            ]
        },
        {
            "name": "NetMessageSplitscreenUserChanged",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "slot",
                    "id": 1
                }
            ]
        },
        {
            "name": "NetMessageConnectionClosed",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reason",
                    "id": 1
                }
            ]
        },
        {
            "name": "NetMessageConnectionCrashed",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reason",
                    "id": 1
                }
            ]
        },
        {
            "name": "NetMessagePacketStart",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "incoming_sequence",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "outgoing_acknowledged",
                    "id": 2
                }
            ]
        },
        {
            "name": "NetMessagePacketEnd",
            "fields": []
        },
        {
            "name": "CMsgBeginFrame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "frame_paint_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "surface_width",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "surface_height",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "render_target",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "ui_scale_factor",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "empty_frame",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "clear_gpu_resources_before_frame",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgEndFrame",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "mouse_cursor_texture_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "mouse_cursor_hotspot_x",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "mouse_cursor_hotspot_y",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgClearBackbuffer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "clear_color_rgba",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDeleteTexture",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "texture_pointer",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDeletePanel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "context_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgDeleteParticleSystem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "panel_handle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "brush_index",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgPoint",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "z",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgMatrix4x4",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m00",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m01",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m02",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m03",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m10",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m11",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m12",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m13",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m20",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m21",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m22",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m23",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m30",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m31",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m32",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "m33",
                    "id": 16
                }
            ]
        },
        {
            "name": "CRadiusData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CCornerRadius",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CCornerRadius",
                    "name": "top_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CCornerRadius",
                    "name": "bottom_right",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CCornerRadius",
                    "name": "bottom_left",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "CCornerRadius",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "horizontal",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "vertical",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CBorderData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CBorderSide",
                    "name": "top",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CBorderSide",
                    "name": "right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CBorderSide",
                    "name": "bottom",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CBorderSide",
                    "name": "left",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "CBorderSide",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "style",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "width",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "color",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CBoxShadowData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "inset",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "horizontal_offset",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "vertical_offset",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "blur_radius",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "spread_distance",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "fill",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "animating",
                    "id": 8
                }
            ]
        },
        {
            "name": "CTextShadowData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "horizontal_offset",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "vertical_offset",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "blur_radius",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "animating",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "strength",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgClipData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "top",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "right",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "bottom",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgPushCompositingLayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "layer_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "width",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "height",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_top_left_x",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_top_left_y",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_top_left_z",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_top_right_x",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_top_right_y",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_top_right_z",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_bottom_left_x",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_bottom_left_y",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_bottom_left_z",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_bottom_right_x",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_bottom_right_y",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "layer_quad_bottom_right_z",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m00",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m01",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m02",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m03",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m10",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m11",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m12",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m13",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m20",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m21",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m22",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m23",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m30",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m31",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m32",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transform_m33",
                    "id": 31
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "perspective_depth",
                    "id": 32
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "opacity",
                    "id": 33
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "composition_color",
                    "id": 34
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "saturation",
                    "id": 35
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "hue_shift",
                    "id": 36
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "brightness",
                    "id": 37
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "contrast",
                    "id": 38
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "opacity_mask_texture_id",
                    "id": 39
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "opacity_mask_opacity",
                    "id": 40
                },
                {
                    "rule": "optional",
                    "type": "CBorderData",
                    "name": "border",
                    "id": 41
                },
                {
                    "rule": "optional",
                    "type": "CRadiusData",
                    "name": "border_radius",
                    "id": 42
                },
                {
                    "rule": "optional",
                    "type": "CBoxShadowData",
                    "name": "box_shadow",
                    "id": 43
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "gaussianblur_passes",
                    "id": 44
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "gaussianblur_stddevhor",
                    "id": 45
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "gaussianblur_stddevver",
                    "id": 46
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "scale_2d_factors_x",
                    "id": 47
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "scale_2d_factors_y",
                    "id": 48
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "rotate_2d",
                    "id": 49
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "needs_clear",
                    "id": 50
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "needs_depth",
                    "id": 51
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "needs_redraw_every_frame",
                    "id": 52
                },
                {
                    "rule": "optional",
                    "type": "CTextShadowData",
                    "name": "text_shadow",
                    "id": 53
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "mix_blend_mode",
                    "id": 54
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "occluded_left_edge",
                    "id": 55
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "occluded_top_edge",
                    "id": 56
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "occluded_right_edge",
                    "id": 57
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "occluded_bottom_edge",
                    "id": 58
                }
            ]
        },
        {
            "name": "CMsgPopCompositingLayer",
            "fields": []
        },
        {
            "name": "CMsgFreeCompositingLayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "layer_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgTransitionData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "start_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "delay_seconds",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "duration_seconds",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timing_func",
                    "id": 4,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_0",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_1",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_2",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_3",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgAnimationData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "start_time",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "delay_seconds",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "duration_seconds",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timing_func",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_0",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_1",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_2",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_3",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "direction",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "iteration",
                    "id": 10
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationFrameData",
                    "name": "frames",
                    "id": 11
                }
            ]
        },
        {
            "name": "CMsgAnimationFrameData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "percent",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "timing_func",
                    "id": 2,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_0",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_1",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_2",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "cubic_bezier_3",
                    "id": 6
                }
            ],
            "extensions": [
                1000,
                536870911
            ]
        },
        {
            "name": "CMsgPointWithTransition",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgPoint",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgPointWithTransition.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1012
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgColor",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgColor.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1001
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgColorStop",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "position",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_rgba",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgLinearGradient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "start_position",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "end_position",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "CMsgColorStop",
                    "name": "color_stop",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgRadialGradient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "center_position",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "offset_distance",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "radii",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgColorStop",
                    "name": "color_stop",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgParticle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "particle_position",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "particle_size",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "particle_sharpness",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_rgba",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgParticleSystem",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "base_position",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "base_position_variance",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "particle_size",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "particle_size_variance",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "particles_per_second",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "particles_per_second_variance",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "particle_lifespan_seconds",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "particle_lifespan_seconds_variance",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "particle_initial_velocity",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "particle_initial_velocity_variance",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "gravity_acceleration",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "gravity_acceleration_particle_variance",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_start_rgba",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_start_rgba_variance",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_end_rgba",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_end_rgba_variance",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "parent_panel_handle",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "parent_brush_index",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "particle_sharpness",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "particle_sharpness_variance",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "particle_flicker",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "particle_flicker_variance",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "particle_velocity_min",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "particle_velocity_max",
                    "id": 24
                },
                {
                    "rule": "repeated",
                    "type": "CMsgParticle",
                    "name": "particles",
                    "id": 50
                }
            ]
        },
        {
            "name": "CMsgFillBrush",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "opacity",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color_rgba",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgLinearGradient",
                    "name": "linear_gradient",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgRadialGradient",
                    "name": "radial_gradient",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgParticleSystem",
                    "name": "particle_system",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgFillBrushCollection",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgFillBrush",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "CMsgFillBrush",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "repeated",
                            "type": "CMsgFillBrush",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgFillBrushCollection.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1007
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgRenderFillBrushCollection",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CMsgFillBrush",
                    "name": "fill_brush",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgPanelPosition",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "scroll_offset",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "scroll_offset_target",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "scroll_transition_x",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "scroll_transition_y",
                    "id": 8
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgPoint",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgPanelPosition.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1011
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgOpacity",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgOpacity.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1004
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgRotate2D",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgRotate2D.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1014
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgOpacityMaskData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "opacity_mask_texture_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "opacity_mask_opacity",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgOpacityMask",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgOpacityMaskData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgOpacityMaskData",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgOpacityMaskData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgOpacityMask.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1013
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgHueShift",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgHueShift.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1019
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSaturation",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgSaturation.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1005
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgBrightness",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgBrightness.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1020
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgContrast",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgContrast.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1021
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgGaussianValues",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "passes",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "stddev_hor",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "stddev_ver",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgGaussianBlur",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgGaussianValues",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgGaussianValues",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgGaussianValues",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgGaussianBlur.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1008
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsg3DTransformPerspective",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "double",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsg3DTransformPerspective.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1003
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsg3DTransformPerspectiveOrigin",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgPoint",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsg3DTransformPerspectiveOrigin.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1002
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgTransformOriginData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "x",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "y",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "x_is_percent",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "y_is_percent",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "is_parent_relative",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsg3DTransformOrigin",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgTransformOriginData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransformOriginData",
                    "name": "transition",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgTransformOriginData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsg3DTransformOrigin.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1015
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsg3DTransformMatrix",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgMatrix4x4",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgMatrix4x4",
                    "name": "transition",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgMatrix4x4",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsg3DTransformMatrix.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1000
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgBorderRadius",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CRadiusData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CRadiusData",
                    "name": "transition",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CRadiusData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgBorderRadius.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1006
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgBorder",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CBorderData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CBorderData",
                    "name": "transition",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CBorderData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgBorder.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1009
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgBoxShadow",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CBoxShadowData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CBoxShadowData",
                    "name": "transition",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CBoxShadowData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgBoxShadow.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1010
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgTextShadow",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CTextShadowData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CTextShadowData",
                    "name": "transition",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CTextShadowData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgTextShadow.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1017
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgClip",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgClipData",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgTransitionData",
                    "name": "transition_data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgClipData",
                    "name": "transition",
                    "id": 3
                },
                {
                    "rule": "repeated",
                    "type": "CMsgAnimationData",
                    "name": "animations",
                    "id": 4
                }
            ],
            "messages": [
                {
                    "name": "AnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgClipData",
                            "name": "data",
                            "id": 1
                        }
                    ]
                },
                {
                    "ref": "CMsgAnimationFrameData",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "CMsgClip.AnimationFrameData",
                            "name": "animation_frame_data",
                            "id": 1018
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgPushClipLayer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CRadiusData",
                    "name": "border_radius",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgPopClipLayer",
            "fields": []
        },
        {
            "name": "CMsgPushAAndTContext",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "context_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "width",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "height",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "chilren_have_3dtransforms",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "zindex",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgPanelPosition",
                    "name": "panel_position",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "CMsg3DTransformMatrix",
                    "name": "transform_matrix",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "CMsg3DTransformOrigin",
                    "name": "transform_origin",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "CMsg3DTransformPerspective",
                    "name": "transform_perspective",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "CMsg3DTransformPerspectiveOrigin",
                    "name": "transform_perspective_origin",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "CMsgOpacity",
                    "name": "opacity",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "CMsgColor",
                    "name": "wash_color",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "CMsgHueShift",
                    "name": "hue_shift",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "CMsgSaturation",
                    "name": "saturation",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "CMsgBrightness",
                    "name": "brightness",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "CMsgContrast",
                    "name": "contrast",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "CMsgOpacityMask",
                    "name": "opacity_mask",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "CMsgBorderRadius",
                    "name": "border_radius",
                    "id": 19
                },
                {
                    "rule": "optional",
                    "type": "CMsgGaussianBlur",
                    "name": "gaussian_blur",
                    "id": 20
                },
                {
                    "rule": "optional",
                    "type": "CMsgBorder",
                    "name": "border",
                    "id": 21
                },
                {
                    "rule": "optional",
                    "type": "CMsgBoxShadow",
                    "name": "box_shadow",
                    "id": 22
                },
                {
                    "rule": "optional",
                    "type": "CMsgPointWithTransition",
                    "name": "scale_2d_centered",
                    "id": 23
                },
                {
                    "rule": "optional",
                    "type": "CMsgRotate2D",
                    "name": "rotate_2d_centered",
                    "id": 24
                },
                {
                    "rule": "optional",
                    "type": "CMsgTextShadow",
                    "name": "text_shadow",
                    "id": 25
                },
                {
                    "rule": "optional",
                    "type": "CMsgClip",
                    "name": "clip",
                    "id": 26
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "suppress_clip_to_bounds",
                    "id": 27
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "needs_full_repaint",
                    "id": 28
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "wants_hit_test",
                    "id": 29
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "mix_blend_mode",
                    "id": 30
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "opaque_background",
                    "id": 31
                }
            ]
        },
        {
            "name": "CMsgPopAAndTContext",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "context_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgBeginPaintBackground",
            "fields": []
        },
        {
            "name": "CMsgEndPaintBackground",
            "fields": []
        },
        {
            "name": "CMsgBeginPaintLast",
            "fields": []
        },
        {
            "name": "CMsgEndPaintLast",
            "fields": []
        },
        {
            "name": "CMsgDrawFilledRect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgFillBrushCollection",
                    "name": "fill_brush_collection",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "antialiasing",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgRenderFilledRect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgRenderFillBrushCollection",
                    "name": "fill_brush_collection",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "antialiasing",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgDrawTexturedRect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_top_left",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_bottom_right",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "texture_serial",
                    "id": 6,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_sample_mode",
                    "id": 7,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CMsgDrawDoubleBufferedRect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_top_left",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_bottom_right",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgDrawYUV420DoubleBufferedRect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_top_left",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_bottom_right",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgRenderTexturedRect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_top_left",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "texture_bottom_right",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "texture_serial",
                    "id": 6,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_sample_mode",
                    "id": 7,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CMsgLockTexture",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "texture_id",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "texture_serial",
                    "id": 2,
                    "options": {
                        "default": 0
                    }
                }
            ]
        },
        {
            "name": "CMsgTextInlineObject",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "width",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "height",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgTextFormat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "font_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "font_size",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "font_weight",
                    "id": 3,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "font_style",
                    "id": 4,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "underline",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "strikethrough",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgFillBrushCollection",
                    "name": "fill_brush_collection",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "letter_spacing",
                    "id": 8,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgTextInlineObject",
                    "name": "inline_object",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgTextRangeFormat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "end_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTextFormat",
                    "name": "format",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgRenderTextFormat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "font_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "double",
                    "name": "font_size",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "font_weight",
                    "id": 3,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "font_style",
                    "id": 4,
                    "options": {
                        "default": -1
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "underline",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "strikethrough",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgRenderFillBrushCollection",
                    "name": "fill_brush_collection",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "letter_spacing",
                    "id": 8,
                    "options": {
                        "default": 0
                    }
                },
                {
                    "rule": "optional",
                    "type": "CMsgTextInlineObject",
                    "name": "inline_object",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgRenderTextRangeFormat",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "end_index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgRenderTextFormat",
                    "name": "format",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgDrawTextRegion",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "wtext",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgTextFormat",
                    "name": "default_format",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "text_align",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "line_height",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "wrapping",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "ellipsis",
                    "id": 9
                },
                {
                    "rule": "repeated",
                    "type": "CMsgTextRangeFormat",
                    "name": "range_formats",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgRenderTextRegion",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "wtext",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgRenderTextFormat",
                    "name": "default_format",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "text_align",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "line_height",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "wrapping",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "ellipsis",
                    "id": 9
                },
                {
                    "rule": "repeated",
                    "type": "CMsgRenderTextRangeFormat",
                    "name": "range_formats",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "CTextShadowData",
                    "name": "text_shadow",
                    "id": 11
                }
            ]
        },
        {
            "name": "CMsgRequestRenderCallback",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "callback_obj",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "top_left_padding",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgPoint",
                    "name": "bottom_right_padding",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "needs_redraw_every_frame",
                    "id": 6
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramRouterPingReply",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_timestamp",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "fixed32",
                    "name": "latency_datacenter_ids",
                    "id": 2,
                    "options": {
                        "packed": true
                    }
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "latency_ping_ms",
                    "id": 3,
                    "options": {
                        "packed": true
                    }
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "your_public_ip",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "server_time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "challenge",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_until_shutdown",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramGameserverPing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_session",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "client_steam_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_timestamp",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "router_timestamp",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "router_gameserver_latency",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_number_router",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_number_e2e",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramGameServerAuthTicket",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "time_expiry",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "authorized_steam_id",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "authorized_public_ip",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "gameserver_steam_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "gameserver_net_id",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "signature",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "app_id",
                    "id": 7
                },
                {
                    "rule": "repeated",
                    "type": "ExtraField",
                    "name": "extra_fields",
                    "id": 8
                }
            ],
            "messages": [
                {
                    "name": "ExtraField",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "string_value",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "sint32",
                            "name": "int32_value",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "fixed32_value",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "fixed64_value",
                            "id": 5
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramGameserverSessionRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramGameServerAuthTicket",
                    "name": "ticket",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "challenge_time",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "challenge",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramGameserverSessionEstablished",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "gameserver_steam_id",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_until_shutdown",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramNoSession",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "your_public_ip",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "server_time",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "challenge",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_until_shutdown",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramDiagnostic",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "severity",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramDataCenterState",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "DataCenter",
                    "name": "data_centers",
                    "id": 1
                }
            ],
            "messages": [
                {
                    "name": "Server",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "address",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "ping_ms",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "DataCenter",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "code",
                            "id": 1
                        },
                        {
                            "rule": "repeated",
                            "type": "Server",
                            "name": "server_sample",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramLinkInstantaneousStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "out_packets_per_sec_x10",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "out_bytes_per_sec",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "in_packets_per_sec_x10",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "in_bytes_per_sec",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ping_ms",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "packets_dropped_pct",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "packets_weird_sequence_pct",
                    "id": 7
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramLinkLifetimeStats",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_sent",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "kb_sent",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_recv",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "kb_recv",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_recv_sequenced",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_recv_dropped",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_recv_out_of_order",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_recv_duplicate",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "packets_recv_lurch",
                    "id": 11
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramConnectionQuality",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramLinkInstantaneousStats",
                    "name": "instantaneous",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramLinkLifetimeStats",
                    "name": "lifetime",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramConnectionStatsClientToRouter",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramConnectionQuality",
                    "name": "c2r",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramConnectionQuality",
                    "name": "c2s",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_timestamp",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_num_c2r",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_num_c2s",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramConnectionStatsRouterToClient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramConnectionQuality",
                    "name": "r2c",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramConnectionQuality",
                    "name": "s2c",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_timestamp_from_router",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_timestamp_from_server",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "router_gameserver_latency",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seconds_until_shutdown",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_num_r2c",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_num_s2c",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramConnectionStatsRouterToServer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgSteamDatagramConnectionQuality",
                    "name": "c2s",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_timestamp",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "router_timestamp",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "seq_num_c2s",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "client_steam_id",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "client_session_id",
                    "id": 8
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramClientPingSampleRequest",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramClientPingSampleReply",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "RoutingCluster",
                    "name": "routing_clusters",
                    "id": 2
                }
            ],
            "messages": [
                {
                    "name": "RoutingCluster",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed32",
                            "name": "id",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "front_ping_ms",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "e2e_ping_ms",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CMsgSteamDatagramClientSwitchedPrimary",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "client_cookie",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "from_ip",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "from_port",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "from_router_cluster",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "from_active_time",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "from_active_packets_recv",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "from_dropped_reason",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "gap_ms",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "RouterQuality",
                    "name": "from_quality_now",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "RouterQuality",
                    "name": "to_quality_now",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "RouterQuality",
                    "name": "from_quality_then",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "RouterQuality",
                    "name": "to_quality_then",
                    "id": 12
                }
            ],
            "messages": [
                {
                    "name": "RouterQuality",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "score",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "front_ping",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "back_ping",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "uint32",
                            "name": "seconds_until_down",
                            "id": 4
                        }
                    ]
                }
            ]
        },
        {
            "name": "CCloud_GetUploadServerInfo_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1,
                    "options": {
                        "(description)": "App ID to which a file will be uploaded to."
                    }
                }
            ]
        },
        {
            "name": "CCloud_GetUploadServerInfo_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "server_url",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCloud_GetFileDetails_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "ugcid",
                    "id": 1,
                    "options": {
                        "(description)": "ID of the Cloud file to get details for."
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 2,
                    "options": {
                        "(description)": "App ID the file belongs to."
                    }
                }
            ]
        },
        {
            "name": "CCloud_UserFile",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "ugcid",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "filename",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint64",
                    "name": "timestamp",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "file_size",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "url",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "steamid_creator",
                    "id": 7
                }
            ]
        },
        {
            "name": "CCloud_GetFileDetails_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CCloud_UserFile",
                    "name": "details",
                    "id": 1
                }
            ]
        },
        {
            "name": "CCloud_EnumerateUserFiles_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 1,
                    "options": {
                        "(description)": "App ID to enumerate the files of."
                    }
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "extended_details",
                    "id": 2,
                    "options": {
                        "(description)": "(Optional) Get extended details back on the files found. Defaults to only returned the app Id and UGC Id of the files found."
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "count",
                    "id": 3,
                    "options": {
                        "(description)": "(Optional) Maximum number of results to return on this call. Defaults to a maximum of 500 files returned."
                    }
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "start_index",
                    "id": 4,
                    "options": {
                        "(description)": "(Optional) Starting index to begin enumeration at. Defaults to the beginning of the list."
                    }
                }
            ]
        },
        {
            "name": "CCloud_EnumerateUserFiles_Response",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "CCloud_UserFile",
                    "name": "files",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "total_files",
                    "id": 2
                }
            ]
        },
        {
            "name": "CCloud_Delete_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "filename",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "appid",
                    "id": 2,
                    "options": {
                        "(description)": "App ID the file belongs to."
                    }
                }
            ]
        },
        {
            "name": "CCloud_Delete_Response",
            "fields": []
        },
        {
            "name": "COAuthToken_ImplicitGrantNoPrompt_Request",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "clientid",
                    "id": 1,
                    "options": {
                        "(description)": "Client ID for which to count the number of issued tokens"
                    }
                }
            ]
        },
        {
            "name": "COAuthToken_ImplicitGrantNoPrompt_Response",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "access_token",
                    "id": 1,
                    "options": {
                        "(description)": "OAuth Token, granted on success"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "redirect_uri",
                    "id": 2,
                    "options": {
                        "(description)": "Redirection URI provided during client registration."
                    }
                }
            ]
        },
        {
            "name": "CMsgTEArmorRicochet",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "pos",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "dir",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgTEBaseBeam",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "modelindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "haloindex",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "startframe",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "framerate",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "life",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "width",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "endwidth",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "fadelength",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "amplitude",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "speed",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 12
                }
            ]
        },
        {
            "name": "CMsgTEBeamEntPoint",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgTEBaseBeam",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "startentity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "endentity",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "start",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "end",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgTEBeamEnts",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgTEBaseBeam",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "startentity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "endentity",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEBeamPoints",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgTEBaseBeam",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "start",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "end",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEBeamRing",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgTEBaseBeam",
                    "name": "base",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "startentity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "endentity",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEBreakModel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angles",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "size",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "velocity",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "randomization",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "modelindex",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "count",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "time",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgTEBSPDecal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "saxis",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entity",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "index",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgTEBubbles",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "mins",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "maxs",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "height",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "count",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "speed",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgTEBubbleTrail",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "mins",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "maxs",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "waterz",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "count",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "speed",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgTEDecal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "start",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entity",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hitbox",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "index",
                    "id": 5
                }
            ]
        },
        {
            "name": "CMsgEffectData",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "start",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angles",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "entity",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "otherentity",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "magnitude",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "radius",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "surfaceprop",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "effectindex",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "damagetype",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "material",
                    "id": 13
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hitbox",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 16
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "attachmentindex",
                    "id": 17
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "effectname",
                    "id": 18
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "attachmentname",
                    "id": 19
                }
            ]
        },
        {
            "name": "CMsgTEEffectDispatch",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgEffectData",
                    "name": "effectdata",
                    "id": 1
                }
            ]
        },
        {
            "name": "CMsgTEEnergySplash",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "pos",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "dir",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "explosive",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEFizz",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entity",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "density",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "current",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEShatterSurface",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angles",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "force",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "forcepos",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "width",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "height",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "shardsize",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "surfacetype",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "frontcolor",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "backcolor",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgTEGlowSprite",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "life",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "brightness",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTEImpact",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "type",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEMuzzleFlash",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angles",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "type",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTEBloodStream",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "direction",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "amount",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTEExplosion",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "framerate",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "materialtype",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "radius",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "magnitude",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "affect_ragdolls",
                    "id": 9
                }
            ]
        },
        {
            "name": "CMsgTEDust",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "size",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "speed",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "direction",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTELargeFunnel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "reversed",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgTESparks",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "magnitude",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "length",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "direction",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTEPhysicsProp",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "velocity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angles",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "skin",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "effects",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "fixed64",
                    "name": "modelindex",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "breakmodelsnottomake",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 10
                }
            ]
        },
        {
            "name": "CMsgTEPlayerDecal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "player",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entity",
                    "id": 3
                }
            ]
        },
        {
            "name": "CMsgTEProjectedDecal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angles",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "distance",
                    "id": 4
                }
            ]
        },
        {
            "name": "CMsgTESmoke",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "scale",
                    "id": 2
                }
            ]
        },
        {
            "name": "CMsgTEWorldDecal",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "index",
                    "id": 3
                }
            ]
        },
        {
            "name": "ChangeMapToolEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "mapname",
                    "id": 1
                }
            ]
        },
        {
            "name": "TraceRayServerToolEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "start",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "end",
                    "id": 2
                }
            ]
        },
        {
            "name": "ToolTraceRayResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "hit",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "impact",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "normal",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "distance",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fraction",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ehandle",
                    "id": 6
                }
            ]
        },
        {
            "name": "SpawnEntityToolEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "entity_keyvalues",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "clientsideentity",
                    "id": 2
                }
            ]
        },
        {
            "name": "SpawnEntityToolEventResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ehandle",
                    "id": 1
                }
            ]
        },
        {
            "name": "DestroyEntityToolEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ehandle",
                    "id": 1
                }
            ]
        },
        {
            "name": "DestroyAllEntitiesToolEvent",
            "fields": []
        },
        {
            "name": "RestartMapToolEvent",
            "fields": []
        },
        {
            "name": "ToolEvent_GetEntityInfo",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ehandle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "clientsideentity",
                    "id": 2
                }
            ]
        },
        {
            "name": "ToolEvent_GetEntityInfoResult",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "cppclass",
                    "id": 1,
                    "options": {
                        "default": "shithead"
                    }
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "classname",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "mins",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "maxs",
                    "id": 6
                }
            ]
        },
        {
            "name": "ToolEvent_GetEntityInputs",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ehandle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "clientsideentity",
                    "id": 2
                }
            ]
        },
        {
            "name": "ToolEvent_GetEntityInputsResult",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "input_list",
                    "id": 1
                }
            ]
        },
        {
            "name": "ToolEvent_FireEntityInput",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ehandle",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "clientsideentity",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "input_name",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "input_param",
                    "id": 4
                }
            ]
        },
        {
            "name": "ToolEvent_SFMRecordingStateChanged",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "isrecording",
                    "id": 1
                }
            ]
        },
        {
            "name": "ToolEvent_SFMToolActiveStateChanged",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "isactive",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageAchievementEvent",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "achievement",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageCloseCaption",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "hash",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "from_player",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ent_index",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageCloseCaptionDirect",
            "fields": [
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "hash",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "from_player",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ent_index",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageCloseCaptionPlaceholder",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "string",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "from_player",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "ent_index",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageCurrentTimescale",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "current",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageDesiredTimescale",
            "fields": [
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "desired",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "acceleration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "minblendrate",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "blenddeltamultiplier",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageFade",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "duration",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "hold_time",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "flags",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageShake",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "command",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "amplitude",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "frequency",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageShakeDir",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CUserMessageShake",
                    "name": "shake",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "direction",
                    "id": 2
                }
            ]
        },
        {
            "name": "CUserMessageScreenTilt",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "command",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "ease_in_out",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "angle",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "time",
                    "id": 5
                }
            ]
        },
        {
            "name": "CUserMessageSayText",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "playerindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "chat",
                    "id": 3
                }
            ]
        },
        {
            "name": "CUserMessageSayText2",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entityindex",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "chat",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "messagename",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "param1",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "param2",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "param3",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "param4",
                    "id": 7
                }
            ]
        },
        {
            "name": "CUserMessageHudMsg",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "channel",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "x",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "y",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color1",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color2",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "effect",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fade_in_time",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fade_out_time",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "hold_time",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "fx_time",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 11
                }
            ]
        },
        {
            "name": "CUserMessageHudText",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageTextMsg",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "dest",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "param",
                    "id": 2
                }
            ]
        },
        {
            "name": "CUserMessageGameTitle",
            "fields": []
        },
        {
            "name": "CUserMessageResetHUD",
            "fields": []
        },
        {
            "name": "CUserMessageSendAudio",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "soundname",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "stop",
                    "id": 2
                }
            ]
        },
        {
            "name": "CUserMessageAudioParameter",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "parameter_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "name_hash_code",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "value",
                    "id": 3
                }
            ]
        },
        {
            "name": "CUserMessageVoiceMask",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "gamerules_masks",
                    "id": 1
                },
                {
                    "rule": "repeated",
                    "type": "uint32",
                    "name": "ban_masks",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "mod_enable",
                    "id": 3
                }
            ]
        },
        {
            "name": "CUserMessageRequestState",
            "fields": []
        },
        {
            "name": "CUserMessageHintText",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "message",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageKeyHintText",
            "fields": [
                {
                    "rule": "repeated",
                    "type": "string",
                    "name": "messages",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageVoiceSubtitle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "menu",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "item",
                    "id": 3
                }
            ]
        },
        {
            "name": "CUserMessageVGUIMenu",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "show",
                    "id": 2
                },
                {
                    "rule": "repeated",
                    "type": "Keys",
                    "name": "keys",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Keys",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "name",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "value",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CUserMessageRumble",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "index",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "data",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "flags",
                    "id": 3
                }
            ]
        },
        {
            "name": "CUserMessageTrain",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "position",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageSayTextChannel",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "player",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "channel",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 3
                }
            ]
        },
        {
            "name": "CUserMessageColoredText",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "color",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "text",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "reset",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "context_player_id",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "context_value",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "context_team_id",
                    "id": 6
                }
            ]
        },
        {
            "name": "CUserMessageItemPickup",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "itemname",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageAmmoDenied",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "ammo_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageCrosshairAngle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angcrosshair",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMessageShowMenu",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "validslots",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "displaytime",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "needmore",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "menustring",
                    "id": 4
                }
            ]
        },
        {
            "name": "CUserMessageCreditsMsg",
            "fields": [
                {
                    "rule": "optional",
                    "type": "eRollType",
                    "name": "rolltype",
                    "id": 1,
                    "options": {
                        "default": "ROLL_NONE"
                    }
                }
            ]
        },
        {
            "name": "CEntityMessagePlayJingle",
            "fields": []
        },
        {
            "name": "CEntityMessageScreenOverlay",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "start_effect",
                    "id": 1
                }
            ]
        },
        {
            "name": "CEntityMessageRemoveAllDecals",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "remove_decals",
                    "id": 1
                }
            ]
        },
        {
            "name": "CEntityMessagePropagateForce",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "impulse",
                    "id": 1
                }
            ]
        },
        {
            "name": "CEntityMessageDoSpark",
            "fields": [
                {
                    "rule": "optional",
                    "type": "CMsgVector",
                    "name": "origin",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "entityindex",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "radius",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "fixed32",
                    "name": "color",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "beams",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "thick",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 7
                }
            ]
        },
        {
            "name": "CEntityMessageFixAngle",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bool",
                    "name": "relative",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "CMsgQAngle",
                    "name": "angle",
                    "id": 2
                }
            ]
        },
        {
            "name": "CUserMessageCameraTransition",
            "fields": [
                {
                    "rule": "optional",
                    "type": "uint32",
                    "name": "camera_type",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "float",
                    "name": "duration",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "Transition_DataDriven",
                    "name": "params_data_driven",
                    "id": 3
                }
            ],
            "messages": [
                {
                    "name": "Transition_DataDriven",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "string",
                            "name": "filename",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attach_ent_index",
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "name": "CUserMsg_ParticleManager",
            "fields": [
                {
                    "rule": "required",
                    "type": "PARTICLE_MESSAGE",
                    "name": "type",
                    "id": 1,
                    "options": {
                        "default": "GAME_PARTICLE_MANAGER_EVENT_CREATE"
                    }
                },
                {
                    "rule": "required",
                    "type": "uint32",
                    "name": "index",
                    "id": 2
                },
                {
                    "rule": "optional",
                    "type": "ReleaseParticleIndex",
                    "name": "release_particle_index",
                    "id": 3
                },
                {
                    "rule": "optional",
                    "type": "CreateParticle",
                    "name": "create_particle",
                    "id": 4
                },
                {
                    "rule": "optional",
                    "type": "DestroyParticle",
                    "name": "destroy_particle",
                    "id": 5
                },
                {
                    "rule": "optional",
                    "type": "DestroyParticleInvolving",
                    "name": "destroy_particle_involving",
                    "id": 6
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticle",
                    "name": "update_particle",
                    "id": 7
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleFwd",
                    "name": "update_particle_fwd",
                    "id": 8
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleOrient",
                    "name": "update_particle_orient",
                    "id": 9
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleFallback",
                    "name": "update_particle_fallback",
                    "id": 10
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleOffset",
                    "name": "update_particle_offset",
                    "id": 11
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleEnt",
                    "name": "update_particle_ent",
                    "id": 12
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleShouldDraw",
                    "name": "update_particle_should_draw",
                    "id": 14
                },
                {
                    "rule": "optional",
                    "type": "UpdateParticleSetFrozen",
                    "name": "update_particle_set_frozen",
                    "id": 15
                },
                {
                    "rule": "optional",
                    "type": "ChangeControlPointAttachment",
                    "name": "change_control_point_attachment",
                    "id": 16
                }
            ],
            "messages": [
                {
                    "name": "ReleaseParticleIndex",
                    "fields": []
                },
                {
                    "name": "CreateParticle",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "fixed64",
                            "name": "particle_name_index",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attach_type",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "DestroyParticle",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "destroy_immediately",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "DestroyParticleInvolving",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "destroy_immediately",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 3
                        }
                    ]
                },
                {
                    "name": "UpdateParticle",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "position",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleFwd",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "forward",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleOrient",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "forward",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "right",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "up",
                            "id": 4
                        }
                    ]
                },
                {
                    "name": "UpdateParticleFallback",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "position",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleOffset",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "origin_offset",
                            "id": 2
                        }
                    ]
                },
                {
                    "name": "UpdateParticleEnt",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "control_point",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attach_type",
                            "id": 3
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attachment",
                            "id": 4
                        },
                        {
                            "rule": "optional",
                            "type": "CMsgVector",
                            "name": "fallback_position",
                            "id": 5
                        },
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "include_wearables",
                            "id": 6
                        }
                    ]
                },
                {
                    "name": "UpdateParticleSetFrozen",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "set_frozen",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "UpdateParticleShouldDraw",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "bool",
                            "name": "should_draw",
                            "id": 1
                        }
                    ]
                },
                {
                    "name": "ChangeControlPointAttachment",
                    "fields": [
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attachment_old",
                            "id": 1
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "attachment_new",
                            "id": 2
                        },
                        {
                            "rule": "optional",
                            "type": "int32",
                            "name": "entity_handle",
                            "id": 3
                        }
                    ]
                }
            ]
        },
        {
            "name": "CUserMsg_HudError",
            "fields": [
                {
                    "rule": "optional",
                    "type": "int32",
                    "name": "order_id",
                    "id": 1
                }
            ]
        },
        {
            "name": "CUserMsg_CustomGameEvent_ClientToServer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "event_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 2
                }
            ]
        },
        {
            "name": "CUserMsg_CustomGameEvent_ServerToClient",
            "fields": [
                {
                    "rule": "optional",
                    "type": "string",
                    "name": "event_name",
                    "id": 1
                },
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 2
                }
            ]
        },
        {
            "name": "CUserMsg_TrackedControllerInput_ClientToServer",
            "fields": [
                {
                    "rule": "optional",
                    "type": "bytes",
                    "name": "data",
                    "id": 1
                }
            ]
        }
    ],
    "enums": [
        {
            "name": "GCProtoBufMsgSrc",
            "values": [
                {
                    "name": "GCProtoBufMsgSrc_Unspecified",
                    "id": 0
                },
                {
                    "name": "GCProtoBufMsgSrc_FromSystem",
                    "id": 1
                },
                {
                    "name": "GCProtoBufMsgSrc_FromSteamID",
                    "id": 2
                },
                {
                    "name": "GCProtoBufMsgSrc_FromGC",
                    "id": 3
                },
                {
                    "name": "GCProtoBufMsgSrc_ReplySystem",
                    "id": 4
                }
            ]
        },
        {
            "name": "EGCBaseMsg",
            "values": [
                {
                    "name": "k_EMsgGCSystemMessage",
                    "id": 4001
                },
                {
                    "name": "k_EMsgGCReplicateConVars",
                    "id": 4002
                },
                {
                    "name": "k_EMsgGCConVarUpdated",
                    "id": 4003
                },
                {
                    "name": "k_EMsgGCInviteToParty",
                    "id": 4501
                },
                {
                    "name": "k_EMsgGCInvitationCreated",
                    "id": 4502
                },
                {
                    "name": "k_EMsgGCPartyInviteResponse",
                    "id": 4503
                },
                {
                    "name": "k_EMsgGCKickFromParty",
                    "id": 4504
                },
                {
                    "name": "k_EMsgGCLeaveParty",
                    "id": 4505
                },
                {
                    "name": "k_EMsgGCServerAvailable",
                    "id": 4506
                },
                {
                    "name": "k_EMsgGCClientConnectToServer",
                    "id": 4507
                },
                {
                    "name": "k_EMsgGCGameServerInfo",
                    "id": 4508
                },
                {
                    "name": "k_EMsgGCError",
                    "id": 4509
                },
                {
                    "name": "k_EMsgGCReplay_UploadedToYouTube",
                    "id": 4510
                },
                {
                    "name": "k_EMsgGCLANServerAvailable",
                    "id": 4511
                },
                {
                    "name": "k_EMsgGCInviteToLobby",
                    "id": 4512
                },
                {
                    "name": "k_EMsgGCLobbyInviteResponse",
                    "id": 4513
                }
            ]
        },
        {
            "name": "EGCBaseProtoObjectTypes",
            "values": [
                {
                    "name": "k_EProtoObjectPartyInvite",
                    "id": 1001
                },
                {
                    "name": "k_EProtoObjectLobbyInvite",
                    "id": 1002
                }
            ]
        },
        {
            "name": "ECustomGameInstallStatus",
            "values": [
                {
                    "name": "k_ECustomGameInstallStatus_Unknown",
                    "id": 0
                },
                {
                    "name": "k_ECustomGameInstallStatus_Ready",
                    "id": 1
                },
                {
                    "name": "k_ECustomGameInstallStatus_Busy",
                    "id": 2
                },
                {
                    "name": "k_ECustomGameInstallStatus_FailedGeneric",
                    "id": 101
                },
                {
                    "name": "k_ECustomGameInstallStatus_FailedInternalError",
                    "id": 102
                },
                {
                    "name": "k_ECustomGameInstallStatus_RequestedTimestampTooOld",
                    "id": 103
                },
                {
                    "name": "k_ECustomGameInstallStatus_RequestedTimestampTooNew",
                    "id": 104
                },
                {
                    "name": "k_ECustomGameInstallStatus_CRCMismatch",
                    "id": 105
                },
                {
                    "name": "k_ECustomGameInstallStatus_FailedSteam",
                    "id": 106
                },
                {
                    "name": "k_ECustomGameInstallStatus_FailedCanceled",
                    "id": 107
                }
            ]
        },
        {
            "name": "GC_BannedWordType",
            "values": [
                {
                    "name": "GC_BANNED_WORD_DISABLE_WORD",
                    "id": 0
                },
                {
                    "name": "GC_BANNED_WORD_ENABLE_WORD",
                    "id": 1
                }
            ]
        },
        {
            "name": "ENetworkDisconnectionReason",
            "values": [
                {
                    "name": "NETWORK_DISCONNECT_INVALID",
                    "id": 0
                },
                {
                    "name": "NETWORK_DISCONNECT_SHUTDOWN",
                    "id": 1
                },
                {
                    "name": "NETWORK_DISCONNECT_DISCONNECT_BY_USER",
                    "id": 2
                },
                {
                    "name": "NETWORK_DISCONNECT_DISCONNECT_BY_SERVER",
                    "id": 3
                },
                {
                    "name": "NETWORK_DISCONNECT_LOST",
                    "id": 4
                },
                {
                    "name": "NETWORK_DISCONNECT_OVERFLOW",
                    "id": 5
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_BANNED",
                    "id": 6
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_INUSE",
                    "id": 7
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_TICKET",
                    "id": 8
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_LOGON",
                    "id": 9
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_AUTHCANCELLED",
                    "id": 10
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED",
                    "id": 11
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_AUTHINVALID",
                    "id": 12
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_VACBANSTATE",
                    "id": 13
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE",
                    "id": 14
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT",
                    "id": 15
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_DROPPED",
                    "id": 16
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_OWNERSHIP",
                    "id": 17
                },
                {
                    "name": "NETWORK_DISCONNECT_SERVERINFO_OVERFLOW",
                    "id": 18
                },
                {
                    "name": "NETWORK_DISCONNECT_TICKMSG_OVERFLOW",
                    "id": 19
                },
                {
                    "name": "NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW",
                    "id": 20
                },
                {
                    "name": "NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW",
                    "id": 21
                },
                {
                    "name": "NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW",
                    "id": 22
                },
                {
                    "name": "NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW",
                    "id": 23
                },
                {
                    "name": "NETWORK_DISCONNECT_SNAPSHOTOVERFLOW",
                    "id": 24
                },
                {
                    "name": "NETWORK_DISCONNECT_SNAPSHOTERROR",
                    "id": 25
                },
                {
                    "name": "NETWORK_DISCONNECT_RELIABLEOVERFLOW",
                    "id": 26
                },
                {
                    "name": "NETWORK_DISCONNECT_BADDELTATICK",
                    "id": 27
                },
                {
                    "name": "NETWORK_DISCONNECT_NOMORESPLITS",
                    "id": 28
                },
                {
                    "name": "NETWORK_DISCONNECT_TIMEDOUT",
                    "id": 29
                },
                {
                    "name": "NETWORK_DISCONNECT_DISCONNECTED",
                    "id": 30
                },
                {
                    "name": "NETWORK_DISCONNECT_LEAVINGSPLIT",
                    "id": 31
                },
                {
                    "name": "NETWORK_DISCONNECT_DIFFERENTCLASSTABLES",
                    "id": 32
                },
                {
                    "name": "NETWORK_DISCONNECT_BADRELAYPASSWORD",
                    "id": 33
                },
                {
                    "name": "NETWORK_DISCONNECT_BADSPECTATORPASSWORD",
                    "id": 34
                },
                {
                    "name": "NETWORK_DISCONNECT_HLTVRESTRICTED",
                    "id": 35
                },
                {
                    "name": "NETWORK_DISCONNECT_NOSPECTATORS",
                    "id": 36
                },
                {
                    "name": "NETWORK_DISCONNECT_HLTVUNAVAILABLE",
                    "id": 37
                },
                {
                    "name": "NETWORK_DISCONNECT_HLTVSTOP",
                    "id": 38
                },
                {
                    "name": "NETWORK_DISCONNECT_KICKED",
                    "id": 39
                },
                {
                    "name": "NETWORK_DISCONNECT_BANADDED",
                    "id": 40
                },
                {
                    "name": "NETWORK_DISCONNECT_KICKBANADDED",
                    "id": 41
                },
                {
                    "name": "NETWORK_DISCONNECT_HLTVDIRECT",
                    "id": 42
                },
                {
                    "name": "NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA",
                    "id": 43
                },
                {
                    "name": "NETWORK_DISCONNECT_PURESERVER_MISMATCH",
                    "id": 44
                },
                {
                    "name": "NETWORK_DISCONNECT_USERCMD",
                    "id": 45
                },
                {
                    "name": "NETWORK_DISCONNECT_REJECTED_BY_GAME",
                    "id": 46
                },
                {
                    "name": "NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR",
                    "id": 47
                },
                {
                    "name": "NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR",
                    "id": 48
                },
                {
                    "name": "NETWORK_DISCONNECT_BAD_SERVER_PASSWORD",
                    "id": 49
                },
                {
                    "name": "NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION",
                    "id": 50
                },
                {
                    "name": "NETWORK_DISCONNECT_CONNECTION_FAILURE",
                    "id": 51
                },
                {
                    "name": "NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS",
                    "id": 52
                },
                {
                    "name": "NETWORK_DISCONNECT_RECONNECTION",
                    "id": 53
                },
                {
                    "name": "NETWORK_DISCONNECT_LOOPSHUTDOWN",
                    "id": 54
                },
                {
                    "name": "NETWORK_DISCONNECT_LOOPDEACTIVATE",
                    "id": 55
                },
                {
                    "name": "NETWORK_DISCONNECT_HOST_ENDGAME",
                    "id": 56
                },
                {
                    "name": "NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE",
                    "id": 57
                },
                {
                    "name": "NETWORK_DISCONNECT_CREATE_SERVER_FAILED",
                    "id": 58
                },
                {
                    "name": "NETWORK_DISCONNECT_EXITING",
                    "id": 59
                },
                {
                    "name": "NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE",
                    "id": 60
                },
                {
                    "name": "NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY",
                    "id": 61
                },
                {
                    "name": "NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL",
                    "id": 62
                },
                {
                    "name": "NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP",
                    "id": 63
                },
                {
                    "name": "NETWORK_DISCONNECT_CLIENT_NO_MAP",
                    "id": 64
                },
                {
                    "name": "NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP",
                    "id": 65
                },
                {
                    "name": "NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM",
                    "id": 66
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_DENY_MISC",
                    "id": 67
                },
                {
                    "name": "NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT",
                    "id": 68
                },
                {
                    "name": "NETWORK_DISCONNECT_SERVER_SHUTDOWN",
                    "id": 69
                },
                {
                    "name": "NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW",
                    "id": 70
                },
                {
                    "name": "NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE",
                    "id": 71
                }
            ]
        },
        {
            "name": "NET_Messages",
            "values": [
                {
                    "name": "net_NOP",
                    "id": 0
                },
                {
                    "name": "net_Disconnect",
                    "id": 1
                },
                {
                    "name": "net_SplitScreenUser",
                    "id": 3
                },
                {
                    "name": "net_Tick",
                    "id": 4
                },
                {
                    "name": "net_StringCmd",
                    "id": 5
                },
                {
                    "name": "net_SetConVar",
                    "id": 6
                },
                {
                    "name": "net_SignonState",
                    "id": 7
                },
                {
                    "name": "net_SpawnGroup_Load",
                    "id": 8
                },
                {
                    "name": "net_SpawnGroup_ManifestUpdate",
                    "id": 9
                },
                {
                    "name": "net_SpawnGroup_SetCreationTick",
                    "id": 11
                },
                {
                    "name": "net_SpawnGroup_Unload",
                    "id": 12
                },
                {
                    "name": "net_SpawnGroup_LoadCompleted",
                    "id": 13
                }
            ]
        },
        {
            "name": "SpawnGroupFlags_t",
            "values": [
                {
                    "name": "SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE",
                    "id": 1
                },
                {
                    "name": "SPAWN_GROUP_DONT_SPAWN_ENTITIES",
                    "id": 2
                },
                {
                    "name": "SPAWN_GROUP_SYNCHRONOUS_SPAWN",
                    "id": 4
                },
                {
                    "name": "SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP",
                    "id": 8
                },
                {
                    "name": "SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES",
                    "id": 16
                },
                {
                    "name": "SPAWN_GROUP_SAVE_ENTITIES",
                    "id": 32
                },
                {
                    "name": "SPAWN_GROUP_BLOCK_UNTIL_LOADED",
                    "id": 64
                },
                {
                    "name": "SPAWN_GROUP_LOAD_STREAMING_DATA",
                    "id": 128
                },
                {
                    "name": "SPAWN_GROUP_CREATE_NEW_SCENE_WORLD",
                    "id": 256
                }
            ]
        },
        {
            "name": "CLC_Messages",
            "values": [
                {
                    "name": "clc_ClientInfo",
                    "id": 20
                },
                {
                    "name": "clc_Move",
                    "id": 21
                },
                {
                    "name": "clc_VoiceData",
                    "id": 22
                },
                {
                    "name": "clc_BaselineAck",
                    "id": 23
                },
                {
                    "name": "clc_ListenEvents",
                    "id": 24
                },
                {
                    "name": "clc_RespondCvarValue",
                    "id": 25
                },
                {
                    "name": "clc_FileCRCCheck",
                    "id": 26
                },
                {
                    "name": "clc_LoadingProgress",
                    "id": 27
                },
                {
                    "name": "clc_SplitPlayerConnect",
                    "id": 28
                },
                {
                    "name": "clc_ClientMessage",
                    "id": 29
                },
                {
                    "name": "clc_SplitPlayerDisconnect",
                    "id": 30
                },
                {
                    "name": "clc_ServerStatus",
                    "id": 31
                },
                {
                    "name": "clc_ServerPing",
                    "id": 32
                },
                {
                    "name": "clc_RequestPause",
                    "id": 33
                },
                {
                    "name": "clc_CmdKeyValues",
                    "id": 34
                }
            ]
        },
        {
            "name": "SVC_Messages",
            "values": [
                {
                    "name": "svc_ServerInfo",
                    "id": 40
                },
                {
                    "name": "svc_FlattenedSerializer",
                    "id": 41
                },
                {
                    "name": "svc_ClassInfo",
                    "id": 42
                },
                {
                    "name": "svc_SetPause",
                    "id": 43
                },
                {
                    "name": "svc_CreateStringTable",
                    "id": 44
                },
                {
                    "name": "svc_UpdateStringTable",
                    "id": 45
                },
                {
                    "name": "svc_VoiceInit",
                    "id": 46
                },
                {
                    "name": "svc_VoiceData",
                    "id": 47
                },
                {
                    "name": "svc_Print",
                    "id": 48
                },
                {
                    "name": "svc_Sounds",
                    "id": 49
                },
                {
                    "name": "svc_SetView",
                    "id": 50
                },
                {
                    "name": "svc_ClearAllStringTables",
                    "id": 51
                },
                {
                    "name": "svc_CmdKeyValues",
                    "id": 52
                },
                {
                    "name": "svc_BSPDecal",
                    "id": 53
                },
                {
                    "name": "svc_SplitScreen",
                    "id": 54
                },
                {
                    "name": "svc_PacketEntities",
                    "id": 55
                },
                {
                    "name": "svc_Prefetch",
                    "id": 56
                },
                {
                    "name": "svc_Menu",
                    "id": 57
                },
                {
                    "name": "svc_GetCvarValue",
                    "id": 58
                },
                {
                    "name": "svc_StopSound",
                    "id": 59
                },
                {
                    "name": "svc_PeerList",
                    "id": 60
                },
                {
                    "name": "svc_PacketReliable",
                    "id": 61
                },
                {
                    "name": "svc_UserMessage",
                    "id": 62
                },
                {
                    "name": "svc_SendTable",
                    "id": 63
                },
                {
                    "name": "svc_GameEvent",
                    "id": 67
                },
                {
                    "name": "svc_TempEntities",
                    "id": 68
                },
                {
                    "name": "svc_GameEventList",
                    "id": 69
                },
                {
                    "name": "svc_FullFrameSplit",
                    "id": 70
                }
            ]
        },
        {
            "name": "VoiceDataFormat_t",
            "values": [
                {
                    "name": "VOICEDATA_FORMAT_STEAM",
                    "id": 0
                },
                {
                    "name": "VOICEDATA_FORMAT_ENGINE",
                    "id": 1
                }
            ]
        },
        {
            "name": "RequestPause_t",
            "values": [
                {
                    "name": "RP_PAUSE",
                    "id": 0
                },
                {
                    "name": "RP_UNPAUSE",
                    "id": 1
                },
                {
                    "name": "RP_TOGGLEPAUSE",
                    "id": 2
                }
            ]
        },
        {
            "name": "PrefetchType",
            "values": [
                {
                    "name": "PFT_SOUND",
                    "id": 0
                }
            ]
        },
        {
            "name": "ESplitScreenMessageType",
            "values": [
                {
                    "name": "MSG_SPLITSCREEN_ADDUSER",
                    "id": 0
                },
                {
                    "name": "MSG_SPLITSCREEN_REMOVEUSER",
                    "id": 1
                }
            ]
        },
        {
            "name": "EQueryCvarValueStatus",
            "values": [
                {
                    "name": "eQueryCvarValueStatus_ValueIntact",
                    "id": 0
                },
                {
                    "name": "eQueryCvarValueStatus_CvarNotFound",
                    "id": 1
                },
                {
                    "name": "eQueryCvarValueStatus_NotACvar",
                    "id": 2
                },
                {
                    "name": "eQueryCvarValueStatus_CvarProtected",
                    "id": 3
                }
            ]
        },
        {
            "name": "DIALOG_TYPE",
            "values": [
                {
                    "name": "DIALOG_MSG",
                    "id": 0
                },
                {
                    "name": "DIALOG_MENU",
                    "id": 1
                },
                {
                    "name": "DIALOG_TEXT",
                    "id": 2
                },
                {
                    "name": "DIALOG_ENTRY",
                    "id": 3
                },
                {
                    "name": "DIALOG_ASKCONNECT",
                    "id": 4
                }
            ]
        },
        {
            "name": "SVC_Messages_LowFrequency",
            "values": [
                {
                    "name": "svc_dummy",
                    "id": 600
                }
            ]
        },
        {
            "name": "Bidirectional_Messages",
            "values": [
                {
                    "name": "bi_RebroadcastGameEvent",
                    "id": 16
                },
                {
                    "name": "bi_RebroadcastSource",
                    "id": 17
                },
                {
                    "name": "bi_GameEvent",
                    "id": 18
                }
            ]
        },
        {
            "name": "Bidirectional_Messages_LowFrequency",
            "values": [
                {
                    "name": "bi_RelayInfo",
                    "id": 700
                },
                {
                    "name": "bi_RelayPacket",
                    "id": 701
                }
            ]
        },
        {
            "name": "P2P_Messages",
            "values": [
                {
                    "name": "p2p_TextMessage",
                    "id": 256
                },
                {
                    "name": "p2p_Voice",
                    "id": 257
                },
                {
                    "name": "p2p_Ping",
                    "id": 258
                }
            ]
        },
        {
            "name": "EDemoCommands",
            "values": [
                {
                    "name": "DEM_Error",
                    "id": -1
                },
                {
                    "name": "DEM_Stop",
                    "id": 0
                },
                {
                    "name": "DEM_FileHeader",
                    "id": 1
                },
                {
                    "name": "DEM_FileInfo",
                    "id": 2
                },
                {
                    "name": "DEM_SyncTick",
                    "id": 3
                },
                {
                    "name": "DEM_SendTables",
                    "id": 4
                },
                {
                    "name": "DEM_ClassInfo",
                    "id": 5
                },
                {
                    "name": "DEM_StringTables",
                    "id": 6
                },
                {
                    "name": "DEM_Packet",
                    "id": 7
                },
                {
                    "name": "DEM_SignonPacket",
                    "id": 8
                },
                {
                    "name": "DEM_ConsoleCmd",
                    "id": 9
                },
                {
                    "name": "DEM_CustomData",
                    "id": 10
                },
                {
                    "name": "DEM_CustomDataCallbacks",
                    "id": 11
                },
                {
                    "name": "DEM_UserCmd",
                    "id": 12
                },
                {
                    "name": "DEM_FullPacket",
                    "id": 13
                },
                {
                    "name": "DEM_SaveGame",
                    "id": 14
                },
                {
                    "name": "DEM_SpawnGroups",
                    "id": 15
                },
                {
                    "name": "DEM_Max",
                    "id": 16
                },
                {
                    "name": "DEM_IsCompressed",
                    "id": 64
                }
            ]
        },
        {
            "name": "EDotaBroadcastMessages",
            "values": [
                {
                    "name": "DOTA_BM_LANLobbyRequest",
                    "id": 1
                },
                {
                    "name": "DOTA_BM_LANLobbyReply",
                    "id": 2
                }
            ]
        },
        {
            "name": "EDOTAChatWheelMessage",
            "values": [
                {
                    "name": "k_EDOTA_CW_Ok",
                    "id": 0
                },
                {
                    "name": "k_EDOTA_CW_Care",
                    "id": 1
                },
                {
                    "name": "k_EDOTA_CW_GetBack",
                    "id": 2
                },
                {
                    "name": "k_EDOTA_CW_NeedWards",
                    "id": 3
                },
                {
                    "name": "k_EDOTA_CW_Stun",
                    "id": 4
                },
                {
                    "name": "k_EDOTA_CW_Help",
                    "id": 5
                },
                {
                    "name": "k_EDOTA_CW_Push",
                    "id": 6
                },
                {
                    "name": "k_EDOTA_CW_GoodJob",
                    "id": 7
                },
                {
                    "name": "k_EDOTA_CW_Missing",
                    "id": 8
                },
                {
                    "name": "k_EDOTA_CW_Missing_Top",
                    "id": 9
                },
                {
                    "name": "k_EDOTA_CW_Missing_Mid",
                    "id": 10
                },
                {
                    "name": "k_EDOTA_CW_Missing_Bottom",
                    "id": 11
                },
                {
                    "name": "k_EDOTA_CW_Go",
                    "id": 12
                },
                {
                    "name": "k_EDOTA_CW_Initiate",
                    "id": 13
                },
                {
                    "name": "k_EDOTA_CW_Follow",
                    "id": 14
                },
                {
                    "name": "k_EDOTA_CW_Group_Up",
                    "id": 15
                },
                {
                    "name": "k_EDOTA_CW_Spread_Out",
                    "id": 16
                },
                {
                    "name": "k_EDOTA_CW_Split_Farm",
                    "id": 17
                },
                {
                    "name": "k_EDOTA_CW_Attack",
                    "id": 18
                },
                {
                    "name": "k_EDOTA_CW_BRB",
                    "id": 19
                },
                {
                    "name": "k_EDOTA_CW_Dive",
                    "id": 20
                },
                {
                    "name": "k_EDOTA_CW_OMW",
                    "id": 21
                },
                {
                    "name": "k_EDOTA_CW_Get_Ready",
                    "id": 22
                },
                {
                    "name": "k_EDOTA_CW_Bait",
                    "id": 23
                },
                {
                    "name": "k_EDOTA_CW_Heal",
                    "id": 24
                },
                {
                    "name": "k_EDOTA_CW_Mana",
                    "id": 25
                },
                {
                    "name": "k_EDOTA_CW_OOM",
                    "id": 26
                },
                {
                    "name": "k_EDOTA_CW_Skill_Cooldown",
                    "id": 27
                },
                {
                    "name": "k_EDOTA_CW_Ulti_Ready",
                    "id": 28
                },
                {
                    "name": "k_EDOTA_CW_Enemy_Returned",
                    "id": 29
                },
                {
                    "name": "k_EDOTA_CW_All_Missing",
                    "id": 30
                },
                {
                    "name": "k_EDOTA_CW_Enemy_Incoming",
                    "id": 31
                },
                {
                    "name": "k_EDOTA_CW_Invis_Enemy",
                    "id": 32
                },
                {
                    "name": "k_EDOTA_CW_Enemy_Had_Rune",
                    "id": 33
                },
                {
                    "name": "k_EDOTA_CW_Split_Push",
                    "id": 34
                },
                {
                    "name": "k_EDOTA_CW_Coming_To_Gank",
                    "id": 35
                },
                {
                    "name": "k_EDOTA_CW_Request_Gank",
                    "id": 36
                },
                {
                    "name": "k_EDOTA_CW_Fight_Under_Tower",
                    "id": 37
                },
                {
                    "name": "k_EDOTA_CW_Deny_Tower",
                    "id": 38
                },
                {
                    "name": "k_EDOTA_CW_Buy_Courier",
                    "id": 39
                },
                {
                    "name": "k_EDOTA_CW_Upgrade_Courier",
                    "id": 40
                },
                {
                    "name": "k_EDOTA_CW_Need_Detection",
                    "id": 41
                },
                {
                    "name": "k_EDOTA_CW_They_Have_Detection",
                    "id": 42
                },
                {
                    "name": "k_EDOTA_CW_Buy_TP",
                    "id": 43
                },
                {
                    "name": "k_EDOTA_CW_Reuse_Courier",
                    "id": 44
                },
                {
                    "name": "k_EDOTA_CW_Deward",
                    "id": 45
                },
                {
                    "name": "k_EDOTA_CW_Building_Mek",
                    "id": 46
                },
                {
                    "name": "k_EDOTA_CW_Building_Pipe",
                    "id": 47
                },
                {
                    "name": "k_EDOTA_CW_Stack_And_Pull",
                    "id": 48
                },
                {
                    "name": "k_EDOTA_CW_Pull",
                    "id": 49
                },
                {
                    "name": "k_EDOTA_CW_Pulling",
                    "id": 50
                },
                {
                    "name": "k_EDOTA_CW_Stack",
                    "id": 51
                },
                {
                    "name": "k_EDOTA_CW_Jungling",
                    "id": 52
                },
                {
                    "name": "k_EDOTA_CW_Roshan",
                    "id": 53
                },
                {
                    "name": "k_EDOTA_CW_Affirmative",
                    "id": 54
                },
                {
                    "name": "k_EDOTA_CW_Wait",
                    "id": 55
                },
                {
                    "name": "k_EDOTA_CW_Pause",
                    "id": 56
                },
                {
                    "name": "k_EDOTA_CW_Current_Time",
                    "id": 57
                },
                {
                    "name": "k_EDOTA_CW_Check_Runes",
                    "id": 58
                },
                {
                    "name": "k_EDOTA_CW_Smoke_Gank",
                    "id": 59
                },
                {
                    "name": "k_EDOTA_CW_GLHF",
                    "id": 60
                },
                {
                    "name": "k_EDOTA_CW_Nice",
                    "id": 61
                },
                {
                    "name": "k_EDOTA_CW_Thanks",
                    "id": 62
                },
                {
                    "name": "k_EDOTA_CW_Sorry",
                    "id": 63
                },
                {
                    "name": "k_EDOTA_CW_No_Give_Up",
                    "id": 64
                },
                {
                    "name": "k_EDOTA_CW_Just_Happened",
                    "id": 65
                },
                {
                    "name": "k_EDOTA_CW_Game_Is_Hard",
                    "id": 66
                },
                {
                    "name": "k_EDOTA_CW_New_Meta",
                    "id": 67
                },
                {
                    "name": "k_EDOTA_CW_My_Bad",
                    "id": 68
                },
                {
                    "name": "k_EDOTA_CW_Regret",
                    "id": 69
                },
                {
                    "name": "k_EDOTA_CW_Relax",
                    "id": 70
                },
                {
                    "name": "k_EDOTA_CW_MissingHero",
                    "id": 71
                },
                {
                    "name": "k_EDOTA_CW_ReturnedHero",
                    "id": 72
                },
                {
                    "name": "k_EDOTA_CW_GG",
                    "id": 73
                },
                {
                    "name": "k_EDOTA_CW_GGWP",
                    "id": 74
                },
                {
                    "name": "k_EDOTA_CW_All_GG",
                    "id": 75
                },
                {
                    "name": "k_EDOTA_CW_All_GGWP",
                    "id": 76
                },
                {
                    "name": "k_EDOTA_CW_What_To_Buy",
                    "id": 77
                },
                {
                    "name": "k_EDOTA_CW_Im_Retreating",
                    "id": 78
                },
                {
                    "name": "k_EDOTA_CW_Space_Created",
                    "id": 79
                },
                {
                    "name": "k_EDOTA_CW_Whoops",
                    "id": 80
                },
                {
                    "name": "k_EDOTA_CW_Tower_then_Back",
                    "id": 81
                },
                {
                    "name": "k_EDOTA_CW_Barracks_then_Back",
                    "id": 82
                },
                {
                    "name": "k_EDOTA_CW_Ward_Bottom_Rune",
                    "id": 83
                },
                {
                    "name": "k_EDOTA_CW_Ward_Top_Rune",
                    "id": 84
                },
                {
                    "name": "k_EDOTA_CW_Zeus_Ult",
                    "id": 85
                }
            ]
        },
        {
            "name": "EDOTAStatPopupTypes",
            "values": [
                {
                    "name": "k_EDOTA_SPT_Textline",
                    "id": 0
                },
                {
                    "name": "k_EDOTA_SPT_Basic",
                    "id": 1
                },
                {
                    "name": "k_EDOTA_SPT_Poll",
                    "id": 2
                },
                {
                    "name": "k_EDOTA_SPT_Grid",
                    "id": 3
                }
            ]
        },
        {
            "name": "dotaunitorder_t",
            "values": [
                {
                    "name": "DOTA_UNIT_ORDER_NONE",
                    "id": 0
                },
                {
                    "name": "DOTA_UNIT_ORDER_MOVE_TO_POSITION",
                    "id": 1
                },
                {
                    "name": "DOTA_UNIT_ORDER_MOVE_TO_TARGET",
                    "id": 2
                },
                {
                    "name": "DOTA_UNIT_ORDER_ATTACK_MOVE",
                    "id": 3
                },
                {
                    "name": "DOTA_UNIT_ORDER_ATTACK_TARGET",
                    "id": 4
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_POSITION",
                    "id": 5
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_TARGET",
                    "id": 6
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_TARGET_TREE",
                    "id": 7
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_NO_TARGET",
                    "id": 8
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_TOGGLE",
                    "id": 9
                },
                {
                    "name": "DOTA_UNIT_ORDER_HOLD_POSITION",
                    "id": 10
                },
                {
                    "name": "DOTA_UNIT_ORDER_TRAIN_ABILITY",
                    "id": 11
                },
                {
                    "name": "DOTA_UNIT_ORDER_DROP_ITEM",
                    "id": 12
                },
                {
                    "name": "DOTA_UNIT_ORDER_GIVE_ITEM",
                    "id": 13
                },
                {
                    "name": "DOTA_UNIT_ORDER_PICKUP_ITEM",
                    "id": 14
                },
                {
                    "name": "DOTA_UNIT_ORDER_PICKUP_RUNE",
                    "id": 15
                },
                {
                    "name": "DOTA_UNIT_ORDER_PURCHASE_ITEM",
                    "id": 16
                },
                {
                    "name": "DOTA_UNIT_ORDER_SELL_ITEM",
                    "id": 17
                },
                {
                    "name": "DOTA_UNIT_ORDER_DISASSEMBLE_ITEM",
                    "id": 18
                },
                {
                    "name": "DOTA_UNIT_ORDER_MOVE_ITEM",
                    "id": 19
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO",
                    "id": 20
                },
                {
                    "name": "DOTA_UNIT_ORDER_STOP",
                    "id": 21
                },
                {
                    "name": "DOTA_UNIT_ORDER_TAUNT",
                    "id": 22
                },
                {
                    "name": "DOTA_UNIT_ORDER_BUYBACK",
                    "id": 23
                },
                {
                    "name": "DOTA_UNIT_ORDER_GLYPH",
                    "id": 24
                },
                {
                    "name": "DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH",
                    "id": 25
                },
                {
                    "name": "DOTA_UNIT_ORDER_CAST_RUNE",
                    "id": 26
                },
                {
                    "name": "DOTA_UNIT_ORDER_PING_ABILITY",
                    "id": 27
                },
                {
                    "name": "DOTA_UNIT_ORDER_MOVE_TO_DIRECTION",
                    "id": 28
                }
            ]
        },
        {
            "name": "EDotaClientMessages",
            "values": [
                {
                    "name": "DOTA_CM_MapLine",
                    "id": 301
                },
                {
                    "name": "DOTA_CM_AspectRatio",
                    "id": 302
                },
                {
                    "name": "DOTA_CM_MapPing",
                    "id": 303
                },
                {
                    "name": "DOTA_CM_UnitsAutoAttack",
                    "id": 304
                },
                {
                    "name": "DOTA_CM_AutoPurchaseItems",
                    "id": 305
                },
                {
                    "name": "DOTA_CM_TestItems",
                    "id": 306
                },
                {
                    "name": "DOTA_CM_SearchString",
                    "id": 307
                },
                {
                    "name": "DOTA_CM_Pause",
                    "id": 308
                },
                {
                    "name": "DOTA_CM_ShopViewMode",
                    "id": 309
                },
                {
                    "name": "DOTA_CM_SetUnitShareFlag",
                    "id": 310
                },
                {
                    "name": "DOTA_CM_SwapRequest",
                    "id": 311
                },
                {
                    "name": "DOTA_CM_SwapAccept",
                    "id": 312
                },
                {
                    "name": "DOTA_CM_WorldLine",
                    "id": 313
                },
                {
                    "name": "DOTA_CM_RequestGraphUpdate",
                    "id": 314
                },
                {
                    "name": "DOTA_CM_ItemAlert",
                    "id": 315
                },
                {
                    "name": "DOTA_CM_ChatWheel",
                    "id": 316
                },
                {
                    "name": "DOTA_CM_SendStatPopup",
                    "id": 317
                },
                {
                    "name": "DOTA_CM_BeginLastHitChallenge",
                    "id": 318
                },
                {
                    "name": "DOTA_CM_UpdateQuickBuy",
                    "id": 319
                },
                {
                    "name": "DOTA_CM_UpdateCoachListen",
                    "id": 320
                },
                {
                    "name": "DOTA_CM_CoachHUDPing",
                    "id": 321
                },
                {
                    "name": "DOTA_CM_RecordVote",
                    "id": 322
                },
                {
                    "name": "DOTA_CM_UnitsAutoAttackAfterSpell",
                    "id": 323
                },
                {
                    "name": "DOTA_CM_WillPurchaseAlert",
                    "id": 324
                },
                {
                    "name": "DOTA_CM_PlayerShowCase",
                    "id": 325
                },
                {
                    "name": "DOTA_CM_TeleportRequiresHalt",
                    "id": 326
                },
                {
                    "name": "DOTA_CM_CameraZoomAmount",
                    "id": 327
                },
                {
                    "name": "DOTA_CM_BroadcasterUsingCamerman",
                    "id": 328
                },
                {
                    "name": "DOTA_CM_BroadcasterUsingAssistedCameraOperator",
                    "id": 329
                },
                {
                    "name": "DOTA_CM_EnemyItemAlert",
                    "id": 330
                },
                {
                    "name": "DOTA_CM_FreeInventory",
                    "id": 331
                },
                {
                    "name": "DOTA_CM_BuyBackStateAlert",
                    "id": 332
                },
                {
                    "name": "DOTA_CM_QuickBuyAlert",
                    "id": 333
                },
                {
                    "name": "DOTA_CM_HeroStatueLike",
                    "id": 334
                },
                {
                    "name": "DOTA_CM_ModifierAlert",
                    "id": 335
                },
                {
                    "name": "DOTA_CM_TeamShowcaseEditor",
                    "id": 336
                },
                {
                    "name": "DOTA_CM_HPManaAlert",
                    "id": 337
                },
                {
                    "name": "DOTA_CM_GlyphAlert",
                    "id": 338
                },
                {
                    "name": "DOTA_CM_TeamShowcaseClientData",
                    "id": 339
                },
                {
                    "name": "DOTA_CM_PlayTeamShowcase",
                    "id": 340
                },
                {
                    "name": "DOTA_CM_EventCNY2015Cmd",
                    "id": 341
                },
                {
                    "name": "DOTA_CM_FillEmptySlotsWithBots",
                    "id": 342
                },
                {
                    "name": "DOTA_CM_DemoHero",
                    "id": 343
                },
                {
                    "name": "DOTA_CM_AbilityLearnModeToggled",
                    "id": 344
                },
                {
                    "name": "DOTA_CM_AbilityStartUse",
                    "id": 345
                },
                {
                    "name": "DOTA_CM_ChallengeSelect",
                    "id": 346
                },
                {
                    "name": "DOTA_CM_ChallengeReroll",
                    "id": 347
                },
                {
                    "name": "DOTA_CM_ClickedBuff",
                    "id": 348
                }
            ]
        },
        {
            "name": "ESourceEngine",
            "values": [
                {
                    "name": "k_ESE_Source1",
                    "id": 0
                },
                {
                    "name": "k_ESE_Source2",
                    "id": 1
                }
            ]
        },
        {
            "name": "PartnerAccountType",
            "values": [
                {
                    "name": "PARTNER_NONE",
                    "id": 0
                },
                {
                    "name": "PARTNER_PERFECT_WORLD",
                    "id": 1
                },
                {
                    "name": "PARTNER_NEXON",
                    "id": 2
                },
                {
                    "name": "PARTNER_INVALID",
                    "id": 3
                }
            ]
        },
        {
            "name": "GCConnectionStatus",
            "values": [
                {
                    "name": "GCConnectionStatus_HAVE_SESSION",
                    "id": 0
                },
                {
                    "name": "GCConnectionStatus_GC_GOING_DOWN",
                    "id": 1
                },
                {
                    "name": "GCConnectionStatus_NO_SESSION",
                    "id": 2
                },
                {
                    "name": "GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE",
                    "id": 3
                },
                {
                    "name": "GCConnectionStatus_NO_STEAM",
                    "id": 4
                },
                {
                    "name": "GCConnectionStatus_SUSPENDED",
                    "id": 5
                }
            ]
        },
        {
            "name": "EDOTAGCMsg",
            "values": [
                {
                    "name": "k_EMsgGCDOTABase",
                    "id": 7000
                },
                {
                    "name": "k_EMsgGCGeneralResponse",
                    "id": 7001
                },
                {
                    "name": "k_EMsgGCGameMatchSignOut",
                    "id": 7004
                },
                {
                    "name": "k_EMsgGCGameMatchSignOutResponse",
                    "id": 7005
                },
                {
                    "name": "k_EMsgGCJoinChatChannel",
                    "id": 7009
                },
                {
                    "name": "k_EMsgGCJoinChatChannelResponse",
                    "id": 7010
                },
                {
                    "name": "k_EMsgGCOtherJoinedChannel",
                    "id": 7013
                },
                {
                    "name": "k_EMsgGCOtherLeftChannel",
                    "id": 7014
                },
                {
                    "name": "k_EMsgGCMatchHistoryList",
                    "id": 7017
                },
                {
                    "name": "k_EMsgServerToGCRequestStatus",
                    "id": 7026
                },
                {
                    "name": "k_EMsgGCGetRecentMatches",
                    "id": 7027
                },
                {
                    "name": "k_EMsgGCRecentMatchesResponse",
                    "id": 7028
                },
                {
                    "name": "k_EMsgGCFindSourceTVGames",
                    "id": 7031
                },
                {
                    "name": "k_EMsgGCSourceTVGamesResponse",
                    "id": 7032
                },
                {
                    "name": "k_EMsgGCStartFindingMatch",
                    "id": 7033
                },
                {
                    "name": "k_EMsgGCConnectedPlayers",
                    "id": 7034
                },
                {
                    "name": "k_EMsgGCAbandonCurrentGame",
                    "id": 7035
                },
                {
                    "name": "k_EMsgGCStopFindingMatch",
                    "id": 7036
                },
                {
                    "name": "k_EMsgGCPracticeLobbyCreate",
                    "id": 7038
                },
                {
                    "name": "k_EMsgGCPracticeLobbyLeave",
                    "id": 7040
                },
                {
                    "name": "k_EMsgGCPracticeLobbyLaunch",
                    "id": 7041
                },
                {
                    "name": "k_EMsgGCPracticeLobbyList",
                    "id": 7042
                },
                {
                    "name": "k_EMsgGCPracticeLobbyListResponse",
                    "id": 7043
                },
                {
                    "name": "k_EMsgGCPracticeLobbyJoin",
                    "id": 7044
                },
                {
                    "name": "k_EMsgGCPracticeLobbySetDetails",
                    "id": 7046
                },
                {
                    "name": "k_EMsgGCPracticeLobbySetTeamSlot",
                    "id": 7047
                },
                {
                    "name": "k_EMsgGCInitialQuestionnaireResponse",
                    "id": 7049
                },
                {
                    "name": "k_EMsgGCTournamentRequest",
                    "id": 7051
                },
                {
                    "name": "k_EMsgGCTournamentResponse",
                    "id": 7052
                },
                {
                    "name": "k_EMsgGCPracticeLobbyResponse",
                    "id": 7055
                },
                {
                    "name": "k_EMsgGCBroadcastNotification",
                    "id": 7056
                },
                {
                    "name": "k_EMsgGCLiveScoreboardUpdate",
                    "id": 7057
                },
                {
                    "name": "k_EMsgGCRequestChatChannelList",
                    "id": 7060
                },
                {
                    "name": "k_EMsgGCRequestChatChannelListResponse",
                    "id": 7061
                },
                {
                    "name": "k_EMsgGCRequestMatches",
                    "id": 7064
                },
                {
                    "name": "k_EMsgGCRequestMatchesResponse",
                    "id": 7065
                },
                {
                    "name": "k_EMsgGCRequestPlayerResources",
                    "id": 7068
                },
                {
                    "name": "k_EMsgGCRequestPlayerResourcesResponse",
                    "id": 7069
                },
                {
                    "name": "k_EMsgGCReadyUp",
                    "id": 7070
                },
                {
                    "name": "k_EMsgGCKickedFromMatchmakingQueue",
                    "id": 7071
                },
                {
                    "name": "k_EMsgGCLeaverDetected",
                    "id": 7072
                },
                {
                    "name": "k_EMsgGCSpectateFriendGame",
                    "id": 7073
                },
                {
                    "name": "k_EMsgGCSpectateFriendGameResponse",
                    "id": 7074
                },
                {
                    "name": "k_EMsgGCPlayerReports",
                    "id": 7075
                },
                {
                    "name": "k_EMsgGCReportsRemainingRequest",
                    "id": 7076
                },
                {
                    "name": "k_EMsgGCReportsRemainingResponse",
                    "id": 7077
                },
                {
                    "name": "k_EMsgGCSubmitPlayerReport",
                    "id": 7078
                },
                {
                    "name": "k_EMsgGCSubmitPlayerReportResponse",
                    "id": 7079
                },
                {
                    "name": "k_EMsgGCGameChatLog",
                    "id": 7080
                },
                {
                    "name": "k_EMsgGCPracticeLobbyKick",
                    "id": 7081
                },
                {
                    "name": "k_EMsgGCReportCountsRequest",
                    "id": 7082
                },
                {
                    "name": "k_EMsgGCReportCountsResponse",
                    "id": 7083
                },
                {
                    "name": "k_EMsgGCRequestSaveGames",
                    "id": 7084
                },
                {
                    "name": "k_EMsgGCRequestSaveGamesServer",
                    "id": 7085
                },
                {
                    "name": "k_EMsgGCRequestSaveGamesResponse",
                    "id": 7086
                },
                {
                    "name": "k_EMsgGCLeaverDetectedResponse",
                    "id": 7087
                },
                {
                    "name": "k_EMsgGCPlayerFailedToConnect",
                    "id": 7088
                },
                {
                    "name": "k_EMsgGCGCToRelayConnect",
                    "id": 7089
                },
                {
                    "name": "k_EMsgGCGCToRelayConnectresponse",
                    "id": 7090
                },
                {
                    "name": "k_EMsgGCWatchGame",
                    "id": 7091
                },
                {
                    "name": "k_EMsgGCWatchGameResponse",
                    "id": 7092
                },
                {
                    "name": "k_EMsgGCBanStatusRequest",
                    "id": 7093
                },
                {
                    "name": "k_EMsgGCBanStatusResponse",
                    "id": 7094
                },
                {
                    "name": "k_EMsgGCMatchDetailsRequest",
                    "id": 7095
                },
                {
                    "name": "k_EMsgGCMatchDetailsResponse",
                    "id": 7096
                },
                {
                    "name": "k_EMsgGCCancelWatchGame",
                    "id": 7097
                },
                {
                    "name": "k_EMsgGCProfileRequest",
                    "id": 7098
                },
                {
                    "name": "k_EMsgGCProfileResponse",
                    "id": 7099
                },
                {
                    "name": "k_EMsgGCPopup",
                    "id": 7102
                },
                {
                    "name": "k_EMsgGCDOTAClearNotifySuccessfulReport",
                    "id": 7104
                },
                {
                    "name": "k_EMsgGCGenericResult",
                    "id": 7108
                },
                {
                    "name": "k_EMsgGCFriendPracticeLobbyListRequest",
                    "id": 7111
                },
                {
                    "name": "k_EMsgGCFriendPracticeLobbyListResponse",
                    "id": 7112
                },
                {
                    "name": "k_EMsgGCPracticeLobbyJoinResponse",
                    "id": 7113
                },
                {
                    "name": "k_EMsgClientEconNotification_Job",
                    "id": 7114
                },
                {
                    "name": "k_EMsgGCCreateTeam",
                    "id": 7115
                },
                {
                    "name": "k_EMsgGCCreateTeamResponse",
                    "id": 7116
                },
                {
                    "name": "k_EMsgGCDisbandTeam",
                    "id": 7117
                },
                {
                    "name": "k_EMsgGCDisbandTeamResponse",
                    "id": 7118
                },
                {
                    "name": "k_EMsgGCRequestTeamData",
                    "id": 7119
                },
                {
                    "name": "k_EMsgGCRequestTeamDataResponse",
                    "id": 7120
                },
                {
                    "name": "k_EMsgGCTeamData",
                    "id": 7121
                },
                {
                    "name": "k_EMsgGCTeamInvite_InviterToGC",
                    "id": 7122
                },
                {
                    "name": "k_EMsgGCTeamInvite_GCImmediateResponseToInviter",
                    "id": 7123
                },
                {
                    "name": "k_EMsgGCTeamInvite_GCRequestToInvitee",
                    "id": 7124
                },
                {
                    "name": "k_EMsgGCTeamInvite_InviteeResponseToGC",
                    "id": 7125
                },
                {
                    "name": "k_EMsgGCTeamInvite_GCResponseToInviter",
                    "id": 7126
                },
                {
                    "name": "k_EMsgGCTeamInvite_GCResponseToInvitee",
                    "id": 7127
                },
                {
                    "name": "k_EMsgGCKickTeamMember",
                    "id": 7128
                },
                {
                    "name": "k_EMsgGCKickTeamMemberResponse",
                    "id": 7129
                },
                {
                    "name": "k_EMsgGCLeaveTeam",
                    "id": 7130
                },
                {
                    "name": "k_EMsgGCLeaveTeamResponse",
                    "id": 7131
                },
                {
                    "name": "k_EMsgGCSuggestTeamMatchmaking",
                    "id": 7132
                },
                {
                    "name": "k_EMsgGCPlayerHeroesFavoritesAdd",
                    "id": 7133
                },
                {
                    "name": "k_EMsgGCPlayerHeroesFavoritesRemove",
                    "id": 7134
                },
                {
                    "name": "k_EMsgGCEditTeamLogo",
                    "id": 7139
                },
                {
                    "name": "k_EMsgGCEditTeamLogoResponse",
                    "id": 7140
                },
                {
                    "name": "k_EMsgGCSetShowcaseHero",
                    "id": 7141
                },
                {
                    "name": "k_EMsgGCApplyTeamToPracticeLobby",
                    "id": 7142
                },
                {
                    "name": "k_EMsgGCRequestInternatinalTicketEmail",
                    "id": 7143
                },
                {
                    "name": "k_EMsgGCTransferTeamAdmin",
                    "id": 7144
                },
                {
                    "name": "k_EMsgGCClearTournamentGame",
                    "id": 7145
                },
                {
                    "name": "k_EMsgRequestLeagueInfo",
                    "id": 7147
                },
                {
                    "name": "k_EMsgResponseLeagueInfo",
                    "id": 7148
                },
                {
                    "name": "k_EMsgGCPracticeLobbyJoinBroadcastChannel",
                    "id": 7149
                },
                {
                    "name": "k_EMsgGC_TournamentItemEvent",
                    "id": 7150
                },
                {
                    "name": "k_EMsgGC_TournamentItemEventResponse",
                    "id": 7151
                },
                {
                    "name": "k_EMsgCastMatchVote",
                    "id": 7152
                },
                {
                    "name": "k_EMsgCastMatchVoteResponse",
                    "id": 7153
                },
                {
                    "name": "k_EMsgRetrieveMatchVote",
                    "id": 7154
                },
                {
                    "name": "k_EMsgRetrieveMatchVoteResponse",
                    "id": 7155
                },
                {
                    "name": "k_EMsgTeamFanfare",
                    "id": 7156
                },
                {
                    "name": "k_EMsgResponseTeamFanfare",
                    "id": 7157
                },
                {
                    "name": "k_EMsgGC_GameServerUploadSaveGame",
                    "id": 7158
                },
                {
                    "name": "k_EMsgGC_GameServerSaveGameResult",
                    "id": 7159
                },
                {
                    "name": "k_EMsgGC_GameServerGetLoadGame",
                    "id": 7160
                },
                {
                    "name": "k_EMsgGC_GameServerGetLoadGameResult",
                    "id": 7161
                },
                {
                    "name": "k_EMsgGCTeamProfileRequest",
                    "id": 7164
                },
                {
                    "name": "k_EMsgGCTeamProfileResponse",
                    "id": 7165
                },
                {
                    "name": "k_EMsgGCEditTeamDetails",
                    "id": 7166
                },
                {
                    "name": "k_EMsgGCEditTeamDetailsResponse",
                    "id": 7167
                },
                {
                    "name": "k_EMsgGCProTeamListRequest",
                    "id": 7168
                },
                {
                    "name": "k_EMsgGCProTeamListResponse",
                    "id": 7169
                },
                {
                    "name": "k_EMsgGCReadyUpStatus",
                    "id": 7170
                },
                {
                    "name": "k_EMsgGCHallOfFame",
                    "id": 7171
                },
                {
                    "name": "k_EMsgGCHallOfFameRequest",
                    "id": 7172
                },
                {
                    "name": "k_EMsgGCHallOfFameResponse",
                    "id": 7173
                },
                {
                    "name": "k_EMsgGCGenerateDiretidePrizeList",
                    "id": 7174
                },
                {
                    "name": "k_EMsgGCRewardDiretidePrizes",
                    "id": 7176
                },
                {
                    "name": "k_EMsgGCDiretidePrizesRewardedResponse",
                    "id": 7177
                },
                {
                    "name": "k_EMsgGCHalloweenHighScoreRequest",
                    "id": 7178
                },
                {
                    "name": "k_EMsgGCHalloweenHighScoreResponse",
                    "id": 7179
                },
                {
                    "name": "k_EMsgGCGenerateDiretidePrizeListResponse",
                    "id": 7180
                },
                {
                    "name": "k_EMsgGCStorePromoPagesRequest",
                    "id": 7182
                },
                {
                    "name": "k_EMsgGCStorePromoPagesResponse",
                    "id": 7183
                },
                {
                    "name": "k_EMsgGCSpawnLootGreevil",
                    "id": 7184
                },
                {
                    "name": "k_EMsgGCDismissLootGreevil",
                    "id": 7185
                },
                {
                    "name": "k_EMsgGCToGCMatchCompleted",
                    "id": 7186
                },
                {
                    "name": "k_EMsgGCDismissLootGreevilResponse",
                    "id": 7187
                },
                {
                    "name": "k_EMsgGCBalancedShuffleLobby",
                    "id": 7188
                },
                {
                    "name": "k_EMsgGCToGCCheckLeaguePermission",
                    "id": 7189
                },
                {
                    "name": "k_EMsgGCToGCCheckLeaguePermissionResponse",
                    "id": 7190
                },
                {
                    "name": "k_EMsgGCLeagueScheduleRequest",
                    "id": 7191
                },
                {
                    "name": "k_EMsgGCLeagueScheduleResponse",
                    "id": 7192
                },
                {
                    "name": "k_EMsgGCLeagueScheduleEdit",
                    "id": 7193
                },
                {
                    "name": "k_EMsgGCLeagueScheduleEditResponse",
                    "id": 7194
                },
                {
                    "name": "k_EMsgGCLeaguesInMonthRequest",
                    "id": 7195
                },
                {
                    "name": "k_EMsgGCLeaguesInMonthResponse",
                    "id": 7196
                },
                {
                    "name": "k_EMsgGCMatchmakingStatsRequest",
                    "id": 7197
                },
                {
                    "name": "k_EMsgGCMatchmakingStatsResponse",
                    "id": 7198
                },
                {
                    "name": "k_EMsgGCBotGameCreate",
                    "id": 7199
                },
                {
                    "name": "k_EMsgGCSetMatchHistoryAccess",
                    "id": 7200
                },
                {
                    "name": "k_EMsgGCSetMatchHistoryAccessResponse",
                    "id": 7201
                },
                {
                    "name": "k_EMsgUpgradeLeagueItem",
                    "id": 7203
                },
                {
                    "name": "k_EMsgUpgradeLeagueItemResponse",
                    "id": 7204
                },
                {
                    "name": "k_EMsgGCTeamMemberProfileRequest",
                    "id": 7205
                },
                {
                    "name": "k_EMsgGCWatchDownloadedReplay",
                    "id": 7206
                },
                {
                    "name": "k_EMsgGCSetMapLocationState",
                    "id": 7207
                },
                {
                    "name": "k_EMsgGCSetMapLocationStateResponse",
                    "id": 7208
                },
                {
                    "name": "k_EMsgGCResetMapLocations",
                    "id": 7209
                },
                {
                    "name": "k_EMsgGCResetMapLocationsResponse",
                    "id": 7210
                },
                {
                    "name": "k_EMsgGCTeamOnProfile",
                    "id": 7211
                },
                {
                    "name": "k_EMsgGCSetFeaturedItems",
                    "id": 7212
                },
                {
                    "name": "k_EMsgGCFeaturedItems",
                    "id": 7215
                },
                {
                    "name": "k_EMsgRefreshPartnerAccountLink",
                    "id": 7216
                },
                {
                    "name": "k_EMsgClientsRejoinChatChannels",
                    "id": 7217
                },
                {
                    "name": "k_EMsgGCToGCGetUserChatInfo",
                    "id": 7218
                },
                {
                    "name": "k_EMsgGCToGCGetUserChatInfoResponse",
                    "id": 7219
                },
                {
                    "name": "k_EMsgGCToGCLeaveAllChatChannels",
                    "id": 7220
                },
                {
                    "name": "k_EMsgGCToGCUpdateAccountChatBan",
                    "id": 7221
                },
                {
                    "name": "k_EMsgGCGuildCreateRequest",
                    "id": 7222
                },
                {
                    "name": "k_EMsgGCGuildCreateResponse",
                    "id": 7223
                },
                {
                    "name": "k_EMsgGCGuildSetAccountRoleRequest",
                    "id": 7224
                },
                {
                    "name": "k_EMsgGCGuildSetAccountRoleResponse",
                    "id": 7225
                },
                {
                    "name": "k_EMsgGCRequestGuildData",
                    "id": 7226
                },
                {
                    "name": "k_EMsgGCGuildData",
                    "id": 7227
                },
                {
                    "name": "k_EMsgGCGuildInviteAccountRequest",
                    "id": 7228
                },
                {
                    "name": "k_EMsgGCGuildInviteAccountResponse",
                    "id": 7229
                },
                {
                    "name": "k_EMsgGCGuildCancelInviteRequest",
                    "id": 7230
                },
                {
                    "name": "k_EMsgGCGuildCancelInviteResponse",
                    "id": 7231
                },
                {
                    "name": "k_EMsgGCGuildUpdateDetailsRequest",
                    "id": 7232
                },
                {
                    "name": "k_EMsgGCGuildUpdateDetailsResponse",
                    "id": 7233
                },
                {
                    "name": "k_EMsgGCToGCCanInviteUser",
                    "id": 7234
                },
                {
                    "name": "k_EMsgGCToGCCanInviteUserResponse",
                    "id": 7235
                },
                {
                    "name": "k_EMsgGCToGCGetUserRank",
                    "id": 7236
                },
                {
                    "name": "k_EMsgGCToGCGetUserRankResponse",
                    "id": 7237
                },
                {
                    "name": "k_EMsgGCToGCUpdateTeamStats",
                    "id": 7240
                },
                {
                    "name": "k_EMsgGCToGCGetTeamRank",
                    "id": 7241
                },
                {
                    "name": "k_EMsgGCToGCGetTeamRankResponse",
                    "id": 7242
                },
                {
                    "name": "k_EMsgGCTeamIDByNameRequest",
                    "id": 7245
                },
                {
                    "name": "k_EMsgGCTeamIDByNameResponse",
                    "id": 7246
                },
                {
                    "name": "k_EMsgGCEditTeam",
                    "id": 7247
                },
                {
                    "name": "k_EMsgGCPassportDataRequest",
                    "id": 7248
                },
                {
                    "name": "k_EMsgGCPassportDataResponse",
                    "id": 7249
                },
                {
                    "name": "k_EMsgGCNotInGuildData",
                    "id": 7251
                },
                {
                    "name": "k_EMsgGCGuildInviteData",
                    "id": 7254
                },
                {
                    "name": "k_EMsgGCToGCGetLeagueAdmin",
                    "id": 7255
                },
                {
                    "name": "k_EMsgGCToGCGetLeagueAdminResponse",
                    "id": 7256
                },
                {
                    "name": "k_EMsgGCRequestLeaguePrizePool",
                    "id": 7258
                },
                {
                    "name": "k_EMsgGCRequestLeaguePrizePoolResponse",
                    "id": 7259
                },
                {
                    "name": "k_EMsgGCToGCUpdateOpenGuildPartyRequest",
                    "id": 7261
                },
                {
                    "name": "k_EMsgGCToGCUpdateOpenGuildPartyResponse",
                    "id": 7262
                },
                {
                    "name": "k_EMsgGCToGCDestroyOpenGuildPartyRequest",
                    "id": 7263
                },
                {
                    "name": "k_EMsgGCToGCDestroyOpenGuildPartyResponse",
                    "id": 7264
                },
                {
                    "name": "k_EMsgGCGuildUpdateMessage",
                    "id": 7265
                },
                {
                    "name": "k_EMsgGCPartySetOpenGuildRequest",
                    "id": 7266
                },
                {
                    "name": "k_EMsgGCPartySetOpenGuildResponse",
                    "id": 7267
                },
                {
                    "name": "k_EMsgGCGuildOpenPartyRefresh",
                    "id": 7268
                },
                {
                    "name": "k_EMsgGCJoinOpenGuildPartyRequest",
                    "id": 7269
                },
                {
                    "name": "k_EMsgGCJoinOpenGuildPartyResponse",
                    "id": 7270
                },
                {
                    "name": "k_EMsgGCLeaveChatChannel",
                    "id": 7272
                },
                {
                    "name": "k_EMsgGCChatMessage",
                    "id": 7273
                },
                {
                    "name": "k_EMsgGCGetHeroStandings",
                    "id": 7274
                },
                {
                    "name": "k_EMsgGCGetHeroStandingsResponse",
                    "id": 7275
                },
                {
                    "name": "k_EMsgGCGuildEditLogoRequest",
                    "id": 7279
                },
                {
                    "name": "k_EMsgGCGuildEditLogoResponse",
                    "id": 7280
                },
                {
                    "name": "k_EMsgGCGuildmatePracticeLobbyListRequest",
                    "id": 7281
                },
                {
                    "name": "k_EMsgGCGuildmatePracticeLobbyListResponse",
                    "id": 7282
                },
                {
                    "name": "k_EMsgGCItemEditorReservationsRequest",
                    "id": 7283
                },
                {
                    "name": "k_EMsgGCItemEditorReservationsResponse",
                    "id": 7284
                },
                {
                    "name": "k_EMsgGCItemEditorReserveItemDef",
                    "id": 7285
                },
                {
                    "name": "k_EMsgGCItemEditorReserveItemDefResponse",
                    "id": 7286
                },
                {
                    "name": "k_EMsgGCItemEditorReleaseReservation",
                    "id": 7287
                },
                {
                    "name": "k_EMsgGCItemEditorReleaseReservationResponse",
                    "id": 7288
                },
                {
                    "name": "k_EMsgGCRewardTutorialPrizes",
                    "id": 7289
                },
                {
                    "name": "k_EMsgGCLastHitChallengeHighScorePost",
                    "id": 7290
                },
                {
                    "name": "k_EMsgGCLastHitChallengeHighScoreRequest",
                    "id": 7291
                },
                {
                    "name": "k_EMsgGCLastHitChallengeHighScoreResponse",
                    "id": 7292
                },
                {
                    "name": "k_EMsgGCCreateFantasyLeagueRequest",
                    "id": 7293
                },
                {
                    "name": "k_EMsgGCCreateFantasyLeagueResponse",
                    "id": 7294
                },
                {
                    "name": "k_EMsgGCFantasyLeagueInfoRequest",
                    "id": 7297
                },
                {
                    "name": "k_EMsgGCFantasyLeagueInfoResponse",
                    "id": 7298
                },
                {
                    "name": "k_EMsgGCFantasyLeagueInfo",
                    "id": 7299
                },
                {
                    "name": "k_EMsgGCCreateFantasyTeamRequest",
                    "id": 7300
                },
                {
                    "name": "k_EMsgGCCreateFantasyTeamResponse",
                    "id": 7301
                },
                {
                    "name": "k_EMsgGCEditFantasyTeamRequest",
                    "id": 7302
                },
                {
                    "name": "k_EMsgGCEditFantasyTeamResponse",
                    "id": 7303
                },
                {
                    "name": "k_EMsgGCFantasyTeamInfoRequestByFantasyLeagueID",
                    "id": 7304
                },
                {
                    "name": "k_EMsgGCFantasyTeamInfoRequestByOwnerAccountID",
                    "id": 7305
                },
                {
                    "name": "k_EMsgGCFantasyTeamInfoResponse",
                    "id": 7306
                },
                {
                    "name": "k_EMsgGCFantasyTeamInfo",
                    "id": 7307
                },
                {
                    "name": "k_EMsgGCFantasyLivePlayerStats",
                    "id": 7308
                },
                {
                    "name": "k_EMsgGCFantasyFinalPlayerStats",
                    "id": 7309
                },
                {
                    "name": "k_EMsgGCFantasyMatch",
                    "id": 7310
                },
                {
                    "name": "k_EMsgGCToGCReloadVersions",
                    "id": 7311
                },
                {
                    "name": "k_EMsgGCFantasyTeamScoreRequest",
                    "id": 7312
                },
                {
                    "name": "k_EMsgGCFantasyTeamScoreResponse",
                    "id": 7313
                },
                {
                    "name": "k_EMsgGCFantasyTeamStandingsRequest",
                    "id": 7314
                },
                {
                    "name": "k_EMsgGCFantasyTeamStandingsResponse",
                    "id": 7315
                },
                {
                    "name": "k_EMsgGCFantasyPlayerScoreRequest",
                    "id": 7316
                },
                {
                    "name": "k_EMsgGCFantasyPlayerScoreResponse",
                    "id": 7317
                },
                {
                    "name": "k_EMsgGCFantasyPlayerStandingsRequest",
                    "id": 7318
                },
                {
                    "name": "k_EMsgGCFantasyPlayerStandingsResponse",
                    "id": 7319
                },
                {
                    "name": "k_EMsgGCFlipLobbyTeams",
                    "id": 7320
                },
                {
                    "name": "k_EMsgGCCustomGameCreate",
                    "id": 7321
                },
                {
                    "name": "k_EMsgGCFantasyPlayerInfoRequest",
                    "id": 7322
                },
                {
                    "name": "k_EMsgGCFantasyPlayerInfoResponse",
                    "id": 7323
                },
                {
                    "name": "k_EMsgGCToGCProcessPlayerReportForTarget",
                    "id": 7324
                },
                {
                    "name": "k_EMsgGCToGCProcessReportSuccess",
                    "id": 7325
                },
                {
                    "name": "k_EMsgGCNotifyAccountFlagsChange",
                    "id": 7326
                },
                {
                    "name": "k_EMsgGCSetProfilePrivacy",
                    "id": 7327
                },
                {
                    "name": "k_EMsgGCSetProfilePrivacyResponse",
                    "id": 7328
                },
                {
                    "name": "k_EMsgGCSteamProfileRequest",
                    "id": 7329
                },
                {
                    "name": "k_EMsgGCSteamProfileRequestResponse",
                    "id": 7330
                },
                {
                    "name": "k_EMsgGCFantasyLeagueCreateInfoRequest",
                    "id": 7331
                },
                {
                    "name": "k_EMsgGCFantasyLeagueCreateInfoResponse",
                    "id": 7332
                },
                {
                    "name": "k_EMsgGCFantasyLeagueInviteInfoRequest",
                    "id": 7333
                },
                {
                    "name": "k_EMsgGCFantasyLeagueInviteInfoResponse",
                    "id": 7334
                },
                {
                    "name": "k_EMsgGCClientIgnoredUser",
                    "id": 7335
                },
                {
                    "name": "k_EMsgGCFantasyLeagueCreateRequest",
                    "id": 7336
                },
                {
                    "name": "k_EMsgGCFantasyLeagueCreateResponse",
                    "id": 7337
                },
                {
                    "name": "k_EMsgGCFantasyTeamCreateRequest",
                    "id": 7338
                },
                {
                    "name": "k_EMsgGCFantasyTeamCreateResponse",
                    "id": 7339
                },
                {
                    "name": "k_EMsgGCFantasyLeagueFriendJoinListRequest",
                    "id": 7340
                },
                {
                    "name": "k_EMsgGCFantasyLeagueFriendJoinListResponse",
                    "id": 7341
                },
                {
                    "name": "k_EMsgGCClientSuspended",
                    "id": 7342
                },
                {
                    "name": "k_EMsgGCPartyMemberSetCoach",
                    "id": 7343
                },
                {
                    "name": "k_EMsgGCFantasyLeagueEditInvitesRequest",
                    "id": 7344
                },
                {
                    "name": "k_EMsgGCFantasyLeagueEditInvitesResponse",
                    "id": 7345
                },
                {
                    "name": "k_EMsgGCPracticeLobbySetCoach",
                    "id": 7346
                },
                {
                    "name": "k_EMsgGCFantasyLeagueEditInfoRequest",
                    "id": 7347
                },
                {
                    "name": "k_EMsgGCFantasyLeagueEditInfoResponse",
                    "id": 7348
                },
                {
                    "name": "k_EMsgGCFantasyLeagueDraftStatusRequest",
                    "id": 7349
                },
                {
                    "name": "k_EMsgGCFantasyLeagueDraftStatus",
                    "id": 7350
                },
                {
                    "name": "k_EMsgGCFantasyLeagueDraftPlayerRequest",
                    "id": 7351
                },
                {
                    "name": "k_EMsgGCFantasyLeagueDraftPlayerResponse",
                    "id": 7352
                },
                {
                    "name": "k_EMsgGCFantasyLeagueMatchupsRequest",
                    "id": 7353
                },
                {
                    "name": "k_EMsgGCFantasyLeagueMatchupsResponse",
                    "id": 7354
                },
                {
                    "name": "k_EMsgGCFantasyTeamRosterSwapRequest",
                    "id": 7355
                },
                {
                    "name": "k_EMsgGCFantasyTeamRosterSwapResponse",
                    "id": 7356
                },
                {
                    "name": "k_EMsgGCFantasyTeamRosterRequest",
                    "id": 7357
                },
                {
                    "name": "k_EMsgGCFantasyTeamRosterResponse",
                    "id": 7358
                },
                {
                    "name": "k_EMsgGCNexonPartnerUpdate",
                    "id": 7359
                },
                {
                    "name": "k_EMsgGCToGCProcessPCBangRewardPoints",
                    "id": 7360
                },
                {
                    "name": "k_EMsgGCFantasyTeamRosterAddDropRequest",
                    "id": 7361
                },
                {
                    "name": "k_EMsgGCFantasyTeamRosterAddDropResponse",
                    "id": 7362
                },
                {
                    "name": "k_EMsgPresentedClientTerminateDlg",
                    "id": 7363
                },
                {
                    "name": "k_EMsgGCFantasyPlayerHisoricalStatsRequest",
                    "id": 7364
                },
                {
                    "name": "k_EMsgGCFantasyPlayerHisoricalStatsResponse",
                    "id": 7365
                },
                {
                    "name": "k_EMsgGCPCBangTimedRewardMessage",
                    "id": 7366
                },
                {
                    "name": "k_EMsgGCLobbyUpdateBroadcastChannelInfo",
                    "id": 7367
                },
                {
                    "name": "k_EMsgGCFantasyTeamTradesRequest",
                    "id": 7368
                },
                {
                    "name": "k_EMsgGCFantasyTeamTradesResponse",
                    "id": 7369
                },
                {
                    "name": "k_EMsgGCFantasyTeamTradeCancelRequest",
                    "id": 7370
                },
                {
                    "name": "k_EMsgGCFantasyTeamTradeCancelResponse",
                    "id": 7371
                },
                {
                    "name": "k_EMsgGCToGCGrantTournamentItem",
                    "id": 7372
                },
                {
                    "name": "k_EMsgGCProcessFantasyScheduledEvent",
                    "id": 7373
                },
                {
                    "name": "k_EMsgGCToGCGrantPCBangRewardItem",
                    "id": 7374
                },
                {
                    "name": "k_EMsgGCToGCUpgradeTwitchViewerItems",
                    "id": 7375
                },
                {
                    "name": "k_EMsgGCToGCGetLiveMatchAffiliates",
                    "id": 7376
                },
                {
                    "name": "k_EMsgGCToGCGetLiveMatchAffiliatesResponse",
                    "id": 7377
                },
                {
                    "name": "k_EMsgGCToGCUpdatePlayerPennantCounts",
                    "id": 7378
                },
                {
                    "name": "k_EMsgGCToGCGetPlayerPennantCounts",
                    "id": 7379
                },
                {
                    "name": "k_EMsgGCToGCGetPlayerPennantCountsResponse",
                    "id": 7380
                },
                {
                    "name": "k_EMsgGCGameMatchSignOutPermissionRequest",
                    "id": 7381
                },
                {
                    "name": "k_EMsgGCGameMatchSignOutPermissionResponse",
                    "id": 7382
                },
                {
                    "name": "k_EMsgDOTAChatChannelMemberUpdate",
                    "id": 7383
                },
                {
                    "name": "k_EMsgDOTAAwardEventPoints",
                    "id": 7384
                },
                {
                    "name": "k_EMsgDOTARedeemEventPrize",
                    "id": 7385
                },
                {
                    "name": "k_EMsgDOTARedeemEventPrizeResponse",
                    "id": 7386
                },
                {
                    "name": "k_EMsgDOTAGetEventPoints",
                    "id": 7387
                },
                {
                    "name": "k_EMsgDOTAGetEventPointsResponse",
                    "id": 7388
                },
                {
                    "name": "k_EMsgGCToGCSignoutAwardEventPoints",
                    "id": 7390
                },
                {
                    "name": "k_EMsgDOTASendFriendRecruits",
                    "id": 7393
                },
                {
                    "name": "k_EMsgDOTAFriendRecruitsRequest",
                    "id": 7394
                },
                {
                    "name": "k_EMsgDOTAFriendRecruitsResponse",
                    "id": 7395
                },
                {
                    "name": "k_EMsgDOTAFriendRecruitInviteAcceptDecline",
                    "id": 7396
                },
                {
                    "name": "k_EMsgGCPartyLeaderWatchGamePrompt",
                    "id": 7397
                },
                {
                    "name": "k_EMsgDOTAFrostivusTimeElapsed",
                    "id": 7398
                },
                {
                    "name": "k_EMsgGCToGCGrantEarnedLicense",
                    "id": 7399
                },
                {
                    "name": "k_EMsgDOTALiveLeagueGameUpdate",
                    "id": 7402
                },
                {
                    "name": "k_EMsgDOTAChatGetUserList",
                    "id": 7403
                },
                {
                    "name": "k_EMsgDOTAChatGetUserListResponse",
                    "id": 7404
                },
                {
                    "name": "k_EMsgGCCompendiumSetSelection",
                    "id": 7405
                },
                {
                    "name": "k_EMsgGCCompendiumDataRequest",
                    "id": 7406
                },
                {
                    "name": "k_EMsgGCCompendiumDataResponse",
                    "id": 7407
                },
                {
                    "name": "k_EMsgDOTAGetPlayerMatchHistory",
                    "id": 7408
                },
                {
                    "name": "k_EMsgDOTAGetPlayerMatchHistoryResponse",
                    "id": 7409
                },
                {
                    "name": "k_EMsgGCToGCMatchmakingAddParty",
                    "id": 7410
                },
                {
                    "name": "k_EMsgGCToGCMatchmakingRemoveParty",
                    "id": 7411
                },
                {
                    "name": "k_EMsgGCToGCMatchmakingRemoveAllParties",
                    "id": 7412
                },
                {
                    "name": "k_EMsgGCToGCMatchmakingMatchFound",
                    "id": 7413
                },
                {
                    "name": "k_EMsgGCToGCUpdateMatchManagementStats",
                    "id": 7414
                },
                {
                    "name": "k_EMsgGCToGCUpdateMatchmakingStats",
                    "id": 7415
                },
                {
                    "name": "k_EMsgGCToServerPingRequest",
                    "id": 7416
                },
                {
                    "name": "k_EMsgGCToServerPingResponse",
                    "id": 7417
                },
                {
                    "name": "k_EMsgGCToServerConsoleCommand",
                    "id": 7418
                },
                {
                    "name": "k_EMsgGCToGCUpdateLiveLeagueGameInfo",
                    "id": 7420
                },
                {
                    "name": "k_EMsgGCMakeOffering",
                    "id": 7423
                },
                {
                    "name": "k_EMsgGCRequestOfferings",
                    "id": 7424
                },
                {
                    "name": "k_EMsgGCRequestOfferingsResponse",
                    "id": 7425
                },
                {
                    "name": "k_EMsgGCToGCProcessMatchLeaver",
                    "id": 7426
                },
                {
                    "name": "k_EMsgGCNotificationsRequest",
                    "id": 7427
                },
                {
                    "name": "k_EMsgGCNotificationsResponse",
                    "id": 7428
                },
                {
                    "name": "k_EMsgGCToGCModifyNotification",
                    "id": 7429
                },
                {
                    "name": "k_EMsgGCToGCSetNewNotifications",
                    "id": 7430
                },
                {
                    "name": "k_EMsgGCToGCSetIsLeagueAdmin",
                    "id": 7431
                },
                {
                    "name": "k_EMsgGCLeagueAdminState",
                    "id": 7432
                },
                {
                    "name": "k_EMsgGCToGCSendLeagueAdminState",
                    "id": 7433
                },
                {
                    "name": "k_EMsgGCLeagueAdminList",
                    "id": 7434
                },
                {
                    "name": "k_EMsgGCNotificationsMarkReadRequest",
                    "id": 7435
                },
                {
                    "name": "k_EMsgGCFantasyMessageAdd",
                    "id": 7436
                },
                {
                    "name": "k_EMsgGCFantasyMessagesRequest",
                    "id": 7437
                },
                {
                    "name": "k_EMsgGCFantasyMessagesResponse",
                    "id": 7438
                },
                {
                    "name": "k_EMsgGCFantasyScheduledMatchesRequest",
                    "id": 7439
                },
                {
                    "name": "k_EMsgGCFantasyScheduledMatchesResponse",
                    "id": 7440
                },
                {
                    "name": "k_EMsgGCToGCGrantLeagueAccess",
                    "id": 7441
                },
                {
                    "name": "k_EMsgGCEventGameCreate",
                    "id": 7443
                },
                {
                    "name": "k_EMsgGCPerfectWorldUserLookupRequest",
                    "id": 7444
                },
                {
                    "name": "k_EMsgGCPerfectWorldUserLookupResponse",
                    "id": 7445
                },
                {
                    "name": "k_EMsgGCToGCIncrementRecruitmentSDO",
                    "id": 7446
                },
                {
                    "name": "k_EMsgGCToGCIncrementRecruitmentLevel",
                    "id": 7447
                },
                {
                    "name": "k_EMsgGCFantasyRemoveOwner",
                    "id": 7448
                },
                {
                    "name": "k_EMsgGCFantasyRemoveOwnerResponse",
                    "id": 7449
                },
                {
                    "name": "k_EMsgGCRequestBatchPlayerResources",
                    "id": 7450
                },
                {
                    "name": "k_EMsgGCRequestBatchPlayerResourcesResponse",
                    "id": 7451
                },
                {
                    "name": "k_EMsgGCToGCSendUpdateLeagues",
                    "id": 7452
                },
                {
                    "name": "k_EMsgGCCompendiumSetSelectionResponse",
                    "id": 7453
                },
                {
                    "name": "k_EMsgGCPlayerInfoRequest",
                    "id": 7454
                },
                {
                    "name": "k_EMsgGCPlayerInfo",
                    "id": 7455
                },
                {
                    "name": "k_EMsgGCPlayerInfoSubmit",
                    "id": 7456
                },
                {
                    "name": "k_EMsgGCPlayerInfoSubmitResponse",
                    "id": 7457
                },
                {
                    "name": "k_EMsgGCToGCGetAccountLevel",
                    "id": 7458
                },
                {
                    "name": "k_EMsgGCToGCGetAccountLevelResponse",
                    "id": 7459
                },
                {
                    "name": "k_EMsgGCToGCGetAccountPartner",
                    "id": 7460
                },
                {
                    "name": "k_EMsgGCToGCGetAccountPartnerResponse",
                    "id": 7461
                },
                {
                    "name": "k_EMsgGCToGCGetAccountProfile",
                    "id": 7462
                },
                {
                    "name": "k_EMsgGCToGCGetAccountProfileResponse",
                    "id": 7463
                },
                {
                    "name": "k_EMsgDOTAGetWeekendTourneySchedule",
                    "id": 7464
                },
                {
                    "name": "k_EMsgDOTAWeekendTourneySchedule",
                    "id": 7465
                },
                {
                    "name": "k_EMsgGCJoinableCustomGameModesRequest",
                    "id": 7466
                },
                {
                    "name": "k_EMsgGCJoinableCustomGameModesResponse",
                    "id": 7467
                },
                {
                    "name": "k_EMsgGCJoinableCustomLobbiesRequest",
                    "id": 7468
                },
                {
                    "name": "k_EMsgGCJoinableCustomLobbiesResponse",
                    "id": 7469
                },
                {
                    "name": "k_EMsgGCQuickJoinCustomLobby",
                    "id": 7470
                },
                {
                    "name": "k_EMsgGCQuickJoinCustomLobbyResponse",
                    "id": 7471
                },
                {
                    "name": "k_EMsgGCToGCGrantEventPointAction",
                    "id": 7472
                },
                {
                    "name": "k_EMsgServerGetEventPoints",
                    "id": 7473
                },
                {
                    "name": "k_EMsgServerGetEventPointsResponse",
                    "id": 7474
                },
                {
                    "name": "k_EMsgServerGrantSurveyPermission",
                    "id": 7475
                },
                {
                    "name": "k_EMsgServerGrantSurveyPermissionResponse",
                    "id": 7476
                },
                {
                    "name": "k_EMsgClientProvideSurveyResult",
                    "id": 7477
                },
                {
                    "name": "k_EMsgGCToGCSetCompendiumSelection",
                    "id": 7478
                },
                {
                    "name": "k_EMsgGCToGCUpdateTI4HeroQuest",
                    "id": 7480
                },
                {
                    "name": "k_EMsgGCCompendiumDataChanged",
                    "id": 7481
                },
                {
                    "name": "k_EMsgDOTAFantasyLeagueFindRequest",
                    "id": 7482
                },
                {
                    "name": "k_EMsgDOTAFantasyLeagueFindResponse",
                    "id": 7483
                },
                {
                    "name": "k_EMsgGCHasItemQuery",
                    "id": 7484
                },
                {
                    "name": "k_EMsgGCHasItemResponse",
                    "id": 7485
                },
                {
                    "name": "k_EMsgGCConsumeFantasyTicket",
                    "id": 7486
                },
                {
                    "name": "k_EMsgGCConsumeFantasyTicketFailure",
                    "id": 7487
                },
                {
                    "name": "k_EMsgGCToGCGrantEventPointActionMsg",
                    "id": 7488
                },
                {
                    "name": "k_EMsgClientToGCTrackDialogResult",
                    "id": 7489
                },
                {
                    "name": "k_EMsgGCFantasyLeaveLeagueRequest",
                    "id": 7490
                },
                {
                    "name": "k_EMsgGCFantasyLeaveLeagueResponse",
                    "id": 7491
                },
                {
                    "name": "k_EMsgGCToGCGetCompendiumSelections",
                    "id": 7492
                },
                {
                    "name": "k_EMsgGCToGCGetCompendiumSelectionsResponse",
                    "id": 7493
                },
                {
                    "name": "k_EMsgServerToGCMatchConnectionStats",
                    "id": 7494
                },
                {
                    "name": "k_EMsgGCToClientTournamentItemDrop",
                    "id": 7495
                },
                {
                    "name": "k_EMsgSQLDelayedGrantLeagueDrop",
                    "id": 7496
                },
                {
                    "name": "k_EMsgServerGCUpdateSpectatorCount",
                    "id": 7497
                },
                {
                    "name": "k_EMsgDOTAStartDailyHeroChallengeRequest",
                    "id": 7498
                },
                {
                    "name": "k_EMsgGCFantasyPlayerScoreDetailsRequest",
                    "id": 7499
                },
                {
                    "name": "k_EMsgGCFantasyPlayerScoreDetailsResponse",
                    "id": 7500
                },
                {
                    "name": "k_EMsgGCToGCEmoticonUnlock",
                    "id": 7501
                },
                {
                    "name": "k_EMsgSignOutDraftInfo",
                    "id": 7502
                },
                {
                    "name": "k_EMsgClientToGCEmoticonDataRequest",
                    "id": 7503
                },
                {
                    "name": "k_EMsgGCToClientEmoticonData",
                    "id": 7504
                },
                {
                    "name": "k_EMsgGCPracticeLobbyToggleBroadcastChannelCameramanStatus",
                    "id": 7505
                },
                {
                    "name": "k_EMsgGCToGCCreateWeekendTourneyRequest",
                    "id": 7506
                },
                {
                    "name": "k_EMsgGCToGCCreateWeekendTourneyResponse",
                    "id": 7507
                },
                {
                    "name": "k_EMsgGCHeroPickStatsRequest",
                    "id": 7508
                },
                {
                    "name": "k_EMsgGCHeroPickStatsResponse",
                    "id": 7509
                },
                {
                    "name": "k_EMsgGCToGCCreateGenericTeamsRequest",
                    "id": 7510
                },
                {
                    "name": "k_EMsgGCToGCCreateGenericTeamsResponse",
                    "id": 7511
                },
                {
                    "name": "k_EMsgSQLLaunchOneWeekendTourney",
                    "id": 7512
                },
                {
                    "name": "k_EMsgClientToGCSetAdditionalEquips",
                    "id": 7513
                },
                {
                    "name": "k_EMsgClientToGCGetAdditionalEquips",
                    "id": 7514
                },
                {
                    "name": "k_EMsgClientToGCGetAdditionalEquipsResponse",
                    "id": 7515
                },
                {
                    "name": "k_EMsgServerToGCGetAdditionalEquips",
                    "id": 7516
                },
                {
                    "name": "k_EMsgServerToGCGetAdditionalEquipsResponse",
                    "id": 7517
                },
                {
                    "name": "k_EMsgDOTARedeemItem",
                    "id": 7518
                },
                {
                    "name": "k_EMsgDOTARedeemItemResponse",
                    "id": 7519
                },
                {
                    "name": "k_EMsgSQLGCToGCGrantAllHeroProgress",
                    "id": 7520
                },
                {
                    "name": "k_EMsgClientToGCGetAllHeroProgress",
                    "id": 7521
                },
                {
                    "name": "k_EMsgClientToGCGetAllHeroProgressResponse",
                    "id": 7522
                },
                {
                    "name": "k_EMsgGCToGCGetServerForClient",
                    "id": 7523
                },
                {
                    "name": "k_EMsgGCToGCGetServerForClientResponse",
                    "id": 7524
                },
                {
                    "name": "k_EMsgSQLProcessTournamentGameOutcome",
                    "id": 7525
                },
                {
                    "name": "k_EMsgSQLGrantTrophyToAccount",
                    "id": 7526
                },
                {
                    "name": "k_EMsgClientToGCGetTrophyList",
                    "id": 7527
                },
                {
                    "name": "k_EMsgClientToGCGetTrophyListResponse",
                    "id": 7528
                },
                {
                    "name": "k_EMsgGCToClientTrophyAwarded",
                    "id": 7529
                },
                {
                    "name": "k_EMsgGCGameBotMatchSignOut",
                    "id": 7530
                },
                {
                    "name": "k_EMsgGCGameBotMatchSignOutPermissionRequest",
                    "id": 7531
                },
                {
                    "name": "k_EMsgSignOutBotInfo",
                    "id": 7532
                },
                {
                    "name": "k_EMsgGCToGCUpdateProfileCards",
                    "id": 7533
                },
                {
                    "name": "k_EMsgClientToGCGetProfileCard",
                    "id": 7534
                },
                {
                    "name": "k_EMsgClientToGCGetProfileCardResponse",
                    "id": 7535
                },
                {
                    "name": "k_EMsgServerToGCGetProfileCard",
                    "id": 7536
                },
                {
                    "name": "k_EMsgServerToGCGetProfileCardResponse",
                    "id": 7537
                },
                {
                    "name": "k_EMsgClientToGCSetProfileCardSlots",
                    "id": 7538
                },
                {
                    "name": "k_EMsgGCToClientProfileCardUpdated",
                    "id": 7539
                },
                {
                    "name": "k_EMsgServerToGCVictoryPredictions",
                    "id": 7540
                },
                {
                    "name": "k_EMsgClientToGCMarkNotificationListRead",
                    "id": 7542
                },
                {
                    "name": "k_EMsgGCToClientNewNotificationAdded",
                    "id": 7543
                },
                {
                    "name": "k_EMsgServerToGCSuspiciousActivity",
                    "id": 7544
                },
                {
                    "name": "k_EMsgSignOutCommunicationSummary",
                    "id": 7545
                },
                {
                    "name": "k_EMsgServerToGCRequestStatus_Response",
                    "id": 7546
                },
                {
                    "name": "k_EMsgClientToGCCreateHeroStatue",
                    "id": 7547
                },
                {
                    "name": "k_EMsgGCToClientHeroStatueCreateResult",
                    "id": 7548
                },
                {
                    "name": "k_EMsgGCGCToLANServerRelayConnect",
                    "id": 7549
                },
                {
                    "name": "k_EMsgSignOutAssassinMiniGameInfo",
                    "id": 7550
                },
                {
                    "name": "k_EMsgServerToGCGetIngameEventData",
                    "id": 7551
                },
                {
                    "name": "k_EMsgGCToGCUpdateIngameEventDataBroadcast",
                    "id": 7552
                },
                {
                    "name": "k_EMsgGCToServerIngameEventData_OraclePA",
                    "id": 7553
                },
                {
                    "name": "k_EMsgServerToGCReportKillSummaries",
                    "id": 7554
                },
                {
                    "name": "k_EMsgGCToGCReportKillSummaries",
                    "id": 7555
                },
                {
                    "name": "k_EMsgGCToGCUpdateAssassinMinigame",
                    "id": 7556
                },
                {
                    "name": "k_EMsgGCToGCFantasySetMatchLeague",
                    "id": 7557
                },
                {
                    "name": "k_EMsgClientToGCRecordCompendiumStats",
                    "id": 7558
                },
                {
                    "name": "k_EMsgGCItemEditorRequestLeagueInfo",
                    "id": 7559
                },
                {
                    "name": "k_EMsgGCItemEditorLeagueInfoResponse",
                    "id": 7560
                },
                {
                    "name": "k_EMsgGCToGCUpdatePlayerPredictions",
                    "id": 7561
                },
                {
                    "name": "k_EMsgGCToServerPredictionResult",
                    "id": 7562
                },
                {
                    "name": "k_EMsgServerToGCSignoutAwardAdditionalDrops",
                    "id": 7563
                },
                {
                    "name": "k_EMsgGCToGCSignoutAwardAdditionalDrops",
                    "id": 7564
                },
                {
                    "name": "k_EMsgGCToClientEventStatusChanged",
                    "id": 7565
                },
                {
                    "name": "k_EMsgGCHasItemDefsQuery",
                    "id": 7566
                },
                {
                    "name": "k_EMsgGCHasItemDefsResponse",
                    "id": 7567
                },
                {
                    "name": "k_EMsgGCToGCReplayMonitorValidateReplay",
                    "id": 7569
                },
                {
                    "name": "k_EMsgClientToGCExchangeItemsForOffering",
                    "id": 7570
                },
                {
                    "name": "k_EMsgClientToGCExchangeItemsForOfferingResponse",
                    "id": 7571
                },
                {
                    "name": "k_EMsgLobbyEventPoints",
                    "id": 7572
                },
                {
                    "name": "k_EMsgGCToGCGetCustomGameTickets",
                    "id": 7573
                },
                {
                    "name": "k_EMsgGCToGCGetCustomGameTicketsResponse",
                    "id": 7574
                },
                {
                    "name": "k_EMsgGCToClientNewBloomTimingUpdated",
                    "id": 7575
                },
                {
                    "name": "k_EMsgGCToGCCustomGamePlayed",
                    "id": 7576
                },
                {
                    "name": "k_EMsgGCToGCGrantEventPointsToUser",
                    "id": 7577
                },
                {
                    "name": "k_EMsgGCToGCSetEventMMPanicFlushTime",
                    "id": 7578
                },
                {
                    "name": "k_EMsgGameserverCrashReport",
                    "id": 7579
                },
                {
                    "name": "k_EMsgGameserverCrashReportResponse",
                    "id": 7580
                },
                {
                    "name": "k_EMsgGCToClientSteamDatagramTicket",
                    "id": 7581
                },
                {
                    "name": "k_EMsgGCToGCGrantEventOwnership",
                    "id": 7582
                },
                {
                    "name": "k_EMsgGCToGCSendAccountsEventPoints",
                    "id": 7583
                },
                {
                    "name": "k_EMsgClientToGCRerollPlayerChallenge",
                    "id": 7584
                },
                {
                    "name": "k_EMsgServerToGCRerollPlayerChallenge",
                    "id": 7585
                },
                {
                    "name": "k_EMsgGCRerollPlayerChallengeResponse",
                    "id": 7586
                },
                {
                    "name": "k_EMsgSignOutUpdatePlayerChallenge",
                    "id": 7587
                },
                {
                    "name": "k_EMsgClientToGCSetPartyLeader",
                    "id": 7588
                },
                {
                    "name": "k_EMsgClientToGCCancelPartyInvites",
                    "id": 7589
                },
                {
                    "name": "k_EMsgGCToGCMasterReloadAccount",
                    "id": 7590
                },
                {
                    "name": "k_EMsgSQLGCToGCGrantBackpackSlots",
                    "id": 7591
                },
                {
                    "name": "k_EMsgSQLGrantLeagueMatchToTicketHolders",
                    "id": 7592
                },
                {
                    "name": "k_EMsgClientToGCSetAdditionalEquipsResponse",
                    "id": 7593
                },
                {
                    "name": "k_EMsgGCToGCEmoticonUnlockNoRollback",
                    "id": 7594
                },
                {
                    "name": "k_EMsgGCToGCGetCompendiumFanfare",
                    "id": 7595
                },
                {
                    "name": "k_EMsgServerToGCHoldEventPoints",
                    "id": 7596
                },
                {
                    "name": "k_EMsgSignOutReleaseEventPointHolds",
                    "id": 7597
                },
                {
                    "name": "k_EMsgGCToGCChatNewUserSession",
                    "id": 7598
                },
                {
                    "name": "k_EMsgGCToServerUpdateBroadcastCheers",
                    "id": 7602
                },
                {
                    "name": "k_EMsgGCDev_GrantWarKill",
                    "id": 8001
                },
                {
                    "name": "k_EMsgClientToGCCreateTeamShowcase",
                    "id": 8002
                },
                {
                    "name": "k_EMsgGCToClientTeamShowcaseCreateResult",
                    "id": 8003
                },
                {
                    "name": "k_EMsgServerToGCLockCharmTrading",
                    "id": 8004
                },
                {
                    "name": "k_EMsgDOTACNY2015EventPointUsage",
                    "id": 8005
                },
                {
                    "name": "k_EMsgClientToGCPlayerStatsRequest",
                    "id": 8006
                },
                {
                    "name": "k_EMsgGCToClientPlayerStatsResponse",
                    "id": 8007
                },
                {
                    "name": "k_EMsgGCClearPracticeLobbyTeam",
                    "id": 8008
                },
                {
                    "name": "k_EMsgClientToGCFindTopSourceTVGames",
                    "id": 8009
                },
                {
                    "name": "k_EMsgGCToClientFindTopSourceTVGamesResponse",
                    "id": 8010
                },
                {
                    "name": "k_EMsgGCLobbyList",
                    "id": 8011
                },
                {
                    "name": "k_EMsgGCLobbyListResponse",
                    "id": 8012
                },
                {
                    "name": "k_EMsgGCPlayerStatsMatchSignOut",
                    "id": 8013
                },
                {
                    "name": "k_EMsgClientToGCCustomGamePlayerCountRequest",
                    "id": 8014
                },
                {
                    "name": "k_EMsgGCToClientCustomGamePlayerCountResponse",
                    "id": 8015
                },
                {
                    "name": "k_EMsgClientToGCSocialFeedPostCommentRequest",
                    "id": 8016
                },
                {
                    "name": "k_EMsgGCToClientSocialFeedPostCommentResponse",
                    "id": 8017
                },
                {
                    "name": "k_EMsgClientToGCCustomGamesFriendsPlayedRequest",
                    "id": 8018
                },
                {
                    "name": "k_EMsgGCToClientCustomGamesFriendsPlayedResponse",
                    "id": 8019
                },
                {
                    "name": "k_EMsgClientToGCFriendsPlayedCustomGameRequest",
                    "id": 8020
                },
                {
                    "name": "k_EMsgGCToClientFriendsPlayedCustomGameResponse",
                    "id": 8021
                },
                {
                    "name": "k_EMsgClientToGCFeaturedHeroesRequest",
                    "id": 8022
                },
                {
                    "name": "k_EMsgGCToClientFeaturedHeroesResponse",
                    "id": 8023
                },
                {
                    "name": "k_EMsgGCTopCustomGamesList",
                    "id": 8024
                },
                {
                    "name": "k_EMsgClientToGCSocialMatchPostCommentRequest",
                    "id": 8025
                },
                {
                    "name": "k_EMsgGCToClientSocialMatchPostCommentResponse",
                    "id": 8026
                },
                {
                    "name": "k_EMsgClientToGCSocialMatchDetailsRequest",
                    "id": 8027
                },
                {
                    "name": "k_EMsgGCToClientSocialMatchDetailsResponse",
                    "id": 8028
                },
                {
                    "name": "k_EMsgClientToGCSetPartyOpen",
                    "id": 8029
                },
                {
                    "name": "k_EMsgClientToGCMergePartyInvite",
                    "id": 8030
                },
                {
                    "name": "k_EMsgGCToClientMergeGroupInviteReply",
                    "id": 8031
                },
                {
                    "name": "k_EMsgClientToGCMergePartyResponse",
                    "id": 8032
                },
                {
                    "name": "k_EMsgGCToClientMergePartyResponseReply",
                    "id": 8033
                },
                {
                    "name": "k_EMsgClientToGCGetProfileCardStats",
                    "id": 8034
                },
                {
                    "name": "k_EMsgClientToGCGetProfileCardStatsResponse",
                    "id": 8035
                },
                {
                    "name": "k_EMsgClientToGCTopLeagueMatchesRequest",
                    "id": 8036
                },
                {
                    "name": "k_EMsgClientToGCTopFriendMatchesRequest",
                    "id": 8037
                },
                {
                    "name": "k_EMsgGCToClientTopMatchesResponse",
                    "id": 8038
                },
                {
                    "name": "k_EMsgClientToGCTopPubMatchesRequest",
                    "id": 8039
                },
                {
                    "name": "k_EMsgGCToClientProfileCardStatsUpdated",
                    "id": 8040
                },
                {
                    "name": "k_EMsgServerToGCRealtimeStats",
                    "id": 8041
                },
                {
                    "name": "k_EMsgGCToServerRealtimeStatsStartStop",
                    "id": 8042
                },
                {
                    "name": "k_EMsgGCToGCGetServersForClients",
                    "id": 8045
                },
                {
                    "name": "k_EMsgGCToGCGetServersForClientsResponse",
                    "id": 8046
                },
                {
                    "name": "k_EMsgGCPracticeLobbyKickFromTeam",
                    "id": 8047
                },
                {
                    "name": "k_EMsgDOTAChatGetMemberCount",
                    "id": 8048
                },
                {
                    "name": "k_EMsgDOTAChatGetMemberCountResponse",
                    "id": 8049
                },
                {
                    "name": "k_EMsgClientToGCSocialFeedPostMessageRequest",
                    "id": 8050
                },
                {
                    "name": "k_EMsgGCToClientSocialFeedPostMessageResponse",
                    "id": 8051
                },
                {
                    "name": "k_EMsgCustomGameListenServerStartedLoading",
                    "id": 8052
                },
                {
                    "name": "k_EMsgCustomGameClientFinishedLoading",
                    "id": 8053
                },
                {
                    "name": "k_EMsgGCPracticeLobbyCloseBroadcastChannel",
                    "id": 8054
                },
                {
                    "name": "k_EMsgGCStartFindingMatchResponse",
                    "id": 8055
                },
                {
                    "name": "k_EMsgSQLGCToGCUpdateHeroMMR",
                    "id": 8056
                }
            ]
        },
        {
            "name": "DOTA_GameMode",
            "values": [
                {
                    "name": "DOTA_GAMEMODE_NONE",
                    "id": 0
                },
                {
                    "name": "DOTA_GAMEMODE_AP",
                    "id": 1
                },
                {
                    "name": "DOTA_GAMEMODE_CM",
                    "id": 2
                },
                {
                    "name": "DOTA_GAMEMODE_RD",
                    "id": 3
                },
                {
                    "name": "DOTA_GAMEMODE_SD",
                    "id": 4
                },
                {
                    "name": "DOTA_GAMEMODE_AR",
                    "id": 5
                },
                {
                    "name": "DOTA_GAMEMODE_INTRO",
                    "id": 6
                },
                {
                    "name": "DOTA_GAMEMODE_HW",
                    "id": 7
                },
                {
                    "name": "DOTA_GAMEMODE_REVERSE_CM",
                    "id": 8
                },
                {
                    "name": "DOTA_GAMEMODE_XMAS",
                    "id": 9
                },
                {
                    "name": "DOTA_GAMEMODE_TUTORIAL",
                    "id": 10
                },
                {
                    "name": "DOTA_GAMEMODE_MO",
                    "id": 11
                },
                {
                    "name": "DOTA_GAMEMODE_LP",
                    "id": 12
                },
                {
                    "name": "DOTA_GAMEMODE_POOL1",
                    "id": 13
                },
                {
                    "name": "DOTA_GAMEMODE_FH",
                    "id": 14
                },
                {
                    "name": "DOTA_GAMEMODE_CUSTOM",
                    "id": 15
                },
                {
                    "name": "DOTA_GAMEMODE_CD",
                    "id": 16
                },
                {
                    "name": "DOTA_GAMEMODE_BD",
                    "id": 17
                },
                {
                    "name": "DOTA_GAMEMODE_ABILITY_DRAFT",
                    "id": 18
                },
                {
                    "name": "DOTA_GAMEMODE_EVENT",
                    "id": 19
                },
                {
                    "name": "DOTA_GAMEMODE_ARDM",
                    "id": 20
                },
                {
                    "name": "DOTA_GAMEMODE_1V1MID",
                    "id": 21
                },
                {
                    "name": "DOTA_GAMEMODE_ALL_DRAFT",
                    "id": 22
                }
            ]
        },
        {
            "name": "DOTA_GameState",
            "values": [
                {
                    "name": "DOTA_GAMERULES_STATE_INIT",
                    "id": 0
                },
                {
                    "name": "DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD",
                    "id": 1
                },
                {
                    "name": "DOTA_GAMERULES_STATE_HERO_SELECTION",
                    "id": 2
                },
                {
                    "name": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
                    "id": 3
                },
                {
                    "name": "DOTA_GAMERULES_STATE_PRE_GAME",
                    "id": 4
                },
                {
                    "name": "DOTA_GAMERULES_STATE_GAME_IN_PROGRESS",
                    "id": 5
                },
                {
                    "name": "DOTA_GAMERULES_STATE_POST_GAME",
                    "id": 6
                },
                {
                    "name": "DOTA_GAMERULES_STATE_DISCONNECT",
                    "id": 7
                },
                {
                    "name": "DOTA_GAMERULES_STATE_TEAM_SHOWCASE",
                    "id": 8
                },
                {
                    "name": "DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP",
                    "id": 9
                },
                {
                    "name": "DOTA_GAMERULES_STATE_LAST",
                    "id": 10
                }
            ]
        },
        {
            "name": "DOTA_GC_TEAM",
            "values": [
                {
                    "name": "DOTA_GC_TEAM_GOOD_GUYS",
                    "id": 0
                },
                {
                    "name": "DOTA_GC_TEAM_BAD_GUYS",
                    "id": 1
                },
                {
                    "name": "DOTA_GC_TEAM_BROADCASTER",
                    "id": 2
                },
                {
                    "name": "DOTA_GC_TEAM_SPECTATOR",
                    "id": 3
                },
                {
                    "name": "DOTA_GC_TEAM_PLAYER_POOL",
                    "id": 4
                },
                {
                    "name": "DOTA_GC_TEAM_NOTEAM",
                    "id": 5
                }
            ]
        },
        {
            "name": "DOTA_CM_PICK",
            "values": [
                {
                    "name": "DOTA_CM_RANDOM",
                    "id": 0
                },
                {
                    "name": "DOTA_CM_GOOD_GUYS",
                    "id": 1
                },
                {
                    "name": "DOTA_CM_BAD_GUYS",
                    "id": 2
                }
            ]
        },
        {
            "name": "DOTAConnectionState_t",
            "values": [
                {
                    "name": "DOTA_CONNECTION_STATE_UNKNOWN",
                    "id": 0
                },
                {
                    "name": "DOTA_CONNECTION_STATE_NOT_YET_CONNECTED",
                    "id": 1
                },
                {
                    "name": "DOTA_CONNECTION_STATE_CONNECTED",
                    "id": 2
                },
                {
                    "name": "DOTA_CONNECTION_STATE_DISCONNECTED",
                    "id": 3
                },
                {
                    "name": "DOTA_CONNECTION_STATE_ABANDONED",
                    "id": 4
                },
                {
                    "name": "DOTA_CONNECTION_STATE_LOADING",
                    "id": 5
                },
                {
                    "name": "DOTA_CONNECTION_STATE_FAILED",
                    "id": 6
                }
            ]
        },
        {
            "name": "DOTALeaverStatus_t",
            "values": [
                {
                    "name": "DOTA_LEAVER_NONE",
                    "id": 0
                },
                {
                    "name": "DOTA_LEAVER_DISCONNECTED",
                    "id": 1
                },
                {
                    "name": "DOTA_LEAVER_DISCONNECTED_TOO_LONG",
                    "id": 2
                },
                {
                    "name": "DOTA_LEAVER_ABANDONED",
                    "id": 3
                },
                {
                    "name": "DOTA_LEAVER_AFK",
                    "id": 4
                },
                {
                    "name": "DOTA_LEAVER_NEVER_CONNECTED",
                    "id": 5
                },
                {
                    "name": "DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG",
                    "id": 6
                },
                {
                    "name": "DOTA_LEAVER_FAILED_TO_READY_UP",
                    "id": 7
                },
                {
                    "name": "DOTA_LEAVER_DECLINED",
                    "id": 8
                }
            ]
        },
        {
            "name": "DOTALowPriorityBanType",
            "values": [
                {
                    "name": "DOTA_LOW_PRIORITY_BAN_ABANDON",
                    "id": 0
                },
                {
                    "name": "DOTA_LOW_PRIORITY_BAN_REPORTS",
                    "id": 1
                },
                {
                    "name": "DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON",
                    "id": 2
                }
            ]
        },
        {
            "name": "DOTALobbyReadyState",
            "values": [
                {
                    "name": "DOTALobbyReadyState_UNDECLARED",
                    "id": 0
                },
                {
                    "name": "DOTALobbyReadyState_ACCEPTED",
                    "id": 1
                },
                {
                    "name": "DOTALobbyReadyState_DECLINED",
                    "id": 2
                }
            ]
        },
        {
            "name": "DOTAGameVersion",
            "values": [
                {
                    "name": "GAME_VERSION_CURRENT",
                    "id": 0
                },
                {
                    "name": "GAME_VERSION_STABLE",
                    "id": 1
                }
            ]
        },
        {
            "name": "DOTAJoinLobbyResult",
            "values": [
                {
                    "name": "DOTA_JOIN_RESULT_SUCCESS",
                    "id": 0
                },
                {
                    "name": "DOTA_JOIN_RESULT_ALREADY_IN_GAME",
                    "id": 1
                },
                {
                    "name": "DOTA_JOIN_RESULT_INVALID_LOBBY",
                    "id": 2
                },
                {
                    "name": "DOTA_JOIN_RESULT_INCORRECT_PASSWORD",
                    "id": 3
                },
                {
                    "name": "DOTA_JOIN_RESULT_ACCESS_DENIED",
                    "id": 4
                },
                {
                    "name": "DOTA_JOIN_RESULT_GENERIC_ERROR",
                    "id": 5
                },
                {
                    "name": "DOTA_JOIN_RESULT_INCORRECT_VERSION",
                    "id": 6
                },
                {
                    "name": "DOTA_JOIN_RESULT_IN_TEAM_PARTY",
                    "id": 7
                },
                {
                    "name": "DOTA_JOIN_RESULT_NO_LOBBY_FOUND",
                    "id": 8
                },
                {
                    "name": "DOTA_JOIN_RESULT_LOBBY_FULL",
                    "id": 9
                },
                {
                    "name": "DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION",
                    "id": 10
                }
            ]
        },
        {
            "name": "DOTAMatchVote",
            "values": [
                {
                    "name": "DOTAMatchVote_INVALID",
                    "id": 0
                },
                {
                    "name": "DOTAMatchVote_POSITIVE",
                    "id": 1
                },
                {
                    "name": "DOTAMatchVote_NEGATIVE",
                    "id": 2
                }
            ]
        },
        {
            "name": "DOTA_LobbyMemberXPBonus",
            "values": [
                {
                    "name": "DOTA_LobbyMemberXPBonus_DEFAULT",
                    "id": 0
                },
                {
                    "name": "DOTA_LobbyMemberXPBonus_BATTLE_BOOSTER",
                    "id": 1
                },
                {
                    "name": "DOTA_LobbyMemberXPBonus_SHARE_BONUS",
                    "id": 2
                },
                {
                    "name": "DOTA_LobbyMemberXPBonus_PARTY",
                    "id": 3
                },
                {
                    "name": "DOTA_LobbyMemberXPBonus_RECRUITMENT",
                    "id": 4
                },
                {
                    "name": "DOTA_LobbyMemberXPBonus_PCBANG",
                    "id": 5
                }
            ]
        },
        {
            "name": "DOTALobbyVisibility",
            "values": [
                {
                    "name": "DOTALobbyVisibility_Public",
                    "id": 0
                },
                {
                    "name": "DOTALobbyVisibility_Friends",
                    "id": 1
                },
                {
                    "name": "DOTALobbyVisibility_Unlisted",
                    "id": 2
                }
            ]
        },
        {
            "name": "EDOTAPlayerMMRType",
            "values": [
                {
                    "name": "k_EDOTAPlayerMMRType_Invalid",
                    "id": 0
                },
                {
                    "name": "k_EDOTAPlayerMMRType_GeneralHidden",
                    "id": 1
                },
                {
                    "name": "k_EDOTAPlayerMMRType_SoloHidden",
                    "id": 2
                },
                {
                    "name": "k_EDOTAPlayerMMRType_GeneralCompetitive",
                    "id": 3
                },
                {
                    "name": "k_EDOTAPlayerMMRType_SoloCompetitive",
                    "id": 4
                },
                {
                    "name": "k_EDOTAPlayerMMRType_1v1Competitive",
                    "id": 5
                }
            ]
        },
        {
            "name": "MatchType",
            "values": [
                {
                    "name": "MATCH_TYPE_CASUAL",
                    "id": 0
                },
                {
                    "name": "MATCH_TYPE_COOP_BOTS",
                    "id": 1
                },
                {
                    "name": "MATCH_TYPE_TEAM_RANKED",
                    "id": 2
                },
                {
                    "name": "MATCH_TYPE_LEGACY_SOLO_QUEUE",
                    "id": 3
                },
                {
                    "name": "MATCH_TYPE_COMPETITIVE",
                    "id": 4
                },
                {
                    "name": "MATCH_TYPE_WEEKEND_TOURNEY",
                    "id": 5
                },
                {
                    "name": "MATCH_TYPE_CASUAL_1V1",
                    "id": 6
                },
                {
                    "name": "MATCH_TYPE_EVENT",
                    "id": 7
                }
            ]
        },
        {
            "name": "DOTABotDifficulty",
            "values": [
                {
                    "name": "BOT_DIFFICULTY_PASSIVE",
                    "id": 0
                },
                {
                    "name": "BOT_DIFFICULTY_EASY",
                    "id": 1
                },
                {
                    "name": "BOT_DIFFICULTY_MEDIUM",
                    "id": 2
                },
                {
                    "name": "BOT_DIFFICULTY_HARD",
                    "id": 3
                },
                {
                    "name": "BOT_DIFFICULTY_UNFAIR",
                    "id": 4
                },
                {
                    "name": "BOT_DIFFICULTY_INVALID",
                    "id": 5
                },
                {
                    "name": "BOT_DIFFICULTY_EXTRA1",
                    "id": 6
                },
                {
                    "name": "BOT_DIFFICULTY_EXTRA2",
                    "id": 7
                },
                {
                    "name": "BOT_DIFFICULTY_EXTRA3",
                    "id": 8
                }
            ]
        },
        {
            "name": "MatchLanguages",
            "values": [
                {
                    "name": "MATCH_LANGUAGE_INVALID",
                    "id": 0
                },
                {
                    "name": "MATCH_LANGUAGE_ENGLISH",
                    "id": 1
                },
                {
                    "name": "MATCH_LANGUAGE_RUSSIAN",
                    "id": 2
                },
                {
                    "name": "MATCH_LANGUAGE_CHINESE",
                    "id": 3
                },
                {
                    "name": "MATCH_LANGUAGE_KOREAN",
                    "id": 4
                },
                {
                    "name": "MATCH_LANGUAGE_SPANISH",
                    "id": 5
                },
                {
                    "name": "MATCH_LANGUAGE_PORTUGUESE",
                    "id": 6
                },
                {
                    "name": "MATCH_LANGUAGE_ENGLISH2",
                    "id": 7
                }
            ]
        },
        {
            "name": "ETournamentTemplate",
            "values": [
                {
                    "name": "k_ETournamentTemplate_None",
                    "id": 0
                },
                {
                    "name": "k_ETournamentTemplate_SingleElimination",
                    "id": 1
                }
            ]
        },
        {
            "name": "ETournamentType",
            "values": [
                {
                    "name": "k_ETournamentType_Unknown",
                    "id": 0
                },
                {
                    "name": "k_ETournamentType_WeeklyDivision",
                    "id": 1
                }
            ]
        },
        {
            "name": "EIngameEvent",
            "values": [
                {
                    "name": "k_EIngameEvent_OraclePA",
                    "id": 0
                },
                {
                    "name": "k_EIngameEvent_CNY2015",
                    "id": 1
                },
                {
                    "name": "k_EIngameEvent_CNY2015_PreBeast",
                    "id": 2
                },
                {
                    "name": "k_EIngameEvent_TI5",
                    "id": 3
                }
            ]
        },
        {
            "name": "LobbyDotaTVDelay",
            "values": [
                {
                    "name": "LobbyDotaTV_10",
                    "id": 0
                },
                {
                    "name": "LobbyDotaTV_120",
                    "id": 1
                },
                {
                    "name": "LobbyDotaTV_300",
                    "id": 2
                }
            ]
        },
        {
            "name": "EMatchOutcome",
            "values": [
                {
                    "name": "k_EMatchOutcome_Unknown",
                    "id": 0
                },
                {
                    "name": "k_EMatchOutcome_RadVictory",
                    "id": 2
                },
                {
                    "name": "k_EMatchOutcome_DireVictory",
                    "id": 3
                },
                {
                    "name": "k_EMatchOutcome_NotScored_PoorNetworkConditions",
                    "id": 64
                },
                {
                    "name": "k_EMatchOutcome_NotScored_Leaver",
                    "id": 65
                },
                {
                    "name": "k_EMatchOutcome_NotScored_ServerCrash",
                    "id": 66
                },
                {
                    "name": "k_EMatchOutcome_NotScored_NeverStarted",
                    "id": 67
                }
            ]
        },
        {
            "name": "EDOTAGCSessionNeed",
            "values": [
                {
                    "name": "k_EDOTAGCSessionNeed_Unknown",
                    "id": 0
                },
                {
                    "name": "k_EDOTAGCSessionNeed_UserNoSessionNeeded",
                    "id": 100
                },
                {
                    "name": "k_EDOTAGCSessionNeed_UserInOnlineGame",
                    "id": 101
                },
                {
                    "name": "k_EDOTAGCSessionNeed_UserInLocalGame",
                    "id": 102
                },
                {
                    "name": "k_EDOTAGCSessionNeed_UserInUIWasConnected",
                    "id": 103
                },
                {
                    "name": "k_EDOTAGCSessionNeed_UserInUINeverConnected",
                    "id": 104
                },
                {
                    "name": "k_EDOTAGCSessionNeed_UserTutorials",
                    "id": 105
                },
                {
                    "name": "k_EDOTAGCSessionNeed_GameServerOnline",
                    "id": 200
                },
                {
                    "name": "k_EDOTAGCSessionNeed_GameServerLocal",
                    "id": 201
                },
                {
                    "name": "k_EDOTAGCSessionNeed_GameServerIdle",
                    "id": 202
                },
                {
                    "name": "k_EDOTAGCSessionNeed_GameServerRelay",
                    "id": 203
                },
                {
                    "name": "k_EDOTAGCSessionNeed_GameServerLocalUpload",
                    "id": 204
                }
            ]
        },
        {
            "name": "Fantasy_Roles",
            "values": [
                {
                    "name": "FANTASY_ROLE_UNDEFINED",
                    "id": 0
                },
                {
                    "name": "FANTASY_ROLE_CORE",
                    "id": 1
                },
                {
                    "name": "FANTASY_ROLE_SUPPORT",
                    "id": 2
                }
            ]
        },
        {
            "name": "Fantasy_Team_Slots",
            "values": [
                {
                    "name": "FANTASY_SLOT_NONE",
                    "id": 0
                },
                {
                    "name": "FANTASY_SLOT_CORE",
                    "id": 1
                },
                {
                    "name": "FANTASY_SLOT_SUPPORT",
                    "id": 2
                },
                {
                    "name": "FANTASY_SLOT_ANY",
                    "id": 3
                },
                {
                    "name": "FANTASY_SLOT_BENCH",
                    "id": 4
                }
            ]
        },
        {
            "name": "Fantasy_Selection_Mode",
            "values": [
                {
                    "name": "FANTASY_SELECTION_INVALID",
                    "id": 0
                },
                {
                    "name": "FANTASY_SELECTION_LOCKED",
                    "id": 1
                },
                {
                    "name": "FANTASY_SELECTION_SHUFFLE",
                    "id": 2
                },
                {
                    "name": "FANTASY_SELECTION_FREE_PICK",
                    "id": 3
                },
                {
                    "name": "FANTASY_SELECTION_ENDED",
                    "id": 4
                },
                {
                    "name": "FANTASY_SELECTION_PRE_SEASON",
                    "id": 5
                },
                {
                    "name": "FANTASY_SELECTION_PRE_DRAFT",
                    "id": 6
                },
                {
                    "name": "FANTASY_SELECTION_DRAFTING",
                    "id": 7
                },
                {
                    "name": "FANTASY_SELECTION_REGULAR_SEASON",
                    "id": 8
                }
            ]
        },
        {
            "name": "DOTA_TournamentEvents",
            "values": [
                {
                    "name": "TE_FIRST_BLOOD",
                    "id": 0
                },
                {
                    "name": "TE_GAME_END",
                    "id": 1
                },
                {
                    "name": "TE_MULTI_KILL",
                    "id": 2
                },
                {
                    "name": "TE_HERO_DENY",
                    "id": 3
                },
                {
                    "name": "TE_AEGIS_DENY",
                    "id": 4
                },
                {
                    "name": "TE_AEGIS_STOLEN",
                    "id": 5
                },
                {
                    "name": "TE_GODLIKE",
                    "id": 6
                },
                {
                    "name": "TE_COURIER_KILL",
                    "id": 7
                },
                {
                    "name": "TE_ECHOSLAM",
                    "id": 8
                },
                {
                    "name": "TE_RAPIER",
                    "id": 9
                },
                {
                    "name": "TE_EARLY_ROSHAN",
                    "id": 10
                },
                {
                    "name": "TE_BLACK_HOLE",
                    "id": 11
                }
            ]
        },
        {
            "name": "DOTA_COMBATLOG_TYPES",
            "values": [
                {
                    "name": "DOTA_COMBATLOG_DAMAGE",
                    "id": 0
                },
                {
                    "name": "DOTA_COMBATLOG_HEAL",
                    "id": 1
                },
                {
                    "name": "DOTA_COMBATLOG_MODIFIER_ADD",
                    "id": 2
                },
                {
                    "name": "DOTA_COMBATLOG_MODIFIER_REMOVE",
                    "id": 3
                },
                {
                    "name": "DOTA_COMBATLOG_DEATH",
                    "id": 4
                },
                {
                    "name": "DOTA_COMBATLOG_ABILITY",
                    "id": 5
                },
                {
                    "name": "DOTA_COMBATLOG_ITEM",
                    "id": 6
                },
                {
                    "name": "DOTA_COMBATLOG_LOCATION",
                    "id": 7
                },
                {
                    "name": "DOTA_COMBATLOG_GOLD",
                    "id": 8
                },
                {
                    "name": "DOTA_COMBATLOG_GAME_STATE",
                    "id": 9
                },
                {
                    "name": "DOTA_COMBATLOG_XP",
                    "id": 10
                },
                {
                    "name": "DOTA_COMBATLOG_PURCHASE",
                    "id": 11
                },
                {
                    "name": "DOTA_COMBATLOG_BUYBACK",
                    "id": 12
                },
                {
                    "name": "DOTA_COMBATLOG_ABILITY_TRIGGER",
                    "id": 13
                },
                {
                    "name": "DOTA_COMBATLOG_PLAYERSTATS",
                    "id": 14
                },
                {
                    "name": "DOTA_COMBATLOG_MULTIKILL",
                    "id": 15
                },
                {
                    "name": "DOTA_COMBATLOG_KILLSTREAK",
                    "id": 16
                },
                {
                    "name": "DOTA_COMBATLOG_TEAM_BUILDING_KILL",
                    "id": 17
                },
                {
                    "name": "DOTA_COMBATLOG_FIRST_BLOOD",
                    "id": 18
                },
                {
                    "name": "DOTA_COMBATLOG_MODIFIER_REFRESH",
                    "id": 19
                }
            ]
        },
        {
            "name": "ETournamentGameState",
            "values": [
                {
                    "name": "k_ETournamentGameState_Unknown",
                    "id": 0
                },
                {
                    "name": "k_ETournamentGameState_Scheduled",
                    "id": 1
                },
                {
                    "name": "k_ETournamentGameState_WaitingForLobbyToStart",
                    "id": 2
                },
                {
                    "name": "k_ETournamentGameState_Active",
                    "id": 3
                },
                {
                    "name": "k_ETournamentGameState_DireVictory",
                    "id": 4
                },
                {
                    "name": "k_ETournamentGameState_RadVictory",
                    "id": 5
                },
                {
                    "name": "k_ETournamentGameState_Canceled",
                    "id": 6
                },
                {
                    "name": "k_ETournamentTeamState_NotNeeded",
                    "id": 7
                }
            ]
        },
        {
            "name": "ETournamentTeamState",
            "values": [
                {
                    "name": "k_ETournamentTeamState_Unknown",
                    "id": 0
                },
                {
                    "name": "k_ETournamentTeamState_Node1",
                    "id": 1
                },
                {
                    "name": "k_ETournamentTeamState_NodeMax",
                    "id": 1024
                },
                {
                    "name": "k_ETournamentTeamState_Eliminated",
                    "id": 14003
                },
                {
                    "name": "k_ETournamentTeamState_Forfeited",
                    "id": 14004
                },
                {
                    "name": "k_ETournamentTeamState_Finished1st",
                    "id": 15001
                },
                {
                    "name": "k_ETournamentTeamState_Finished2nd",
                    "id": 15002
                },
                {
                    "name": "k_ETournamentTeamState_Finished3rd",
                    "id": 15003
                },
                {
                    "name": "k_ETournamentTeamState_Finished4th",
                    "id": 15004
                },
                {
                    "name": "k_ETournamentTeamState_Finished5th",
                    "id": 15005
                },
                {
                    "name": "k_ETournamentTeamState_Finished6th",
                    "id": 15006
                },
                {
                    "name": "k_ETournamentTeamState_Finished7th",
                    "id": 15007
                },
                {
                    "name": "k_ETournamentTeamState_Finished8th",
                    "id": 15008
                },
                {
                    "name": "k_ETournamentTeamState_Finished9th",
                    "id": 15009
                },
                {
                    "name": "k_ETournamentTeamState_Finished10th",
                    "id": 15010
                },
                {
                    "name": "k_ETournamentTeamState_Finished11th",
                    "id": 15011
                },
                {
                    "name": "k_ETournamentTeamState_Finished12th",
                    "id": 15012
                },
                {
                    "name": "k_ETournamentTeamState_Finished13th",
                    "id": 15013
                },
                {
                    "name": "k_ETournamentTeamState_Finished14th",
                    "id": 15014
                },
                {
                    "name": "k_ETournamentTeamState_Finished15th",
                    "id": 15015
                },
                {
                    "name": "k_ETournamentTeamState_Finished16th",
                    "id": 15016
                }
            ]
        },
        {
            "name": "ETournamentState",
            "values": [
                {
                    "name": "k_ETournamentState_Unknown",
                    "id": 0
                },
                {
                    "name": "k_ETournamentState_Setup",
                    "id": 1
                },
                {
                    "name": "k_ETournamentState_Scheduled",
                    "id": 2
                },
                {
                    "name": "k_ETournamentState_InProgress",
                    "id": 3
                },
                {
                    "name": "k_ETournamentState_Completed",
                    "id": 4
                },
                {
                    "name": "k_ETournamentState_Canceled",
                    "id": 5
                }
            ]
        },
        {
            "name": "ETournamentNodeState",
            "values": [
                {
                    "name": "k_ETournamentNodeState_Unknown",
                    "id": 0
                },
                {
                    "name": "k_ETournamentNodeState_TeamsNotYetAssigned",
                    "id": 1
                },
                {
                    "name": "k_ETournamentNodeState_InBetweenGames",
                    "id": 2
                },
                {
                    "name": "k_ETournamentNodeState_GameInProgress",
                    "id": 3
                },
                {
                    "name": "k_ETournamentNodeState_A_Won",
                    "id": 4
                },
                {
                    "name": "k_ETournamentNodeState_B_Won",
                    "id": 5
                },
                {
                    "name": "k_ETournamentNodeState_Canceled",
                    "id": 6
                }
            ]
        },
        {
            "name": "DOTAChatChannelType_t",
            "values": [
                {
                    "name": "DOTAChannelType_Regional",
                    "id": 0
                },
                {
                    "name": "DOTAChannelType_Custom",
                    "id": 1
                },
                {
                    "name": "DOTAChannelType_Party",
                    "id": 2
                },
                {
                    "name": "DOTAChannelType_Lobby",
                    "id": 3
                },
                {
                    "name": "DOTAChannelType_Team",
                    "id": 4
                },
                {
                    "name": "DOTAChannelType_Guild",
                    "id": 5
                },
                {
                    "name": "DOTAChannelType_Fantasy",
                    "id": 6
                },
                {
                    "name": "DOTAChannelType_Whisper",
                    "id": 7
                },
                {
                    "name": "DOTAChannelType_Console",
                    "id": 8
                },
                {
                    "name": "DOTAChannelType_Tab",
                    "id": 9
                },
                {
                    "name": "DOTAChannelType_Invalid",
                    "id": 10
                },
                {
                    "name": "DOTAChannelType_GameAll",
                    "id": 11
                },
                {
                    "name": "DOTAChannelType_GameAllies",
                    "id": 12
                },
                {
                    "name": "DOTAChannelType_GameSpectator",
                    "id": 13
                },
                {
                    "name": "DOTAChannelType_GameCoaching",
                    "id": 14
                }
            ]
        },
        {
            "name": "DOTA_WatchReplayType",
            "values": [
                {
                    "name": "DOTA_WATCH_REPLAY_NORMAL",
                    "id": 0
                },
                {
                    "name": "DOTA_WATCH_REPLAY_HIGHLIGHTS",
                    "id": 1
                }
            ]
        },
        {
            "name": "DOTA_2013PassportSelectionIndices",
            "values": [
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_0",
                    "id": 0
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_1",
                    "id": 1
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_2",
                    "id": 2
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_3",
                    "id": 3
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_4",
                    "id": 4
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_5",
                    "id": 5
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_6",
                    "id": 6
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_7",
                    "id": 7
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_8",
                    "id": 8
                },
                {
                    "name": "PP13_SEL_ALLSTAR_PLAYER_9",
                    "id": 9
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_0",
                    "id": 10
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_1",
                    "id": 11
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_2",
                    "id": 12
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_3",
                    "id": 13
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_4",
                    "id": 14
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_5",
                    "id": 15
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_6",
                    "id": 16
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_7",
                    "id": 17
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_8",
                    "id": 18
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_9",
                    "id": 19
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_10",
                    "id": 20
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_11",
                    "id": 21
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_12",
                    "id": 22
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_13",
                    "id": 23
                },
                {
                    "name": "PP13_SEL_QUALPRED_WEST_14",
                    "id": 24
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_0",
                    "id": 25
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_1",
                    "id": 26
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_2",
                    "id": 27
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_3",
                    "id": 28
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_4",
                    "id": 29
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_5",
                    "id": 30
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_6",
                    "id": 31
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_7",
                    "id": 32
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_8",
                    "id": 33
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_9",
                    "id": 34
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_10",
                    "id": 35
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_11",
                    "id": 36
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_12",
                    "id": 37
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_13",
                    "id": 38
                },
                {
                    "name": "PP13_SEL_QUALPRED_EAST_14",
                    "id": 39
                },
                {
                    "name": "PP13_SEL_TEAMCUP_TEAM",
                    "id": 40
                },
                {
                    "name": "PP13_SEL_TEAMCUP_PLAYER",
                    "id": 41
                },
                {
                    "name": "PP13_SEL_TEAMCUP_TEAM_LOCK",
                    "id": 42
                },
                {
                    "name": "PP13_SEL_TEAMCUP_PLAYER_LOCK",
                    "id": 43
                },
                {
                    "name": "PP13_SEL_EVENTPRED_0",
                    "id": 44
                },
                {
                    "name": "PP13_SEL_EVENTPRED_1",
                    "id": 45
                },
                {
                    "name": "PP13_SEL_EVENTPRED_2",
                    "id": 46
                },
                {
                    "name": "PP13_SEL_EVENTPRED_3",
                    "id": 47
                },
                {
                    "name": "PP13_SEL_EVENTPRED_4",
                    "id": 48
                },
                {
                    "name": "PP13_SEL_EVENTPRED_5",
                    "id": 49
                },
                {
                    "name": "PP13_SEL_EVENTPRED_6",
                    "id": 50
                },
                {
                    "name": "PP13_SEL_EVENTPRED_7",
                    "id": 51
                },
                {
                    "name": "PP13_SEL_EVENTPRED_8",
                    "id": 52
                },
                {
                    "name": "PP13_SEL_EVENTPRED_9",
                    "id": 53
                },
                {
                    "name": "PP13_SEL_EVENTPRED_10",
                    "id": 54
                },
                {
                    "name": "PP13_SEL_EVENTPRED_11",
                    "id": 55
                },
                {
                    "name": "PP13_SEL_EVENTPRED_12",
                    "id": 56
                },
                {
                    "name": "PP13_SEL_EVENTPRED_13",
                    "id": 57
                },
                {
                    "name": "PP13_SEL_EVENTPRED_14",
                    "id": 58
                },
                {
                    "name": "PP13_SEL_EVENTPRED_15",
                    "id": 59
                },
                {
                    "name": "PP13_SEL_EVENTPRED_16",
                    "id": 60
                },
                {
                    "name": "PP13_SEL_EVENTPRED_17",
                    "id": 61
                },
                {
                    "name": "PP13_SEL_EVENTPRED_18",
                    "id": 62
                },
                {
                    "name": "PP13_SEL_EVENTPRED_19",
                    "id": 63
                },
                {
                    "name": "PP13_SEL_EVENTPRED_20",
                    "id": 64
                },
                {
                    "name": "PP13_SEL_EVENTPRED_21",
                    "id": 65
                },
                {
                    "name": "PP13_SEL_EVENTPRED_22",
                    "id": 66
                },
                {
                    "name": "PP13_SEL_EVENTPRED_23",
                    "id": 67
                },
                {
                    "name": "PP13_SEL_EVENTPRED_24",
                    "id": 68
                },
                {
                    "name": "PP13_SEL_EVENTPRED_25",
                    "id": 69
                },
                {
                    "name": "PP13_SEL_EVENTPRED_26",
                    "id": 70
                },
                {
                    "name": "PP13_SEL_EVENTPRED_27",
                    "id": 71
                },
                {
                    "name": "PP13_SEL_EVENTPRED_28",
                    "id": 72
                },
                {
                    "name": "PP13_SEL_EVENTPRED_29",
                    "id": 73
                },
                {
                    "name": "PP13_SEL_EVENTPRED_30",
                    "id": 74
                },
                {
                    "name": "PP13_SEL_EVENTPRED_31",
                    "id": 75
                },
                {
                    "name": "PP13_SEL_EVENTPRED_32",
                    "id": 76
                },
                {
                    "name": "PP13_SEL_EVENTPRED_33",
                    "id": 77
                },
                {
                    "name": "PP13_SEL_EVENTPRED_34",
                    "id": 78
                },
                {
                    "name": "PP13_SEL_EVENTPRED_35",
                    "id": 79
                },
                {
                    "name": "PP13_SEL_EVENTPRED_36",
                    "id": 80
                },
                {
                    "name": "PP13_SEL_EVENTPRED_37",
                    "id": 81
                },
                {
                    "name": "PP13_SEL_EVENTPRED_38",
                    "id": 82
                },
                {
                    "name": "PP13_SEL_EVENTPRED_39",
                    "id": 83
                },
                {
                    "name": "PP13_SEL_EVENTPRED_40",
                    "id": 84
                },
                {
                    "name": "PP13_SEL_EVENTPRED_41",
                    "id": 85
                },
                {
                    "name": "PP13_SEL_EVENTPRED_42",
                    "id": 86
                },
                {
                    "name": "PP13_SEL_EVENTPRED_43",
                    "id": 87
                },
                {
                    "name": "PP13_SEL_SOLO_0",
                    "id": 88
                },
                {
                    "name": "PP13_SEL_SOLO_1",
                    "id": 89
                },
                {
                    "name": "PP13_SEL_SOLO_2",
                    "id": 90
                },
                {
                    "name": "PP13_SEL_SOLO_3",
                    "id": 91
                },
                {
                    "name": "PP13_SEL_SOLO_4",
                    "id": 92
                },
                {
                    "name": "PP13_SEL_SOLO_5",
                    "id": 93
                },
                {
                    "name": "PP13_SEL_SOLO_6",
                    "id": 94
                },
                {
                    "name": "PP13_SEL_SOLO_7",
                    "id": 95
                }
            ]
        },
        {
            "name": "EItemEditorReservationResult",
            "values": [
                {
                    "name": "k_EItemEditorReservationResult_OK",
                    "id": 1
                },
                {
                    "name": "k_EItemEditorReservationResult_AlreadyExists",
                    "id": 2
                },
                {
                    "name": "k_EItemEditorReservationResult_Reserved",
                    "id": 3
                },
                {
                    "name": "k_EItemEditorReservationResult_TimedOut",
                    "id": 4
                }
            ]
        },
        {
            "name": "EProfileCardSlotType",
            "values": [
                {
                    "name": "k_EProfileCardSlotType_Empty",
                    "id": 0
                },
                {
                    "name": "k_EProfileCardSlotType_Stat",
                    "id": 1
                },
                {
                    "name": "k_EProfileCardSlotType_Trophy",
                    "id": 2
                },
                {
                    "name": "k_EProfileCardSlotType_Item",
                    "id": 3
                },
                {
                    "name": "k_EProfileCardSlotType_Hero",
                    "id": 4
                },
                {
                    "name": "k_EProfileCardSlotType_Emoticon",
                    "id": 5
                }
            ]
        },
        {
            "name": "EFeaturedHeroTextField",
            "values": [
                {
                    "name": "k_EFeaturedHeroTextField_NewHero",
                    "id": 0
                },
                {
                    "name": "k_EFeaturedHeroTextField_NewItem",
                    "id": 1
                },
                {
                    "name": "k_EFeaturedHeroTextField_ItemSetDescription",
                    "id": 2
                },
                {
                    "name": "k_EFeaturedHeroTextField_ItemDescription",
                    "id": 3
                },
                {
                    "name": "k_EFeaturedHeroTextField_Hype",
                    "id": 4
                },
                {
                    "name": "k_EFeaturedHeroTextField_HeroWinLoss",
                    "id": 5
                },
                {
                    "name": "k_EFeaturedHeroTextField_FrequentlyPlayedHero",
                    "id": 6
                },
                {
                    "name": "k_EFeaturedHeroTextField_FeaturedItem",
                    "id": 7
                },
                {
                    "name": "k_EFeaturedHeroTextField_PopularItem",
                    "id": 8
                },
                {
                    "name": "k_EFeaturedHeroTextField_SaleItem",
                    "id": 9
                },
                {
                    "name": "k_EFeaturedHeroTextField_SaleDiscount",
                    "id": 10
                },
                {
                    "name": "k_EFeaturedHeroTextField_Container",
                    "id": 11
                }
            ]
        },
        {
            "name": "EFeaturedHeroDataType",
            "values": [
                {
                    "name": "k_EFeaturedHeroDataType_HeroID",
                    "id": 0
                },
                {
                    "name": "k_EFeaturedHeroDataType_ItemDef",
                    "id": 1
                },
                {
                    "name": "k_EFeaturedHeroDataType_HypeString",
                    "id": 2
                },
                {
                    "name": "k_EFeaturedHeroDataType_StartTimestamp",
                    "id": 3
                },
                {
                    "name": "k_EFeaturedHeroDataType_ExpireTimestamp",
                    "id": 4
                },
                {
                    "name": "k_EFeaturedHeroDataType_HeroWins",
                    "id": 5
                },
                {
                    "name": "k_EFeaturedHeroDataType_HeroLosses",
                    "id": 6
                },
                {
                    "name": "k_EFeaturedHeroDataType_SaleDiscount",
                    "id": 7
                },
                {
                    "name": "k_EFeaturedHeroDataType_ContainerItemDef",
                    "id": 8
                }
            ]
        },
        {
            "name": "EDOTAGroupMergeResult",
            "values": [
                {
                    "name": "k_EDOTAGroupMergeResult_OK",
                    "id": 0
                },
                {
                    "name": "k_EDOTAGroupMergeResult_FAILED_GENERIC",
                    "id": 1
                },
                {
                    "name": "k_EDOTAGroupMergeResult_NOT_LEADER",
                    "id": 2
                },
                {
                    "name": "k_EDOTAGroupMergeResult_TOO_MANY_PLAYERS",
                    "id": 3
                },
                {
                    "name": "k_EDOTAGroupMergeResult_TOO_MANY_COACHES",
                    "id": 4
                },
                {
                    "name": "k_EDOTAGroupMergeResult_ENGINE_MISMATCH",
                    "id": 5
                },
                {
                    "name": "k_EDOTAGroupMergeResult_NO_SUCH_GROUP",
                    "id": 6
                },
                {
                    "name": "k_EDOTAGroupMergeResult_OTHER_GROUP_NOT_OPEN",
                    "id": 7
                },
                {
                    "name": "k_EDOTAGroupMergeResult_ALREADY_INVITED",
                    "id": 8
                },
                {
                    "name": "k_EDOTAGroupMergeResult_NOT_INVITED",
                    "id": 9
                }
            ]
        },
        {
            "name": "EGCItemMsg",
            "values": [
                {
                    "name": "k_EMsgGCBase",
                    "id": 1000
                },
                {
                    "name": "k_EMsgGCSetItemPosition",
                    "id": 1001
                },
                {
                    "name": "k_EMsgGCCraft",
                    "id": 1002
                },
                {
                    "name": "k_EMsgGCCraftResponse",
                    "id": 1003
                },
                {
                    "name": "k_EMsgGCDelete",
                    "id": 1004
                },
                {
                    "name": "k_EMsgGCVerifyCacheSubscription",
                    "id": 1005
                },
                {
                    "name": "k_EMsgGCNameItem",
                    "id": 1006
                },
                {
                    "name": "k_EMsgGCUnlockCrate",
                    "id": 1007
                },
                {
                    "name": "k_EMsgGCUnlockCrateResponse",
                    "id": 1008
                },
                {
                    "name": "k_EMsgGCPaintItem",
                    "id": 1009
                },
                {
                    "name": "k_EMsgGCPaintItemResponse",
                    "id": 1010
                },
                {
                    "name": "k_EMsgGCGoldenWrenchBroadcast",
                    "id": 1011
                },
                {
                    "name": "k_EMsgGCMOTDRequest",
                    "id": 1012
                },
                {
                    "name": "k_EMsgGCMOTDRequestResponse",
                    "id": 1013
                },
                {
                    "name": "k_EMsgGCAddItemToSocket_DEPRECATED",
                    "id": 1014
                },
                {
                    "name": "k_EMsgGCAddItemToSocketResponse_DEPRECATED",
                    "id": 1015
                },
                {
                    "name": "k_EMsgGCAddSocketToBaseItem_DEPRECATED",
                    "id": 1016
                },
                {
                    "name": "k_EMsgGCAddSocketToItem_DEPRECATED",
                    "id": 1017
                },
                {
                    "name": "k_EMsgGCAddSocketToItemResponse_DEPRECATED",
                    "id": 1018
                },
                {
                    "name": "k_EMsgGCNameBaseItem",
                    "id": 1019
                },
                {
                    "name": "k_EMsgGCNameBaseItemResponse",
                    "id": 1020
                },
                {
                    "name": "k_EMsgGCRemoveSocketItem_DEPRECATED",
                    "id": 1021
                },
                {
                    "name": "k_EMsgGCRemoveSocketItemResponse_DEPRECATED",
                    "id": 1022
                },
                {
                    "name": "k_EMsgGCCustomizeItemTexture",
                    "id": 1023
                },
                {
                    "name": "k_EMsgGCCustomizeItemTextureResponse",
                    "id": 1024
                },
                {
                    "name": "k_EMsgGCUseItemRequest",
                    "id": 1025
                },
                {
                    "name": "k_EMsgGCUseItemResponse",
                    "id": 1026
                },
                {
                    "name": "k_EMsgGCGiftedItems",
                    "id": 1027
                },
                {
                    "name": "k_EMsgGCRemoveItemName",
                    "id": 1030
                },
                {
                    "name": "k_EMsgGCRemoveItemPaint",
                    "id": 1031
                },
                {
                    "name": "k_EMsgGCUnwrapGiftRequest",
                    "id": 1037
                },
                {
                    "name": "k_EMsgGCUnwrapGiftResponse",
                    "id": 1038
                },
                {
                    "name": "k_EMsgGCSetItemStyle",
                    "id": 1039
                },
                {
                    "name": "k_EMsgGCUsedClaimCodeItem",
                    "id": 1040
                },
                {
                    "name": "k_EMsgGCSortItems",
                    "id": 1041
                },
                {
                    "name": "k_EMsgGC_RevolvingLootList_DEPRECATED",
                    "id": 1042
                },
                {
                    "name": "k_EMsgGCLookupAccount",
                    "id": 1043
                },
                {
                    "name": "k_EMsgGCLookupAccountResponse",
                    "id": 1044
                },
                {
                    "name": "k_EMsgGCLookupAccountName",
                    "id": 1045
                },
                {
                    "name": "k_EMsgGCLookupAccountNameResponse",
                    "id": 1046
                },
                {
                    "name": "k_EMsgGCUpdateItemSchema",
                    "id": 1049
                },
                {
                    "name": "k_EMsgGCRemoveCustomTexture",
                    "id": 1051
                },
                {
                    "name": "k_EMsgGCRemoveCustomTextureResponse",
                    "id": 1052
                },
                {
                    "name": "k_EMsgGCRemoveMakersMark",
                    "id": 1053
                },
                {
                    "name": "k_EMsgGCRemoveMakersMarkResponse",
                    "id": 1054
                },
                {
                    "name": "k_EMsgGCRemoveUniqueCraftIndex",
                    "id": 1055
                },
                {
                    "name": "k_EMsgGCRemoveUniqueCraftIndexResponse",
                    "id": 1056
                },
                {
                    "name": "k_EMsgGCSaxxyBroadcast",
                    "id": 1057
                },
                {
                    "name": "k_EMsgGCBackpackSortFinished",
                    "id": 1058
                },
                {
                    "name": "k_EMsgGCAdjustItemEquippedState",
                    "id": 1059
                },
                {
                    "name": "k_EMsgGCCollectItem",
                    "id": 1061
                },
                {
                    "name": "k_EMsgGCItemAcknowledged",
                    "id": 1062
                },
                {
                    "name": "k_EMsgGCPresets_SelectPresetForClass",
                    "id": 1063
                },
                {
                    "name": "k_EMsgGCPresets_SetItemPosition",
                    "id": 1064
                },
                {
                    "name": "k_EMsgGC_ReportAbuse",
                    "id": 1065
                },
                {
                    "name": "k_EMsgGC_ReportAbuseResponse",
                    "id": 1066
                },
                {
                    "name": "k_EMsgGCPresets_SelectPresetForClassReply",
                    "id": 1067
                },
                {
                    "name": "k_EMsgGCNameItemNotification",
                    "id": 1068
                },
                {
                    "name": "k_EMsgGCApplyConsumableEffects",
                    "id": 1069
                },
                {
                    "name": "k_EMsgGCConsumableExhausted",
                    "id": 1070
                },
                {
                    "name": "k_EMsgGCShowItemsPickedUp",
                    "id": 1071
                },
                {
                    "name": "k_EMsgGCClientDisplayNotification",
                    "id": 1072
                },
                {
                    "name": "k_EMsgGCApplyStrangePart",
                    "id": 1073
                },
                {
                    "name": "k_EMsgGC_IncrementKillCountResponse",
                    "id": 1075
                },
                {
                    "name": "k_EMsgGCApplyPennantUpgrade",
                    "id": 1076
                },
                {
                    "name": "k_EMsgGCSetItemPositions",
                    "id": 1077
                },
                {
                    "name": "k_EMsgGCApplyEggEssence",
                    "id": 1078
                },
                {
                    "name": "k_EMsgGCNameEggEssenceResponse",
                    "id": 1079
                },
                {
                    "name": "k_EMsgGCUnlockItemStyle",
                    "id": 1080
                },
                {
                    "name": "k_EMsgGCUnlockItemStyleResponse",
                    "id": 1081
                },
                {
                    "name": "k_EMsgGCFulfillDynamicRecipeComponent",
                    "id": 1082
                },
                {
                    "name": "k_EMsgGCFulfillDynamicRecipeComponentResponse",
                    "id": 1083
                },
                {
                    "name": "k_EMsgGCClientRequestMarketData",
                    "id": 1084
                },
                {
                    "name": "k_EMsgGCClientRequestMarketDataResponse",
                    "id": 1085
                },
                {
                    "name": "k_EMsgGCExtractGems",
                    "id": 1086
                },
                {
                    "name": "k_EMsgGCAddSocket",
                    "id": 1087
                },
                {
                    "name": "k_EMsgGCAddItemToSocket",
                    "id": 1088
                },
                {
                    "name": "k_EMsgGCAddItemToSocketResponse",
                    "id": 1089
                },
                {
                    "name": "k_EMsgGCAddSocketResponse",
                    "id": 1090
                },
                {
                    "name": "k_EMsgGCResetStrangeGemCount",
                    "id": 1091
                },
                {
                    "name": "k_EMsgGCRequestCrateItems",
                    "id": 1092
                },
                {
                    "name": "k_EMsgGCRequestCrateItemsResponse",
                    "id": 1093
                },
                {
                    "name": "k_EMsgGCServerUseItemRequest",
                    "id": 1103
                },
                {
                    "name": "k_EMsgGCAddGiftItem",
                    "id": 1104
                },
                {
                    "name": "k_EMsgGCRemoveItemGiftMessage",
                    "id": 1105
                },
                {
                    "name": "k_EMsgGCRemoveItemGiftMessageResponse",
                    "id": 1106
                },
                {
                    "name": "k_EMsgGCRemoveItemGifterAccountId",
                    "id": 1107
                },
                {
                    "name": "k_EMsgGCRemoveItemGifterAccountIdResponse",
                    "id": 1108
                },
                {
                    "name": "k_EMsgGCTradingBase",
                    "id": 1500
                },
                {
                    "name": "k_EMsgGCTrading_InitiateTradeRequest",
                    "id": 1501
                },
                {
                    "name": "k_EMsgGCTrading_InitiateTradeResponse",
                    "id": 1502
                },
                {
                    "name": "k_EMsgGCTrading_StartSession",
                    "id": 1503
                },
                {
                    "name": "k_EMsgGCTrading_SessionClosed",
                    "id": 1509
                },
                {
                    "name": "k_EMsgGCTrading_InitiateTradeRequestResponse",
                    "id": 1514
                },
                {
                    "name": "k_EMsgGCServerBrowser_FavoriteServer",
                    "id": 1601
                },
                {
                    "name": "k_EMsgGCServerBrowser_BlacklistServer",
                    "id": 1602
                },
                {
                    "name": "k_EMsgGCServerRentalsBase",
                    "id": 1700
                },
                {
                    "name": "k_EMsgGCItemPreviewCheckStatus",
                    "id": 1701
                },
                {
                    "name": "k_EMsgGCItemPreviewStatusResponse",
                    "id": 1702
                },
                {
                    "name": "k_EMsgGCItemPreviewRequest",
                    "id": 1703
                },
                {
                    "name": "k_EMsgGCItemPreviewRequestResponse",
                    "id": 1704
                },
                {
                    "name": "k_EMsgGCItemPreviewExpire",
                    "id": 1705
                },
                {
                    "name": "k_EMsgGCItemPreviewExpireNotification",
                    "id": 1706
                },
                {
                    "name": "k_EMsgGCItemPreviewItemBoughtNotification",
                    "id": 1707
                },
                {
                    "name": "k_EMsgGCDev_NewItemRequest",
                    "id": 2001
                },
                {
                    "name": "k_EMsgGCDev_NewItemRequestResponse",
                    "id": 2002
                },
                {
                    "name": "k_EMsgGCStoreGetUserData",
                    "id": 2500
                },
                {
                    "name": "k_EMsgGCStoreGetUserDataResponse",
                    "id": 2501
                },
                {
                    "name": "k_EMsgGCStorePurchaseFinalize",
                    "id": 2504
                },
                {
                    "name": "k_EMsgGCStorePurchaseFinalizeResponse",
                    "id": 2505
                },
                {
                    "name": "k_EMsgGCStorePurchaseCancel",
                    "id": 2506
                },
                {
                    "name": "k_EMsgGCStorePurchaseCancelResponse",
                    "id": 2507
                },
                {
                    "name": "k_EMsgGCStorePurchaseInit",
                    "id": 2510
                },
                {
                    "name": "k_EMsgGCStorePurchaseInitResponse",
                    "id": 2511
                },
                {
                    "name": "k_EMsgGCBannedWordListRequest",
                    "id": 2512
                },
                {
                    "name": "k_EMsgGCBannedWordListResponse",
                    "id": 2513
                },
                {
                    "name": "k_EMsgGCToGCBannedWordListBroadcast",
                    "id": 2514
                },
                {
                    "name": "k_EMsgGCToGCBannedWordListUpdated",
                    "id": 2515
                },
                {
                    "name": "k_EMsgGCToGCDirtySDOCache",
                    "id": 2516
                },
                {
                    "name": "k_EMsgGCToGCDirtyMultipleSDOCache",
                    "id": 2517
                },
                {
                    "name": "k_EMsgGCToGCUpdateSQLKeyValue",
                    "id": 2518
                },
                {
                    "name": "k_EMsgGCToGCBroadcastConsoleCommand",
                    "id": 2521
                },
                {
                    "name": "k_EMsgGCServerVersionUpdated",
                    "id": 2522
                },
                {
                    "name": "k_EMsgGCApplyAutograph",
                    "id": 2523
                },
                {
                    "name": "k_EMsgGCToGCWebAPIAccountChanged",
                    "id": 2524
                },
                {
                    "name": "k_EMsgGCClientVersionUpdated",
                    "id": 2528
                },
                {
                    "name": "k_EMsgGCItemPurgatory_FinalizePurchase",
                    "id": 2531
                },
                {
                    "name": "k_EMsgGCItemPurgatory_FinalizePurchaseResponse",
                    "id": 2532
                },
                {
                    "name": "k_EMsgGCItemPurgatory_RefundPurchase",
                    "id": 2533
                },
                {
                    "name": "k_EMsgGCItemPurgatory_RefundPurchaseResponse",
                    "id": 2534
                },
                {
                    "name": "k_EMsgGCToGCPlayerStrangeCountAdjustments",
                    "id": 2535
                },
                {
                    "name": "k_EMsgGCRequestStoreSalesData",
                    "id": 2536
                },
                {
                    "name": "k_EMsgGCRequestStoreSalesDataResponse",
                    "id": 2537
                },
                {
                    "name": "k_EMsgGCRequestStoreSalesDataUpToDateResponse",
                    "id": 2538
                },
                {
                    "name": "k_EMsgGCToGCPingRequest",
                    "id": 2539
                },
                {
                    "name": "k_EMsgGCToGCPingResponse",
                    "id": 2540
                },
                {
                    "name": "k_EMsgGCToGCGetUserSessionServer",
                    "id": 2541
                },
                {
                    "name": "k_EMsgGCToGCGetUserSessionServerResponse",
                    "id": 2542
                },
                {
                    "name": "k_EMsgGCToGCGetUserServerMembers",
                    "id": 2543
                },
                {
                    "name": "k_EMsgGCToGCGetUserServerMembersResponse",
                    "id": 2544
                },
                {
                    "name": "k_EMsgGCToGCGetUserPCBangNo",
                    "id": 2545
                },
                {
                    "name": "k_EMsgGCToGCGetUserPCBangNoResponse",
                    "id": 2546
                },
                {
                    "name": "k_EMsgGCToGCCanUseDropRateBonus",
                    "id": 2547
                },
                {
                    "name": "k_EMsgSQLAddDropRateBonus",
                    "id": 2548
                },
                {
                    "name": "k_EMsgGCToGCRefreshSOCache",
                    "id": 2549
                },
                {
                    "name": "k_EMsgGCToGCApplyLocalizationDiff",
                    "id": 2550
                },
                {
                    "name": "k_EMsgGCToGCApplyLocalizationDiffResponse",
                    "id": 2551
                },
                {
                    "name": "k_EMsgGCToGCCheckAccountTradeStatus",
                    "id": 2552
                },
                {
                    "name": "k_EMsgGCToGCCheckAccountTradeStatusResponse",
                    "id": 2553
                },
                {
                    "name": "k_EMsgGCToGCGrantAccountRolledItems",
                    "id": 2554
                },
                {
                    "name": "k_EMsgGCToGCGrantSelfMadeItemToAccount",
                    "id": 2555
                },
                {
                    "name": "k_EMsgSQLUpgradeBattleBooster",
                    "id": 2556
                },
                {
                    "name": "k_EMsgGCPartnerBalanceRequest",
                    "id": 2557
                },
                {
                    "name": "k_EMsgGCPartnerBalanceResponse",
                    "id": 2558
                },
                {
                    "name": "k_EMsgGCPartnerRechargeRedirectURLRequest",
                    "id": 2559
                },
                {
                    "name": "k_EMsgGCPartnerRechargeRedirectURLResponse",
                    "id": 2560
                },
                {
                    "name": "k_EMsgGCStatueCraft",
                    "id": 2561
                },
                {
                    "name": "k_EMsgGCRedeemCode",
                    "id": 2562
                },
                {
                    "name": "k_EMsgGCRedeemCodeResponse",
                    "id": 2563
                },
                {
                    "name": "k_EMsgGCToGCItemConsumptionRollback",
                    "id": 2564
                },
                {
                    "name": "k_EMsgClientToGCWrapAndDeliverGift",
                    "id": 2565
                },
                {
                    "name": "k_EMsgClientToGCWrapAndDeliverGiftResponse",
                    "id": 2566
                },
                {
                    "name": "k_EMsgGCToClientBundleUnpacked",
                    "id": 2567
                },
                {
                    "name": "k_EMsgGCToClientStoreTransactionCompleted",
                    "id": 2568
                },
                {
                    "name": "k_EMsgClientToGCEquipItems",
                    "id": 2569
                },
                {
                    "name": "k_EMsgClientToGCEquipItemsResponse",
                    "id": 2570
                }
            ]
        },
        {
            "name": "EGCMsgResponse",
            "values": [
                {
                    "name": "k_EGCMsgResponseOK",
                    "id": 0
                },
                {
                    "name": "k_EGCMsgResponseDenied",
                    "id": 1
                },
                {
                    "name": "k_EGCMsgResponseServerError",
                    "id": 2
                },
                {
                    "name": "k_EGCMsgResponseTimeout",
                    "id": 3
                },
                {
                    "name": "k_EGCMsgResponseInvalid",
                    "id": 4
                },
                {
                    "name": "k_EGCMsgResponseNoMatch",
                    "id": 5
                },
                {
                    "name": "k_EGCMsgResponseUnknownError",
                    "id": 6
                },
                {
                    "name": "k_EGCMsgResponseNotLoggedOn",
                    "id": 7
                },
                {
                    "name": "k_EGCMsgFailedToCreate",
                    "id": 8
                }
            ]
        },
        {
            "name": "EUnlockStyle",
            "values": [
                {
                    "name": "k_UnlockStyle_Succeeded",
                    "id": 0
                },
                {
                    "name": "k_UnlockStyle_Failed_PreReq",
                    "id": 1
                },
                {
                    "name": "k_UnlockStyle_Failed_CantAfford",
                    "id": 2
                },
                {
                    "name": "k_UnlockStyle_Failed_CantCommit",
                    "id": 3
                },
                {
                    "name": "k_UnlockStyle_Failed_CantLockCache",
                    "id": 4
                },
                {
                    "name": "k_UnlockStyle_Failed_CantAffordAttrib",
                    "id": 5
                },
                {
                    "name": "k_UnlockStyle_Failed_CantAffordGem",
                    "id": 6
                },
                {
                    "name": "k_UnlockStyle_Failed_NoCompendiumLevel",
                    "id": 7
                },
                {
                    "name": "k_UnlockStyle_Failed_AlreadyUnlocked",
                    "id": 8
                }
            ]
        },
        {
            "name": "EItemPurgatoryResponse_Finalize",
            "values": [
                {
                    "name": "k_ItemPurgatoryResponse_Finalize_Succeeded",
                    "id": 0
                },
                {
                    "name": "k_ItemPurgatoryResponse_Finalize_Failed_Incomplete",
                    "id": 1
                },
                {
                    "name": "k_ItemPurgatoryResponse_Finalize_Failed_ItemsNotInPurgatory",
                    "id": 2
                },
                {
                    "name": "k_ItemPurgatoryResponse_Finalize_Failed_CouldNotFindItems",
                    "id": 3
                },
                {
                    "name": "k_ItemPurgatoryResponse_Finalize_Failed_NoSOCache",
                    "id": 4
                },
                {
                    "name": "k_ItemPurgatoryResponse_Finalize_BackpackFull",
                    "id": 5
                }
            ]
        },
        {
            "name": "EItemPurgatoryResponse_Refund",
            "values": [
                {
                    "name": "k_ItemPurgatoryResponse_Refund_Succeeded",
                    "id": 0
                },
                {
                    "name": "k_ItemPurgatoryResponse_Refund_Failed_ItemNotInPurgatory",
                    "id": 1
                },
                {
                    "name": "k_ItemPurgatoryResponse_Refund_Failed_CouldNotFindItem",
                    "id": 2
                },
                {
                    "name": "k_ItemPurgatoryResponse_Refund_Failed_NoSOCache",
                    "id": 3
                },
                {
                    "name": "k_ItemPurgatoryResponse_Refund_Failed_NoDetail",
                    "id": 4
                },
                {
                    "name": "k_ItemPurgatoryResponse_Refund_Failed_NexonWebAPI",
                    "id": 5
                }
            ]
        },
        {
            "name": "EGCPartnerRequestResponse",
            "values": [
                {
                    "name": "k_EPartnerRequestOK",
                    "id": 1
                },
                {
                    "name": "k_EPartnerRequestBadAccount",
                    "id": 2
                },
                {
                    "name": "k_EPartnerRequestNotLinked",
                    "id": 3
                },
                {
                    "name": "k_EPartnerRequestUnsupportedPartnerType",
                    "id": 4
                }
            ]
        },
        {
            "name": "EGCMsgInitiateTradeResponse",
            "values": [
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Accepted",
                    "id": 0
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Declined",
                    "id": 1
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_VAC_Banned_Initiator",
                    "id": 2
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_VAC_Banned_Target",
                    "id": 3
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Target_Already_Trading",
                    "id": 4
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Disabled",
                    "id": 5
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_NotLoggedIn",
                    "id": 6
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Cancel",
                    "id": 7
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_TooSoon",
                    "id": 8
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_TooSoonPenalty",
                    "id": 9
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Trade_Banned_Initiator",
                    "id": 10
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Trade_Banned_Target",
                    "id": 11
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Free_Account_Initiator_DEPRECATED",
                    "id": 12
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Shared_Account_Initiator",
                    "id": 13
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Service_Unavailable",
                    "id": 14
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Target_Blocked",
                    "id": 15
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_NeedVerifiedEmail",
                    "id": 16
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_NeedSteamGuard",
                    "id": 17
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_SteamGuardDuration",
                    "id": 18
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_TheyCannotTrade",
                    "id": 19
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Recent_Password_Reset",
                    "id": 20
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Using_New_Device",
                    "id": 21
                },
                {
                    "name": "k_EGCMsgInitiateTradeResponse_Sent_Invalid_Cookie",
                    "id": 22
                }
            ]
        },
        {
            "name": "EPoorNetworkConditionsType",
            "values": [
                {
                    "name": "k_EPoorNetworkConditions_None",
                    "id": 0
                },
                {
                    "name": "k_EPoorNetworkConditions_Unknown",
                    "id": 1
                },
                {
                    "name": "k_EPoorNetworkConditions_MassDisconnect",
                    "id": 2
                },
                {
                    "name": "k_EPoorNetworkConditions_ExcessBadQosIntervals",
                    "id": 3
                }
            ]
        },
        {
            "name": "EAbilityAbuseType",
            "values": [
                {
                    "name": "k_EAbilityAbuseType_None",
                    "id": 0
                },
                {
                    "name": "k_EAbilityAbuseType_Io_Relocate",
                    "id": 1
                },
                {
                    "name": "k_EAbilityAbuseType_Chen_Test_Of_Faith",
                    "id": 2
                },
                {
                    "name": "k_EAbilityAbuseType_Bane_Nightmare",
                    "id": 3
                },
                {
                    "name": "k_EAbilityAbuseType_Bloodseeker_Bloodrage",
                    "id": 4
                },
                {
                    "name": "k_EAbilityAbuseType_Outworld_Astral_Imprisonment",
                    "id": 5
                },
                {
                    "name": "k_EAbilityAbuseType_Shadow_Demon_Disruption",
                    "id": 6
                }
            ]
        },
        {
            "name": "EIntentionalFeedingType",
            "values": [
                {
                    "name": "k_EIntentionalFeedingType_None",
                    "id": 0
                },
                {
                    "name": "k_EIntentionalFeedingType_ExcessiveDeaths",
                    "id": 1
                },
                {
                    "name": "k_EIntentionalFeedingType_MultipleCourierPurchases",
                    "id": 2
                },
                {
                    "name": "k_EIntentionalFeedingType_MultipleCourierDeaths",
                    "id": 4
                },
                {
                    "name": "k_EIntentionalFeedingType_LowActivity",
                    "id": 8
                },
                {
                    "name": "k_EIntentionalFeedingType_LowDamage",
                    "id": 16
                },
                {
                    "name": "k_EIntentionalFeedingType_HighUnspentGold",
                    "id": 32
                },
                {
                    "name": "k_EIntentionalFeedingType_SoldTooMuchItemValue",
                    "id": 64
                },
                {
                    "name": "k_EIntentionalFeedingType_TooManyDroppedItems",
                    "id": 128
                },
                {
                    "name": "k_EIntentionalFeedingType_ExcessiveTowerDamage",
                    "id": 256
                }
            ]
        },
        {
            "name": "ESuspiciousActivity",
            "values": [
                {
                    "name": "k_ESuspiciousActivity_VAC_MultipleInstances",
                    "id": 1
                },
                {
                    "name": "k_ESuspiciousActivity_IntentionalFeeding",
                    "id": 100
                },
                {
                    "name": "k_ESuspiciousActivity_SuspectedBotFarming",
                    "id": 101
                }
            ]
        },
        {
            "name": "ESuspiciousBuildType",
            "values": [
                {
                    "name": "k_ESuspiciousBuildType_None",
                    "id": 0
                },
                {
                    "name": "k_ESuspiciousBuildType_NoGoldSpent",
                    "id": 1
                },
                {
                    "name": "k_ESuspiciousBuildType_NoItems",
                    "id": 2
                },
                {
                    "name": "k_ESuspiciousBuildType_NoSignificantItems",
                    "id": 3
                },
                {
                    "name": "k_ESuspiciousBuildType_TooManyBoots",
                    "id": 4
                },
                {
                    "name": "k_ESuspiciousBuildType_Bot1",
                    "id": 101
                },
                {
                    "name": "k_ESuspiciousBuildType_Bot2",
                    "id": 102
                },
                {
                    "name": "k_ESuspiciousBuildType_Bot3",
                    "id": 103
                },
                {
                    "name": "k_ESuspiciousBuildType_Bot4",
                    "id": 104
                },
                {
                    "name": "k_ESuspiciousBuildType_Bot5",
                    "id": 105
                }
            ]
        },
        {
            "name": "DOTA_MODIFIER_ENTRY_TYPE",
            "values": [
                {
                    "name": "DOTA_MODIFIER_ENTRY_TYPE_ACTIVE",
                    "id": 1
                },
                {
                    "name": "DOTA_MODIFIER_ENTRY_TYPE_REMOVED",
                    "id": 2
                }
            ]
        },
        {
            "name": "EDotaUserMessages",
            "values": [
                {
                    "name": "DOTA_UM_AddUnitToSelection",
                    "id": 464
                },
                {
                    "name": "DOTA_UM_AIDebugLine",
                    "id": 465
                },
                {
                    "name": "DOTA_UM_ChatEvent",
                    "id": 466
                },
                {
                    "name": "DOTA_UM_CombatHeroPositions",
                    "id": 467
                },
                {
                    "name": "DOTA_UM_CombatLogData",
                    "id": 468
                },
                {
                    "name": "DOTA_UM_CombatLogShowDeath",
                    "id": 470
                },
                {
                    "name": "DOTA_UM_CreateLinearProjectile",
                    "id": 471
                },
                {
                    "name": "DOTA_UM_DestroyLinearProjectile",
                    "id": 472
                },
                {
                    "name": "DOTA_UM_DodgeTrackingProjectiles",
                    "id": 473
                },
                {
                    "name": "DOTA_UM_GlobalLightColor",
                    "id": 474
                },
                {
                    "name": "DOTA_UM_GlobalLightDirection",
                    "id": 475
                },
                {
                    "name": "DOTA_UM_InvalidCommand",
                    "id": 476
                },
                {
                    "name": "DOTA_UM_LocationPing",
                    "id": 477
                },
                {
                    "name": "DOTA_UM_MapLine",
                    "id": 478
                },
                {
                    "name": "DOTA_UM_MiniKillCamInfo",
                    "id": 479
                },
                {
                    "name": "DOTA_UM_MinimapDebugPoint",
                    "id": 480
                },
                {
                    "name": "DOTA_UM_MinimapEvent",
                    "id": 481
                },
                {
                    "name": "DOTA_UM_NevermoreRequiem",
                    "id": 482
                },
                {
                    "name": "DOTA_UM_OverheadEvent",
                    "id": 483
                },
                {
                    "name": "DOTA_UM_SetNextAutobuyItem",
                    "id": 484
                },
                {
                    "name": "DOTA_UM_SharedCooldown",
                    "id": 485
                },
                {
                    "name": "DOTA_UM_SpectatorPlayerClick",
                    "id": 486
                },
                {
                    "name": "DOTA_UM_TutorialTipInfo",
                    "id": 487
                },
                {
                    "name": "DOTA_UM_UnitEvent",
                    "id": 488
                },
                {
                    "name": "DOTA_UM_ParticleManager",
                    "id": 489
                },
                {
                    "name": "DOTA_UM_BotChat",
                    "id": 490
                },
                {
                    "name": "DOTA_UM_HudError",
                    "id": 491
                },
                {
                    "name": "DOTA_UM_ItemPurchased",
                    "id": 492
                },
                {
                    "name": "DOTA_UM_Ping",
                    "id": 493
                },
                {
                    "name": "DOTA_UM_ItemFound",
                    "id": 494
                },
                {
                    "name": "DOTA_UM_CharacterSpeakConcept",
                    "id": 495
                },
                {
                    "name": "DOTA_UM_SwapVerify",
                    "id": 496
                },
                {
                    "name": "DOTA_UM_WorldLine",
                    "id": 497
                },
                {
                    "name": "DOTA_UM_TournamentDrop",
                    "id": 498
                },
                {
                    "name": "DOTA_UM_ItemAlert",
                    "id": 499
                },
                {
                    "name": "DOTA_UM_HalloweenDrops",
                    "id": 500
                },
                {
                    "name": "DOTA_UM_ChatWheel",
                    "id": 501
                },
                {
                    "name": "DOTA_UM_ReceivedXmasGift",
                    "id": 502
                },
                {
                    "name": "DOTA_UM_UpdateSharedContent",
                    "id": 503
                },
                {
                    "name": "DOTA_UM_TutorialRequestExp",
                    "id": 504
                },
                {
                    "name": "DOTA_UM_TutorialPingMinimap",
                    "id": 505
                },
                {
                    "name": "DOTA_UM_GamerulesStateChanged",
                    "id": 506
                },
                {
                    "name": "DOTA_UM_ShowSurvey",
                    "id": 507
                },
                {
                    "name": "DOTA_UM_TutorialFade",
                    "id": 508
                },
                {
                    "name": "DOTA_UM_AddQuestLogEntry",
                    "id": 509
                },
                {
                    "name": "DOTA_UM_SendStatPopup",
                    "id": 510
                },
                {
                    "name": "DOTA_UM_TutorialFinish",
                    "id": 511
                },
                {
                    "name": "DOTA_UM_SendRoshanPopup",
                    "id": 512
                },
                {
                    "name": "DOTA_UM_SendGenericToolTip",
                    "id": 513
                },
                {
                    "name": "DOTA_UM_SendFinalGold",
                    "id": 514
                },
                {
                    "name": "DOTA_UM_CustomMsg",
                    "id": 515
                },
                {
                    "name": "DOTA_UM_CoachHUDPing",
                    "id": 516
                },
                {
                    "name": "DOTA_UM_ClientLoadGridNav",
                    "id": 517
                },
                {
                    "name": "DOTA_UM_TE_Projectile",
                    "id": 518
                },
                {
                    "name": "DOTA_UM_TE_ProjectileLoc",
                    "id": 519
                },
                {
                    "name": "DOTA_UM_TE_DotaBloodImpact",
                    "id": 520
                },
                {
                    "name": "DOTA_UM_TE_UnitAnimation",
                    "id": 521
                },
                {
                    "name": "DOTA_UM_TE_UnitAnimationEnd",
                    "id": 522
                },
                {
                    "name": "DOTA_UM_AbilityPing",
                    "id": 523
                },
                {
                    "name": "DOTA_UM_ShowGenericPopup",
                    "id": 524
                },
                {
                    "name": "DOTA_UM_VoteStart",
                    "id": 525
                },
                {
                    "name": "DOTA_UM_VoteUpdate",
                    "id": 526
                },
                {
                    "name": "DOTA_UM_VoteEnd",
                    "id": 527
                },
                {
                    "name": "DOTA_UM_BoosterState",
                    "id": 528
                },
                {
                    "name": "DOTA_UM_WillPurchaseAlert",
                    "id": 529
                },
                {
                    "name": "DOTA_UM_TutorialMinimapPosition",
                    "id": 530
                },
                {
                    "name": "DOTA_UM_PlayerMMR",
                    "id": 531
                },
                {
                    "name": "DOTA_UM_AbilitySteal",
                    "id": 532
                },
                {
                    "name": "DOTA_UM_CourierKilledAlert",
                    "id": 533
                },
                {
                    "name": "DOTA_UM_EnemyItemAlert",
                    "id": 534
                },
                {
                    "name": "DOTA_UM_StatsMatchDetails",
                    "id": 535
                },
                {
                    "name": "DOTA_UM_MiniTaunt",
                    "id": 536
                },
                {
                    "name": "DOTA_UM_BuyBackStateAlert",
                    "id": 537
                },
                {
                    "name": "DOTA_UM_SpeechBubble",
                    "id": 538
                },
                {
                    "name": "DOTA_UM_CustomHeaderMessage",
                    "id": 539
                },
                {
                    "name": "DOTA_UM_QuickBuyAlert",
                    "id": 540
                },
                {
                    "name": "DOTA_UM_StatsHeroDetails",
                    "id": 541
                },
                {
                    "name": "DOTA_UM_PredictionResult",
                    "id": 542
                },
                {
                    "name": "DOTA_UM_ModifierAlert",
                    "id": 543
                },
                {
                    "name": "DOTA_UM_HPManaAlert",
                    "id": 544
                },
                {
                    "name": "DOTA_UM_GlyphAlert",
                    "id": 545
                },
                {
                    "name": "DOTA_UM_BeastChat",
                    "id": 546
                },
                {
                    "name": "DOTA_UM_SpectatorPlayerUnitOrders",
                    "id": 547
                },
                {
                    "name": "DOTA_UM_CustomHudElement_Create",
                    "id": 548
                },
                {
                    "name": "DOTA_UM_CustomHudElement_Modify",
                    "id": 549
                },
                {
                    "name": "DOTA_UM_CustomHudElement_Destroy",
                    "id": 550
                },
                {
                    "name": "DOTA_UM_CompendiumState",
                    "id": 551
                },
                {
                    "name": "DOTA_UM_ProjectionAbility",
                    "id": 552
                }
            ]
        },
        {
            "name": "DOTA_CHAT_MESSAGE",
            "values": [
                {
                    "name": "CHAT_MESSAGE_INVALID",
                    "id": -1
                },
                {
                    "name": "CHAT_MESSAGE_HERO_KILL",
                    "id": 0
                },
                {
                    "name": "CHAT_MESSAGE_HERO_DENY",
                    "id": 1
                },
                {
                    "name": "CHAT_MESSAGE_BARRACKS_KILL",
                    "id": 2
                },
                {
                    "name": "CHAT_MESSAGE_TOWER_KILL",
                    "id": 3
                },
                {
                    "name": "CHAT_MESSAGE_TOWER_DENY",
                    "id": 4
                },
                {
                    "name": "CHAT_MESSAGE_FIRSTBLOOD",
                    "id": 5
                },
                {
                    "name": "CHAT_MESSAGE_STREAK_KILL",
                    "id": 6
                },
                {
                    "name": "CHAT_MESSAGE_BUYBACK",
                    "id": 7
                },
                {
                    "name": "CHAT_MESSAGE_AEGIS",
                    "id": 8
                },
                {
                    "name": "CHAT_MESSAGE_ROSHAN_KILL",
                    "id": 9
                },
                {
                    "name": "CHAT_MESSAGE_COURIER_LOST",
                    "id": 10
                },
                {
                    "name": "CHAT_MESSAGE_COURIER_RESPAWNED",
                    "id": 11
                },
                {
                    "name": "CHAT_MESSAGE_GLYPH_USED",
                    "id": 12
                },
                {
                    "name": "CHAT_MESSAGE_ITEM_PURCHASE",
                    "id": 13
                },
                {
                    "name": "CHAT_MESSAGE_CONNECT",
                    "id": 14
                },
                {
                    "name": "CHAT_MESSAGE_DISCONNECT",
                    "id": 15
                },
                {
                    "name": "CHAT_MESSAGE_DISCONNECT_WAIT_FOR_RECONNECT",
                    "id": 16
                },
                {
                    "name": "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING",
                    "id": 17
                },
                {
                    "name": "CHAT_MESSAGE_DISCONNECT_TIME_REMAINING_PLURAL",
                    "id": 18
                },
                {
                    "name": "CHAT_MESSAGE_RECONNECT",
                    "id": 19
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_LEFT",
                    "id": 20
                },
                {
                    "name": "CHAT_MESSAGE_SAFE_TO_LEAVE",
                    "id": 21
                },
                {
                    "name": "CHAT_MESSAGE_RUNE_PICKUP",
                    "id": 22
                },
                {
                    "name": "CHAT_MESSAGE_RUNE_BOTTLE",
                    "id": 23
                },
                {
                    "name": "CHAT_MESSAGE_INTHEBAG",
                    "id": 24
                },
                {
                    "name": "CHAT_MESSAGE_SECRETSHOP",
                    "id": 25
                },
                {
                    "name": "CHAT_MESSAGE_ITEM_AUTOPURCHASED",
                    "id": 26
                },
                {
                    "name": "CHAT_MESSAGE_ITEMS_COMBINED",
                    "id": 27
                },
                {
                    "name": "CHAT_MESSAGE_SUPER_CREEPS",
                    "id": 28
                },
                {
                    "name": "CHAT_MESSAGE_CANT_USE_ACTION_ITEM",
                    "id": 29
                },
                {
                    "name": "CHAT_MESSAGE_CHARGES_EXHAUSTED",
                    "id": 30
                },
                {
                    "name": "CHAT_MESSAGE_CANTPAUSE",
                    "id": 31
                },
                {
                    "name": "CHAT_MESSAGE_NOPAUSESLEFT",
                    "id": 32
                },
                {
                    "name": "CHAT_MESSAGE_CANTPAUSEYET",
                    "id": 33
                },
                {
                    "name": "CHAT_MESSAGE_PAUSED",
                    "id": 34
                },
                {
                    "name": "CHAT_MESSAGE_UNPAUSE_COUNTDOWN",
                    "id": 35
                },
                {
                    "name": "CHAT_MESSAGE_UNPAUSED",
                    "id": 36
                },
                {
                    "name": "CHAT_MESSAGE_AUTO_UNPAUSED",
                    "id": 37
                },
                {
                    "name": "CHAT_MESSAGE_YOUPAUSED",
                    "id": 38
                },
                {
                    "name": "CHAT_MESSAGE_CANTUNPAUSETEAM",
                    "id": 39
                },
                {
                    "name": "CHAT_MESSAGE_VOICE_TEXT_BANNED",
                    "id": 41
                },
                {
                    "name": "CHAT_MESSAGE_SPECTATORS_WATCHING_THIS_GAME",
                    "id": 42
                },
                {
                    "name": "CHAT_MESSAGE_REPORT_REMINDER",
                    "id": 43
                },
                {
                    "name": "CHAT_MESSAGE_ECON_ITEM",
                    "id": 44
                },
                {
                    "name": "CHAT_MESSAGE_TAUNT",
                    "id": 45
                },
                {
                    "name": "CHAT_MESSAGE_RANDOM",
                    "id": 46
                },
                {
                    "name": "CHAT_MESSAGE_RD_TURN",
                    "id": 47
                },
                {
                    "name": "CHAT_MESSAGE_DROP_RATE_BONUS",
                    "id": 49
                },
                {
                    "name": "CHAT_MESSAGE_NO_BATTLE_POINTS",
                    "id": 50
                },
                {
                    "name": "CHAT_MESSAGE_DENIED_AEGIS",
                    "id": 51
                },
                {
                    "name": "CHAT_MESSAGE_INFORMATIONAL",
                    "id": 52
                },
                {
                    "name": "CHAT_MESSAGE_AEGIS_STOLEN",
                    "id": 53
                },
                {
                    "name": "CHAT_MESSAGE_ROSHAN_CANDY",
                    "id": 54
                },
                {
                    "name": "CHAT_MESSAGE_ITEM_GIFTED",
                    "id": 55
                },
                {
                    "name": "CHAT_MESSAGE_HERO_KILL_WITH_GREEVIL",
                    "id": 56
                },
                {
                    "name": "CHAT_MESSAGE_HOLDOUT_TOWER_DESTROYED",
                    "id": 57
                },
                {
                    "name": "CHAT_MESSAGE_HOLDOUT_WALL_DESTROYED",
                    "id": 58
                },
                {
                    "name": "CHAT_MESSAGE_HOLDOUT_WALL_FINISHED",
                    "id": 59
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_LEFT_LIMITED_HERO",
                    "id": 62
                },
                {
                    "name": "CHAT_MESSAGE_ABANDON_LIMITED_HERO_EXPLANATION",
                    "id": 63
                },
                {
                    "name": "CHAT_MESSAGE_DISCONNECT_LIMITED_HERO",
                    "id": 64
                },
                {
                    "name": "CHAT_MESSAGE_LOW_PRIORITY_COMPLETED_EXPLANATION",
                    "id": 65
                },
                {
                    "name": "CHAT_MESSAGE_RECRUITMENT_DROP_RATE_BONUS",
                    "id": 66
                },
                {
                    "name": "CHAT_MESSAGE_FROSTIVUS_SHINING_BOOSTER_ACTIVE",
                    "id": 67
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_LEFT_AFK",
                    "id": 73
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_LEFT_DISCONNECTED_TOO_LONG",
                    "id": 74
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_ABANDONED",
                    "id": 75
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_ABANDONED_AFK",
                    "id": 76
                },
                {
                    "name": "CHAT_MESSAGE_PLAYER_ABANDONED_DISCONNECTED_TOO_LONG",
                    "id": 77
                },
                {
                    "name": "CHAT_MESSAGE_WILL_NOT_BE_SCORED",
                    "id": 78
                },
                {
                    "name": "CHAT_MESSAGE_WILL_NOT_BE_SCORED_RANKED",
                    "id": 79
                },
                {
                    "name": "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK",
                    "id": 80
                },
                {
                    "name": "CHAT_MESSAGE_WILL_NOT_BE_SCORED_NETWORK_RANKED",
                    "id": 81
                },
                {
                    "name": "CHAT_MESSAGE_CAN_QUIT_WITHOUT_ABANDON",
                    "id": 82
                },
                {
                    "name": "CHAT_MESSAGE_RANKED_GAME_STILL_SCORED_LEAVERS_GET_LOSS",
                    "id": 83
                },
                {
                    "name": "CHAT_MESSAGE_ABANDON_RANKED_BEFORE_FIRST_BLOOD_PARTY",
                    "id": 84
                },
                {
                    "name": "CHAT_MESSAGE_COMPENDIUM_LEVEL",
                    "id": 85
                },
                {
                    "name": "CHAT_MESSAGE_VICTORY_PREDICTION_STREAK",
                    "id": 86
                },
                {
                    "name": "CHAT_MESSAGE_ASSASSIN_ANNOUNCE",
                    "id": 87
                },
                {
                    "name": "CHAT_MESSAGE_ASSASSIN_SUCCESS",
                    "id": 88
                },
                {
                    "name": "CHAT_MESSAGE_ASSASSIN_DENIED",
                    "id": 89
                },
                {
                    "name": "CHAT_MESSAGE_VICTORY_PREDICTION_SINGLE_USER_CONFIRM",
                    "id": 90
                },
                {
                    "name": "CHAT_MESSAGE_EFFIGY_KILL",
                    "id": 91
                },
                {
                    "name": "CHAT_MESSAGE_VOICE_TEXT_BANNED_OVERFLOW",
                    "id": 92
                },
                {
                    "name": "CHAT_MESSAGE_YEAR_BEAST_KILLED",
                    "id": 93
                },
                {
                    "name": "CHAT_MESSAGE_PAUSE_COUNTDOWN",
                    "id": 94
                }
            ]
        },
        {
            "name": "DOTA_NO_BATTLE_POINTS_REASONS",
            "values": [
                {
                    "name": "NO_BATTLE_POINTS_WRONG_LOBBY_TYPE",
                    "id": 1
                },
                {
                    "name": "NO_BATTLE_POINTS_PRACTICE_BOTS",
                    "id": 2
                },
                {
                    "name": "NO_BATTLE_POINTS_CHEATS_ENABLED",
                    "id": 3
                },
                {
                    "name": "NO_BATTLE_POINTS_LOW_PRIORITY",
                    "id": 4
                }
            ]
        },
        {
            "name": "DOTA_CHAT_INFORMATIONAL",
            "values": [
                {
                    "name": "INFO_COOP_BATTLE_POINTS_RULES",
                    "id": 1
                },
                {
                    "name": "INFO_FROSTIVUS_ABANDON_REMINDER",
                    "id": 2
                },
                {
                    "name": "INFO_RANKED_REMINDER",
                    "id": 3
                },
                {
                    "name": "INFO_COOP_LOW_PRIORITY_PASSIVE_REMINDER",
                    "id": 4
                }
            ]
        },
        {
            "name": "DOTA_ABILITY_PING_TYPE",
            "values": [
                {
                    "name": "ABILITY_PING_READY",
                    "id": 1
                },
                {
                    "name": "ABILITY_PING_MANA",
                    "id": 2
                },
                {
                    "name": "ABILITY_PING_COOLDOWN",
                    "id": 3
                },
                {
                    "name": "ABILITY_PING_ENEMY",
                    "id": 4
                },
                {
                    "name": "ABILITY_PING_UNLEARNED",
                    "id": 5
                }
            ]
        },
        {
            "name": "EDotaEntityMessages",
            "values": [
                {
                    "name": "DOTA_UNIT_SPEECH",
                    "id": 0
                },
                {
                    "name": "DOTA_UNIT_SPEECH_MUTE",
                    "id": 1
                },
                {
                    "name": "DOTA_UNIT_ADD_GESTURE",
                    "id": 2
                },
                {
                    "name": "DOTA_UNIT_REMOVE_GESTURE",
                    "id": 3
                },
                {
                    "name": "DOTA_UNIT_REMOVE_ALL_GESTURES",
                    "id": 4
                },
                {
                    "name": "DOTA_UNIT_FADE_GESTURE",
                    "id": 6
                },
                {
                    "name": "DOTA_UNIT_SPEECH_CLIENTSIDE_RULES",
                    "id": 7
                }
            ]
        },
        {
            "name": "DOTA_PARTICLE_MESSAGE",
            "values": [
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_CREATE",
                    "id": 0
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_UPDATE",
                    "id": 1
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD",
                    "id": 2
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION",
                    "id": 3
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK",
                    "id": 4
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_UPDATE_ENT",
                    "id": 5
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET",
                    "id": 6
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_DESTROY",
                    "id": 7
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING",
                    "id": 8
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_RELEASE",
                    "id": 9
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_LATENCY",
                    "id": 10
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_SHOULD_DRAW",
                    "id": 11
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_FROZEN",
                    "id": 12
                },
                {
                    "name": "DOTA_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT",
                    "id": 13
                }
            ]
        },
        {
            "name": "DOTA_OVERHEAD_ALERT",
            "values": [
                {
                    "name": "OVERHEAD_ALERT_GOLD",
                    "id": 0
                },
                {
                    "name": "OVERHEAD_ALERT_DENY",
                    "id": 1
                },
                {
                    "name": "OVERHEAD_ALERT_CRITICAL",
                    "id": 2
                },
                {
                    "name": "OVERHEAD_ALERT_XP",
                    "id": 3
                },
                {
                    "name": "OVERHEAD_ALERT_BONUS_SPELL_DAMAGE",
                    "id": 4
                },
                {
                    "name": "OVERHEAD_ALERT_MISS",
                    "id": 5
                },
                {
                    "name": "OVERHEAD_ALERT_DAMAGE",
                    "id": 6
                },
                {
                    "name": "OVERHEAD_ALERT_EVADE",
                    "id": 7
                },
                {
                    "name": "OVERHEAD_ALERT_BLOCK",
                    "id": 8
                },
                {
                    "name": "OVERHEAD_ALERT_BONUS_POISON_DAMAGE",
                    "id": 9
                },
                {
                    "name": "OVERHEAD_ALERT_HEAL",
                    "id": 10
                },
                {
                    "name": "OVERHEAD_ALERT_MANA_ADD",
                    "id": 11
                },
                {
                    "name": "OVERHEAD_ALERT_MANA_LOSS",
                    "id": 12
                },
                {
                    "name": "OVERHEAD_ALERT_LAST_HIT_EARLY",
                    "id": 13
                },
                {
                    "name": "OVERHEAD_ALERT_LAST_HIT_CLOSE",
                    "id": 14
                },
                {
                    "name": "OVERHEAD_ALERT_LAST_HIT_MISS",
                    "id": 15
                }
            ]
        },
        {
            "name": "DOTA_POSITION_CATEGORY",
            "values": [
                {
                    "name": "DOTA_POSITION_NONE",
                    "id": 0
                },
                {
                    "name": "DOTA_POSITION_BOTTOM_LANE",
                    "id": 1
                },
                {
                    "name": "DOTA_POSITION_MID_LANE",
                    "id": 2
                },
                {
                    "name": "DOTA_POSITION_TOP_LANE",
                    "id": 3
                },
                {
                    "name": "DOTA_POSITION_RADIANT_JUNGLE",
                    "id": 4
                },
                {
                    "name": "DOTA_POSITION_DIRE_JUNGLE",
                    "id": 5
                },
                {
                    "name": "DOTA_POSITION_RADIANT_ANCIENTS",
                    "id": 6
                },
                {
                    "name": "DOTA_POSITION_DIRE_ANCIENTS",
                    "id": 7
                },
                {
                    "name": "DOTA_POSITION_RADIANT_SECRET_SHOP",
                    "id": 8
                },
                {
                    "name": "DOTA_POSITION_DIRE_SECRET_SHOP",
                    "id": 9
                },
                {
                    "name": "DOTA_POSITION_RIVER",
                    "id": 10
                },
                {
                    "name": "DOTA_POSITION_ROSHAN_PIT",
                    "id": 11
                },
                {
                    "name": "DOTA_POSITION_RADIANT_BASE",
                    "id": 12
                },
                {
                    "name": "DOTA_POSITION_DIRE_BASE",
                    "id": 13
                },
                {
                    "name": "DOTA_POSITION_FOUNTAIN",
                    "id": 14
                },
                {
                    "name": "DOTA_POSITION_OTHER",
                    "id": 15
                }
            ]
        },
        {
            "name": "DOTA_ABILITY_TARGET_TYPE",
            "values": [
                {
                    "name": "DOTA_ABILITY_TARGET_NONE",
                    "id": 0
                },
                {
                    "name": "DOTA_ABILITY_TARGET_SELF",
                    "id": 1
                },
                {
                    "name": "DOTA_ABILITY_TARGET_ALLY_HERO",
                    "id": 2
                },
                {
                    "name": "DOTA_ABILITY_TARGET_ALLY_CREEP",
                    "id": 3
                },
                {
                    "name": "DOTA_ABILITY_TARGET_ENEMY_HERO",
                    "id": 4
                },
                {
                    "name": "DOTA_ABILITY_TARGET_ENEMY_CREEP",
                    "id": 5
                }
            ]
        },
        {
            "name": "EHeroStatType",
            "values": [
                {
                    "name": "k_EHeroStatType_None",
                    "id": 0
                },
                {
                    "name": "k_EHeroStatType_AxeTotalDamage",
                    "id": 2000
                },
                {
                    "name": "k_EHeroStatType_BattleHungerDamage",
                    "id": 2001
                },
                {
                    "name": "k_EHeroStatType_CounterHelixDamage",
                    "id": 2002
                },
                {
                    "name": "k_EHeroStatType_CullingBladeDamage",
                    "id": 2003
                },
                {
                    "name": "k_EHeroStatType_BerserkersCallCastCount",
                    "id": 2004
                },
                {
                    "name": "k_EHeroStatType_BerserkersCallHeroesHitAverage",
                    "id": 2005
                },
                {
                    "name": "k_EHeroStatType_BerserkersCallOtherUnitsHit",
                    "id": 2006
                },
                {
                    "name": "k_EHeroStatType_BerserkersCallHeroAttacksTaken",
                    "id": 2007
                },
                {
                    "name": "k_EHeroStatType_BerserkersCallOtherAttacksTaken",
                    "id": 2008
                },
                {
                    "name": "k_EHeroStatType_BattleHungerCastCount",
                    "id": 2009
                },
                {
                    "name": "k_EHeroStatType_BattleHungerPotentialDuration",
                    "id": 2010
                },
                {
                    "name": "k_EHeroStatType_BattleHungerAverageDuration",
                    "id": 2011
                },
                {
                    "name": "k_EHeroStatType_CounterHelixProcCount",
                    "id": 2012
                },
                {
                    "name": "k_EHeroStatType_CounterHelixHeroProcCount",
                    "id": 2013
                },
                {
                    "name": "k_EHeroStatType_CounterHelixHeroesHitAverage",
                    "id": 2014
                },
                {
                    "name": "k_EHeroStatType_CounterHelixOtherUnitsHitCount",
                    "id": 2015
                },
                {
                    "name": "k_EHeroStatType_CullingBladeCastCount",
                    "id": 2016
                },
                {
                    "name": "k_EHeroStatType_CullingBladeKillCount",
                    "id": 2017
                },
                {
                    "name": "k_EHeroStatType_CullingBladeAverageHealthCulled",
                    "id": 2018
                },
                {
                    "name": "k_EHeroStatType_CullingBladeAverageDamageAvailable",
                    "id": 2019
                },
                {
                    "name": "k_EHeroStatType_CullingBladeHeroBuffAverage",
                    "id": 2020
                }
            ]
        },
        {
            "name": "EPlayerVoiceListenState",
            "values": [
                {
                    "name": "kPVLS_None",
                    "id": 0
                },
                {
                    "name": "kPVLS_DeniedChatBanned",
                    "id": 1
                },
                {
                    "name": "kPVLS_DeniedPartner",
                    "id": 2
                },
                {
                    "name": "kPVLS_DeniedHLTVTalkerNotSpectator",
                    "id": 3
                },
                {
                    "name": "kPVLS_DeniedHLTVNoTalkerPlayerID",
                    "id": 4
                },
                {
                    "name": "kPVLS_DeniedHLTVTalkerNotBroadcaster",
                    "id": 5
                },
                {
                    "name": "kPVLS_DeniedTeamSpectator",
                    "id": 6
                },
                {
                    "name": "kPVLS_DeniedStudent",
                    "id": 8
                },
                {
                    "name": "kPVLS_Denied",
                    "id": 64
                },
                {
                    "name": "kPVLS_AllowHLTVTalkerIsBroadcaster",
                    "id": 65
                },
                {
                    "name": "kPVLS_AllowCoBroadcaster",
                    "id": 66
                },
                {
                    "name": "kPVLS_AllowAllChat",
                    "id": 67
                },
                {
                    "name": "kPVLS_AllowStudentToCoach",
                    "id": 68
                },
                {
                    "name": "kPVLS_AllowFellowStudent",
                    "id": 69
                },
                {
                    "name": "kPVLS_AllowTalkerIsCoach",
                    "id": 70
                },
                {
                    "name": "kPVLS_AllowCoachHearTeam",
                    "id": 71
                },
                {
                    "name": "kPVLS_AllowSameTeam",
                    "id": 72
                },
                {
                    "name": "kPVLS_AllowShowcase",
                    "id": 73
                }
            ]
        },
        {
            "name": "EBaseGameEvents",
            "values": [
                {
                    "name": "GE_VDebugGameSessionIDEvent",
                    "id": 200
                },
                {
                    "name": "GE_PlaceDecalEvent",
                    "id": 201
                },
                {
                    "name": "GE_ClearWorldDecalsEvent",
                    "id": 202
                },
                {
                    "name": "GE_ClearEntityDecalsEvent",
                    "id": 203
                },
                {
                    "name": "GE_ClearDecalsForSkeletonInstanceEvent",
                    "id": 204
                },
                {
                    "name": "GE_Source1LegacyGameEventList",
                    "id": 205
                },
                {
                    "name": "GE_Source1LegacyListenEvents",
                    "id": 206
                },
                {
                    "name": "GE_Source1LegacyGameEvent",
                    "id": 207
                },
                {
                    "name": "GE_SosStartSoundEvent",
                    "id": 208
                },
                {
                    "name": "GE_SosStopSoundEvent",
                    "id": 209
                },
                {
                    "name": "GE_SosSetSoundEventParams",
                    "id": 210
                },
                {
                    "name": "GE_SosSetLibraryStackFields",
                    "id": 211
                },
                {
                    "name": "GE_SosStopSoundEventHash",
                    "id": 212
                }
            ]
        },
        {
            "name": "EGCSystemMsg",
            "values": [
                {
                    "name": "k_EGCMsgInvalid",
                    "id": 0
                },
                {
                    "name": "k_EGCMsgMulti",
                    "id": 1
                },
                {
                    "name": "k_EGCMsgGenericReply",
                    "id": 10
                },
                {
                    "name": "k_EGCMsgSystemBase",
                    "id": 50
                },
                {
                    "name": "k_EGCMsgAchievementAwarded",
                    "id": 51
                },
                {
                    "name": "k_EGCMsgConCommand",
                    "id": 52
                },
                {
                    "name": "k_EGCMsgStartPlaying",
                    "id": 53
                },
                {
                    "name": "k_EGCMsgStopPlaying",
                    "id": 54
                },
                {
                    "name": "k_EGCMsgStartGameserver",
                    "id": 55
                },
                {
                    "name": "k_EGCMsgStopGameserver",
                    "id": 56
                },
                {
                    "name": "k_EGCMsgWGRequest",
                    "id": 57
                },
                {
                    "name": "k_EGCMsgWGResponse",
                    "id": 58
                },
                {
                    "name": "k_EGCMsgGetUserGameStatsSchema",
                    "id": 59
                },
                {
                    "name": "k_EGCMsgGetUserGameStatsSchemaResponse",
                    "id": 60
                },
                {
                    "name": "k_EGCMsgGetUserStatsDEPRECATED",
                    "id": 61
                },
                {
                    "name": "k_EGCMsgGetUserStatsResponse",
                    "id": 62
                },
                {
                    "name": "k_EGCMsgAppInfoUpdated",
                    "id": 63
                },
                {
                    "name": "k_EGCMsgValidateSession",
                    "id": 64
                },
                {
                    "name": "k_EGCMsgValidateSessionResponse",
                    "id": 65
                },
                {
                    "name": "k_EGCMsgLookupAccountFromInput",
                    "id": 66
                },
                {
                    "name": "k_EGCMsgSendHTTPRequest",
                    "id": 67
                },
                {
                    "name": "k_EGCMsgSendHTTPRequestResponse",
                    "id": 68
                },
                {
                    "name": "k_EGCMsgPreTestSetup",
                    "id": 69
                },
                {
                    "name": "k_EGCMsgRecordSupportAction",
                    "id": 70
                },
                {
                    "name": "k_EGCMsgGetAccountDetails_DEPRECATED",
                    "id": 71
                },
                {
                    "name": "k_EGCMsgReceiveInterAppMessage",
                    "id": 73
                },
                {
                    "name": "k_EGCMsgFindAccounts",
                    "id": 74
                },
                {
                    "name": "k_EGCMsgPostAlert",
                    "id": 75
                },
                {
                    "name": "k_EGCMsgGetLicenses",
                    "id": 76
                },
                {
                    "name": "k_EGCMsgGetUserStats",
                    "id": 77
                },
                {
                    "name": "k_EGCMsgGetCommands",
                    "id": 78
                },
                {
                    "name": "k_EGCMsgGetCommandsResponse",
                    "id": 79
                },
                {
                    "name": "k_EGCMsgAddFreeLicense",
                    "id": 80
                },
                {
                    "name": "k_EGCMsgAddFreeLicenseResponse",
                    "id": 81
                },
                {
                    "name": "k_EGCMsgGetIPLocation",
                    "id": 82
                },
                {
                    "name": "k_EGCMsgGetIPLocationResponse",
                    "id": 83
                },
                {
                    "name": "k_EGCMsgSystemStatsSchema",
                    "id": 84
                },
                {
                    "name": "k_EGCMsgGetSystemStats",
                    "id": 85
                },
                {
                    "name": "k_EGCMsgGetSystemStatsResponse",
                    "id": 86
                },
                {
                    "name": "k_EGCMsgSendEmail",
                    "id": 87
                },
                {
                    "name": "k_EGCMsgSendEmailResponse",
                    "id": 88
                },
                {
                    "name": "k_EGCMsgGetEmailTemplate",
                    "id": 89
                },
                {
                    "name": "k_EGCMsgGetEmailTemplateResponse",
                    "id": 90
                },
                {
                    "name": "k_EGCMsgGrantGuestPass",
                    "id": 91
                },
                {
                    "name": "k_EGCMsgGrantGuestPassResponse",
                    "id": 92
                },
                {
                    "name": "k_EGCMsgGetAccountDetails",
                    "id": 93
                },
                {
                    "name": "k_EGCMsgGetAccountDetailsResponse",
                    "id": 94
                },
                {
                    "name": "k_EGCMsgGetPersonaNames",
                    "id": 95
                },
                {
                    "name": "k_EGCMsgGetPersonaNamesResponse",
                    "id": 96
                },
                {
                    "name": "k_EGCMsgMultiplexMsg",
                    "id": 97
                },
                {
                    "name": "k_EGCMsgWebAPIRegisterInterfaces",
                    "id": 101
                },
                {
                    "name": "k_EGCMsgWebAPIJobRequest",
                    "id": 102
                },
                {
                    "name": "k_EGCMsgWebAPIJobRequestHttpResponse",
                    "id": 104
                },
                {
                    "name": "k_EGCMsgWebAPIJobRequestForwardResponse",
                    "id": 105
                },
                {
                    "name": "k_EGCMsgMemCachedGet",
                    "id": 200
                },
                {
                    "name": "k_EGCMsgMemCachedGetResponse",
                    "id": 201
                },
                {
                    "name": "k_EGCMsgMemCachedSet",
                    "id": 202
                },
                {
                    "name": "k_EGCMsgMemCachedDelete",
                    "id": 203
                },
                {
                    "name": "k_EGCMsgMemCachedStats",
                    "id": 204
                },
                {
                    "name": "k_EGCMsgMemCachedStatsResponse",
                    "id": 205
                },
                {
                    "name": "k_EGCMsgSQLStats",
                    "id": 210
                },
                {
                    "name": "k_EGCMsgSQLStatsResponse",
                    "id": 211
                },
                {
                    "name": "k_EGCMsgMasterSetDirectory",
                    "id": 220
                },
                {
                    "name": "k_EGCMsgMasterSetDirectoryResponse",
                    "id": 221
                },
                {
                    "name": "k_EGCMsgMasterSetWebAPIRouting",
                    "id": 222
                },
                {
                    "name": "k_EGCMsgMasterSetWebAPIRoutingResponse",
                    "id": 223
                },
                {
                    "name": "k_EGCMsgMasterSetClientMsgRouting",
                    "id": 224
                },
                {
                    "name": "k_EGCMsgMasterSetClientMsgRoutingResponse",
                    "id": 225
                },
                {
                    "name": "k_EGCMsgSetOptions",
                    "id": 226
                },
                {
                    "name": "k_EGCMsgSetOptionsResponse",
                    "id": 227
                },
                {
                    "name": "k_EGCMsgSystemBase2",
                    "id": 500
                },
                {
                    "name": "k_EGCMsgGetPurchaseTrustStatus",
                    "id": 501
                },
                {
                    "name": "k_EGCMsgGetPurchaseTrustStatusResponse",
                    "id": 502
                },
                {
                    "name": "k_EGCMsgUpdateSession",
                    "id": 503
                },
                {
                    "name": "k_EGCMsgGCAccountVacStatusChange",
                    "id": 504
                },
                {
                    "name": "k_EGCMsgCheckFriendship",
                    "id": 505
                },
                {
                    "name": "k_EGCMsgCheckFriendshipResponse",
                    "id": 506
                },
                {
                    "name": "k_EGCMsgGetPartnerAccountLink",
                    "id": 507
                },
                {
                    "name": "k_EGCMsgGetPartnerAccountLinkResponse",
                    "id": 508
                },
                {
                    "name": "k_EGCMsgVSReportedSuspiciousActivity",
                    "id": 509
                },
                {
                    "name": "k_EGCMsgDPPartnerMicroTxns",
                    "id": 512
                },
                {
                    "name": "k_EGCMsgDPPartnerMicroTxnsResponse",
                    "id": 513
                },
                {
                    "name": "k_EGCMsgGetIPASN",
                    "id": 514
                },
                {
                    "name": "k_EGCMsgGetIPASNResponse",
                    "id": 515
                },
                {
                    "name": "k_EGCMsgGetAppFriendsList",
                    "id": 516
                },
                {
                    "name": "k_EGCMsgGetAppFriendsListResponse",
                    "id": 517
                }
            ]
        },
        {
            "name": "ESOMsg",
            "values": [
                {
                    "name": "k_ESOMsg_Create",
                    "id": 21
                },
                {
                    "name": "k_ESOMsg_Update",
                    "id": 22
                },
                {
                    "name": "k_ESOMsg_Destroy",
                    "id": 23
                },
                {
                    "name": "k_ESOMsg_CacheSubscribed",
                    "id": 24
                },
                {
                    "name": "k_ESOMsg_CacheUnsubscribed",
                    "id": 25
                },
                {
                    "name": "k_ESOMsg_UpdateMultiple",
                    "id": 26
                },
                {
                    "name": "k_ESOMsg_CacheSubscriptionRefresh",
                    "id": 28
                },
                {
                    "name": "k_ESOMsg_CacheSubscribedUpToDate",
                    "id": 29
                }
            ]
        },
        {
            "name": "EGCBaseClientMsg",
            "values": [
                {
                    "name": "k_EMsgGCPingRequest",
                    "id": 3001
                },
                {
                    "name": "k_EMsgGCPingResponse",
                    "id": 3002
                },
                {
                    "name": "k_EMsgGCClientWelcome",
                    "id": 4004
                },
                {
                    "name": "k_EMsgGCServerWelcome",
                    "id": 4005
                },
                {
                    "name": "k_EMsgGCClientHello",
                    "id": 4006
                },
                {
                    "name": "k_EMsgGCServerHello",
                    "id": 4007
                },
                {
                    "name": "k_EMsgGCClientConnectionStatus",
                    "id": 4009
                },
                {
                    "name": "k_EMsgGCServerConnectionStatus",
                    "id": 4010
                }
            ]
        },
        {
            "name": "EGCToGCMsg",
            "values": [
                {
                    "name": "k_EGCToGCMsgMasterAck",
                    "id": 150
                },
                {
                    "name": "k_EGCToGCMsgMasterAckResponse",
                    "id": 151
                },
                {
                    "name": "k_EGCToGCMsgRouted",
                    "id": 152
                },
                {
                    "name": "k_EGCToGCMsgRoutedReply",
                    "id": 153
                },
                {
                    "name": "k_EMsgGCUpdateSubGCSessionInfo",
                    "id": 154
                },
                {
                    "name": "k_EMsgGCRequestSubGCSessionInfo",
                    "id": 155
                },
                {
                    "name": "k_EMsgGCRequestSubGCSessionInfoResponse",
                    "id": 156
                },
                {
                    "name": "k_EGCToGCMsgMasterStartupComplete",
                    "id": 157
                },
                {
                    "name": "k_EMsgGCToGCSOCacheSubscribe",
                    "id": 158
                },
                {
                    "name": "k_EMsgGCToGCSOCacheUnsubscribe",
                    "id": 159
                },
                {
                    "name": "k_EMsgGCToGCLoadSessionSOCache",
                    "id": 160
                },
                {
                    "name": "k_EMsgGCToGCLoadSessionSOCacheResponse",
                    "id": 161
                },
                {
                    "name": "k_EMsgGCToGCUpdateSessionStats",
                    "id": 162
                }
            ]
        },
        {
            "name": "ESteamDatagramMsgID",
            "values": [
                {
                    "name": "k_ESteamDatagramMsg_RouterPingRequest",
                    "id": 1
                },
                {
                    "name": "k_ESteamDatagramMsg_RouterPingReply",
                    "id": 2
                },
                {
                    "name": "k_ESteamDatagramMsg_GameserverPingRequest",
                    "id": 3
                },
                {
                    "name": "k_ESteamDatagramMsg_GameserverPingReply",
                    "id": 4
                },
                {
                    "name": "k_ESteamDatagramMsg_GameserverSessionRequest",
                    "id": 5
                },
                {
                    "name": "k_ESteamDatagramMsg_GameserverSessionEstablished",
                    "id": 6
                },
                {
                    "name": "k_ESteamDatagramMsg_NoSession",
                    "id": 7
                },
                {
                    "name": "k_ESteamDatagramMsg_Diagnostic",
                    "id": 8
                },
                {
                    "name": "k_ESteamDatagramMsg_DataClientToRouter",
                    "id": 9
                },
                {
                    "name": "k_ESteamDatagramMsg_DataRouterToServer",
                    "id": 10
                },
                {
                    "name": "k_ESteamDatagramMsg_DataServerToRouter",
                    "id": 11
                },
                {
                    "name": "k_ESteamDatagramMsg_DataRouterToClient",
                    "id": 12
                },
                {
                    "name": "k_ESteamDatagramMsg_Stats",
                    "id": 13
                },
                {
                    "name": "k_ESteamDatagramMsg_ClientPingSampleRequest",
                    "id": 14
                },
                {
                    "name": "k_ESteamDatagramMsg_ClientPingSampleReply",
                    "id": 15
                },
                {
                    "name": "k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary",
                    "id": 16
                }
            ]
        },
        {
            "name": "EProtoExecutionSite",
            "values": [
                {
                    "name": "k_EProtoExecutionSiteUnknown",
                    "id": 0
                },
                {
                    "name": "k_EProtoExecutionSiteSteamClient",
                    "id": 3
                }
            ]
        },
        {
            "name": "ETEProtobufIds",
            "values": [
                {
                    "name": "TE_EffectDispatchId",
                    "id": 400
                },
                {
                    "name": "TE_ArmorRicochetId",
                    "id": 401
                },
                {
                    "name": "TE_BeamEntPointId",
                    "id": 402
                },
                {
                    "name": "TE_BeamEntsId",
                    "id": 403
                },
                {
                    "name": "TE_BeamPointsId",
                    "id": 404
                },
                {
                    "name": "TE_BeamRingId",
                    "id": 405
                },
                {
                    "name": "TE_BreakModelId",
                    "id": 406
                },
                {
                    "name": "TE_BSPDecalId",
                    "id": 407
                },
                {
                    "name": "TE_BubblesId",
                    "id": 408
                },
                {
                    "name": "TE_BubbleTrailId",
                    "id": 409
                },
                {
                    "name": "TE_DecalId",
                    "id": 410
                },
                {
                    "name": "TE_WorldDecalId",
                    "id": 411
                },
                {
                    "name": "TE_EnergySplashId",
                    "id": 412
                },
                {
                    "name": "TE_FizzId",
                    "id": 413
                },
                {
                    "name": "TE_ShatterSurfaceId",
                    "id": 414
                },
                {
                    "name": "TE_GlowSpriteId",
                    "id": 415
                },
                {
                    "name": "TE_ImpactId",
                    "id": 416
                },
                {
                    "name": "TE_MuzzleFlashId",
                    "id": 417
                },
                {
                    "name": "TE_BloodStreamId",
                    "id": 418
                },
                {
                    "name": "TE_ExplosionId",
                    "id": 419
                },
                {
                    "name": "TE_DustId",
                    "id": 420
                },
                {
                    "name": "TE_LargeFunnelId",
                    "id": 421
                },
                {
                    "name": "TE_SparksId",
                    "id": 422
                },
                {
                    "name": "TE_PhysicsPropId",
                    "id": 423
                },
                {
                    "name": "TE_PlayerDecalId",
                    "id": 424
                },
                {
                    "name": "TE_ProjectedDecalId",
                    "id": 425
                },
                {
                    "name": "TE_SmokeId",
                    "id": 426
                }
            ]
        },
        {
            "name": "EBaseUserMessages",
            "values": [
                {
                    "name": "UM_AchievementEvent",
                    "id": 101
                },
                {
                    "name": "UM_CloseCaption",
                    "id": 102
                },
                {
                    "name": "UM_CloseCaptionDirect",
                    "id": 103
                },
                {
                    "name": "UM_CurrentTimescale",
                    "id": 104
                },
                {
                    "name": "UM_DesiredTimescale",
                    "id": 105
                },
                {
                    "name": "UM_Fade",
                    "id": 106
                },
                {
                    "name": "UM_GameTitle",
                    "id": 107
                },
                {
                    "name": "UM_HintText",
                    "id": 109
                },
                {
                    "name": "UM_HudMsg",
                    "id": 110
                },
                {
                    "name": "UM_HudText",
                    "id": 111
                },
                {
                    "name": "UM_KeyHintText",
                    "id": 112
                },
                {
                    "name": "UM_ColoredText",
                    "id": 113
                },
                {
                    "name": "UM_RequestState",
                    "id": 114
                },
                {
                    "name": "UM_ResetHUD",
                    "id": 115
                },
                {
                    "name": "UM_Rumble",
                    "id": 116
                },
                {
                    "name": "UM_SayText",
                    "id": 117
                },
                {
                    "name": "UM_SayText2",
                    "id": 118
                },
                {
                    "name": "UM_SayTextChannel",
                    "id": 119
                },
                {
                    "name": "UM_Shake",
                    "id": 120
                },
                {
                    "name": "UM_ShakeDir",
                    "id": 121
                },
                {
                    "name": "UM_TextMsg",
                    "id": 124
                },
                {
                    "name": "UM_ScreenTilt",
                    "id": 125
                },
                {
                    "name": "UM_Train",
                    "id": 126
                },
                {
                    "name": "UM_VGUIMenu",
                    "id": 127
                },
                {
                    "name": "UM_VoiceMask",
                    "id": 128
                },
                {
                    "name": "UM_VoiceSubtitle",
                    "id": 129
                },
                {
                    "name": "UM_SendAudio",
                    "id": 130
                },
                {
                    "name": "UM_ItemPickup",
                    "id": 131
                },
                {
                    "name": "UM_AmmoDenied",
                    "id": 132
                },
                {
                    "name": "UM_CrosshairAngle",
                    "id": 133
                },
                {
                    "name": "UM_ShowMenu",
                    "id": 134
                },
                {
                    "name": "UM_CreditsMsg",
                    "id": 135
                },
                {
                    "name": "UM_CloseCaptionPlaceholder",
                    "id": 142
                },
                {
                    "name": "UM_CameraTransition",
                    "id": 143
                },
                {
                    "name": "UM_AudioParameter",
                    "id": 144
                },
                {
                    "name": "UM_ParticleManager",
                    "id": 145
                },
                {
                    "name": "UM_HudError",
                    "id": 146
                },
                {
                    "name": "UM_CustomGameEvent_ClientToServer",
                    "id": 147
                },
                {
                    "name": "UM_CustomGameEvent_ServerToClient",
                    "id": 148
                },
                {
                    "name": "UM_TrackedControllerInput_ClientToServer",
                    "id": 149
                },
                {
                    "name": "UM_MAX_BASE",
                    "id": 200
                }
            ]
        },
        {
            "name": "EBaseEntityMessages",
            "values": [
                {
                    "name": "EM_PlayJingle",
                    "id": 136
                },
                {
                    "name": "EM_ScreenOverlay",
                    "id": 137
                },
                {
                    "name": "EM_RemoveAllDecals",
                    "id": 138
                },
                {
                    "name": "EM_PropagateForce",
                    "id": 139
                },
                {
                    "name": "EM_DoSpark",
                    "id": 140
                },
                {
                    "name": "EM_FixAngle",
                    "id": 141
                }
            ]
        },
        {
            "name": "eRollType",
            "values": [
                {
                    "name": "ROLL_NONE",
                    "id": -1
                },
                {
                    "name": "ROLL_STATS",
                    "id": 0
                },
                {
                    "name": "ROLL_CREDITS",
                    "id": 1
                },
                {
                    "name": "ROLL_LATE_JOIN_LOGO",
                    "id": 2
                },
                {
                    "name": "ROLL_OUTTRO",
                    "id": 3
                }
            ]
        },
        {
            "name": "PARTICLE_MESSAGE",
            "values": [
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_CREATE",
                    "id": 0
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_UPDATE",
                    "id": 1
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD",
                    "id": 2
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION",
                    "id": 3
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK",
                    "id": 4
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT",
                    "id": 5
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET",
                    "id": 6
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_DESTROY",
                    "id": 7
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING",
                    "id": 8
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_RELEASE",
                    "id": 9
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_LATENCY",
                    "id": 10
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW",
                    "id": 11
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_FROZEN",
                    "id": 12
                },
                {
                    "name": "GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT",
                    "id": 13
                }
            ]
        }
    ],
    "services": [
        {
            "name": "Cloud",
            "options": {
                "(service_description)": "A service for Steam Cloud operations."
            },
            "rpc": {
                "GetUploadServerInfo": {
                    "request": "CCloud_GetUploadServerInfo_Request",
                    "response": "CCloud_GetUploadServerInfo_Response",
                    "options": {
                        "(method_description)": "Returns the URL of the proper cloud server for a user."
                    }
                },
                "GetFileDetails": {
                    "request": "CCloud_GetFileDetails_Request",
                    "response": "CCloud_GetFileDetails_Response",
                    "options": {
                        "(method_description)": "Returns details on a Cloud file."
                    }
                },
                "EnumerateUserFiles": {
                    "request": "CCloud_EnumerateUserFiles_Request",
                    "response": "CCloud_EnumerateUserFiles_Response",
                    "options": {
                        "(method_description)": "Enumerates Cloud files for a user of a given app ID. Returns up to 500 files at a time."
                    }
                },
                "Delete": {
                    "request": "CCloud_Delete_Request",
                    "response": "CCloud_Delete_Response",
                    "options": {
                        "(method_description)": "Deletes a file from the user's cloud."
                    }
                }
            }
        },
        {
            "name": "OAuthToken",
            "options": {
                "(service_description)": "Service containing methods to manage OAuth tokens"
            },
            "rpc": {
                "ImplicitGrantNoPrompt": {
                    "request": "COAuthToken_ImplicitGrantNoPrompt_Request",
                    "response": "COAuthToken_ImplicitGrantNoPrompt_Response",
                    "options": {
                        "(method_description)": "Grants an implicit OAuth token (grant type 'token') for the specified client ID on behalf of a user without prompting"
                    }
                }
            }
        }
    ]
}