// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: dota_shared_enums.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace SteamKit2.GC.Dota.Internal
{

    [global::ProtoBuf.ProtoContract()]
    public partial class CDOTAClientHardwareSpecs : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint logical_processors
        {
            get => __pbn__logical_processors.GetValueOrDefault();
            set => __pbn__logical_processors = value;
        }
        public bool ShouldSerializelogical_processors() => __pbn__logical_processors != null;
        public void Resetlogical_processors() => __pbn__logical_processors = null;
        private uint? __pbn__logical_processors;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong cpu_cycles_per_second
        {
            get => __pbn__cpu_cycles_per_second.GetValueOrDefault();
            set => __pbn__cpu_cycles_per_second = value;
        }
        public bool ShouldSerializecpu_cycles_per_second() => __pbn__cpu_cycles_per_second != null;
        public void Resetcpu_cycles_per_second() => __pbn__cpu_cycles_per_second = null;
        private ulong? __pbn__cpu_cycles_per_second;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong total_physical_memory
        {
            get => __pbn__total_physical_memory.GetValueOrDefault();
            set => __pbn__total_physical_memory = value;
        }
        public bool ShouldSerializetotal_physical_memory() => __pbn__total_physical_memory != null;
        public void Resettotal_physical_memory() => __pbn__total_physical_memory = null;
        private ulong? __pbn__total_physical_memory;

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_64_bit_os
        {
            get => __pbn__is_64_bit_os.GetValueOrDefault();
            set => __pbn__is_64_bit_os = value;
        }
        public bool ShouldSerializeis_64_bit_os() => __pbn__is_64_bit_os != null;
        public void Resetis_64_bit_os() => __pbn__is_64_bit_os = null;
        private bool? __pbn__is_64_bit_os;

        [global::ProtoBuf.ProtoMember(5)]
        public ulong upload_measurement
        {
            get => __pbn__upload_measurement.GetValueOrDefault();
            set => __pbn__upload_measurement = value;
        }
        public bool ShouldSerializeupload_measurement() => __pbn__upload_measurement != null;
        public void Resetupload_measurement() => __pbn__upload_measurement = null;
        private ulong? __pbn__upload_measurement;

        [global::ProtoBuf.ProtoMember(6)]
        public bool prefer_not_host
        {
            get => __pbn__prefer_not_host.GetValueOrDefault();
            set => __pbn__prefer_not_host = value;
        }
        public bool ShouldSerializeprefer_not_host() => __pbn__prefer_not_host != null;
        public void Resetprefer_not_host() => __pbn__prefer_not_host = null;
        private bool? __pbn__prefer_not_host;

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<uint> crc { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CDOTASaveGame : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(5)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint save_time
        {
            get => __pbn__save_time.GetValueOrDefault();
            set => __pbn__save_time = value;
        }
        public bool ShouldSerializesave_time() => __pbn__save_time != null;
        public void Resetsave_time() => __pbn__save_time = null;
        private uint? __pbn__save_time;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<SaveInstance> save_instances { get; } = new global::System.Collections.Generic.List<SaveInstance>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS)]
            public DOTA_GC_TEAM team
            {
                get => __pbn__team ?? DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS;
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private DOTA_GC_TEAM? __pbn__team;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string hero
            {
                get => __pbn__hero ?? "";
                set => __pbn__hero = value;
            }
            public bool ShouldSerializehero() => __pbn__hero != null;
            public void Resethero() => __pbn__hero = null;
            private string __pbn__hero;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class SaveInstance : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(2)]
            public uint game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private uint? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(3)]
            public uint team1_score
            {
                get => __pbn__team1_score.GetValueOrDefault();
                set => __pbn__team1_score = value;
            }
            public bool ShouldSerializeteam1_score() => __pbn__team1_score != null;
            public void Resetteam1_score() => __pbn__team1_score = null;
            private uint? __pbn__team1_score;

            [global::ProtoBuf.ProtoMember(4)]
            public uint team2_score
            {
                get => __pbn__team2_score.GetValueOrDefault();
                set => __pbn__team2_score = value;
            }
            public bool ShouldSerializeteam2_score() => __pbn__team2_score != null;
            public void Resetteam2_score() => __pbn__team2_score = null;
            private uint? __pbn__team2_score;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<PlayerPositions> player_positions { get; } = new global::System.Collections.Generic.List<PlayerPositions>();

            [global::ProtoBuf.ProtoMember(6)]
            public uint save_id
            {
                get => __pbn__save_id.GetValueOrDefault();
                set => __pbn__save_id = value;
            }
            public bool ShouldSerializesave_id() => __pbn__save_id != null;
            public void Resetsave_id() => __pbn__save_id = null;
            private uint? __pbn__save_id;

            [global::ProtoBuf.ProtoMember(7)]
            public uint save_time
            {
                get => __pbn__save_time.GetValueOrDefault();
                set => __pbn__save_time = value;
            }
            public bool ShouldSerializesave_time() => __pbn__save_time != null;
            public void Resetsave_time() => __pbn__save_time = null;
            private uint? __pbn__save_time;

            [global::ProtoBuf.ProtoContract()]
            public partial class PlayerPositions : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                public float x
                {
                    get => __pbn__x.GetValueOrDefault();
                    set => __pbn__x = value;
                }
                public bool ShouldSerializex() => __pbn__x != null;
                public void Resetx() => __pbn__x = null;
                private float? __pbn__x;

                [global::ProtoBuf.ProtoMember(2)]
                public float y
                {
                    get => __pbn__y.GetValueOrDefault();
                    set => __pbn__y = value;
                }
                public bool ShouldSerializey() => __pbn__y != null;
                public void Resety() => __pbn__y = null;
                private float? __pbn__y;

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTACombatLogEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_INVALID)]
        public DOTA_COMBATLOG_TYPES type
        {
            get => __pbn__type ?? DOTA_COMBATLOG_TYPES.DOTA_COMBATLOG_INVALID;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private DOTA_COMBATLOG_TYPES? __pbn__type;

        [global::ProtoBuf.ProtoMember(2)]
        public uint target_name
        {
            get => __pbn__target_name.GetValueOrDefault();
            set => __pbn__target_name = value;
        }
        public bool ShouldSerializetarget_name() => __pbn__target_name != null;
        public void Resettarget_name() => __pbn__target_name = null;
        private uint? __pbn__target_name;

        [global::ProtoBuf.ProtoMember(3)]
        public uint target_source_name
        {
            get => __pbn__target_source_name.GetValueOrDefault();
            set => __pbn__target_source_name = value;
        }
        public bool ShouldSerializetarget_source_name() => __pbn__target_source_name != null;
        public void Resettarget_source_name() => __pbn__target_source_name = null;
        private uint? __pbn__target_source_name;

        [global::ProtoBuf.ProtoMember(4)]
        public uint attacker_name
        {
            get => __pbn__attacker_name.GetValueOrDefault();
            set => __pbn__attacker_name = value;
        }
        public bool ShouldSerializeattacker_name() => __pbn__attacker_name != null;
        public void Resetattacker_name() => __pbn__attacker_name = null;
        private uint? __pbn__attacker_name;

        [global::ProtoBuf.ProtoMember(5)]
        public uint damage_source_name
        {
            get => __pbn__damage_source_name.GetValueOrDefault();
            set => __pbn__damage_source_name = value;
        }
        public bool ShouldSerializedamage_source_name() => __pbn__damage_source_name != null;
        public void Resetdamage_source_name() => __pbn__damage_source_name = null;
        private uint? __pbn__damage_source_name;

        [global::ProtoBuf.ProtoMember(6)]
        public uint inflictor_name
        {
            get => __pbn__inflictor_name.GetValueOrDefault();
            set => __pbn__inflictor_name = value;
        }
        public bool ShouldSerializeinflictor_name() => __pbn__inflictor_name != null;
        public void Resetinflictor_name() => __pbn__inflictor_name = null;
        private uint? __pbn__inflictor_name;

        [global::ProtoBuf.ProtoMember(7)]
        public bool is_attacker_illusion
        {
            get => __pbn__is_attacker_illusion.GetValueOrDefault();
            set => __pbn__is_attacker_illusion = value;
        }
        public bool ShouldSerializeis_attacker_illusion() => __pbn__is_attacker_illusion != null;
        public void Resetis_attacker_illusion() => __pbn__is_attacker_illusion = null;
        private bool? __pbn__is_attacker_illusion;

        [global::ProtoBuf.ProtoMember(8)]
        public bool is_attacker_hero
        {
            get => __pbn__is_attacker_hero.GetValueOrDefault();
            set => __pbn__is_attacker_hero = value;
        }
        public bool ShouldSerializeis_attacker_hero() => __pbn__is_attacker_hero != null;
        public void Resetis_attacker_hero() => __pbn__is_attacker_hero = null;
        private bool? __pbn__is_attacker_hero;

        [global::ProtoBuf.ProtoMember(9)]
        public bool is_target_illusion
        {
            get => __pbn__is_target_illusion.GetValueOrDefault();
            set => __pbn__is_target_illusion = value;
        }
        public bool ShouldSerializeis_target_illusion() => __pbn__is_target_illusion != null;
        public void Resetis_target_illusion() => __pbn__is_target_illusion = null;
        private bool? __pbn__is_target_illusion;

        [global::ProtoBuf.ProtoMember(10)]
        public bool is_target_hero
        {
            get => __pbn__is_target_hero.GetValueOrDefault();
            set => __pbn__is_target_hero = value;
        }
        public bool ShouldSerializeis_target_hero() => __pbn__is_target_hero != null;
        public void Resetis_target_hero() => __pbn__is_target_hero = null;
        private bool? __pbn__is_target_hero;

        [global::ProtoBuf.ProtoMember(11)]
        public bool is_visible_radiant
        {
            get => __pbn__is_visible_radiant.GetValueOrDefault();
            set => __pbn__is_visible_radiant = value;
        }
        public bool ShouldSerializeis_visible_radiant() => __pbn__is_visible_radiant != null;
        public void Resetis_visible_radiant() => __pbn__is_visible_radiant = null;
        private bool? __pbn__is_visible_radiant;

        [global::ProtoBuf.ProtoMember(12)]
        public bool is_visible_dire
        {
            get => __pbn__is_visible_dire.GetValueOrDefault();
            set => __pbn__is_visible_dire = value;
        }
        public bool ShouldSerializeis_visible_dire() => __pbn__is_visible_dire != null;
        public void Resetis_visible_dire() => __pbn__is_visible_dire = null;
        private bool? __pbn__is_visible_dire;

        [global::ProtoBuf.ProtoMember(13)]
        public uint value
        {
            get => __pbn__value.GetValueOrDefault();
            set => __pbn__value = value;
        }
        public bool ShouldSerializevalue() => __pbn__value != null;
        public void Resetvalue() => __pbn__value = null;
        private uint? __pbn__value;

        [global::ProtoBuf.ProtoMember(14)]
        public int health
        {
            get => __pbn__health.GetValueOrDefault();
            set => __pbn__health = value;
        }
        public bool ShouldSerializehealth() => __pbn__health != null;
        public void Resethealth() => __pbn__health = null;
        private int? __pbn__health;

        [global::ProtoBuf.ProtoMember(15)]
        public float timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private float? __pbn__timestamp;

        [global::ProtoBuf.ProtoMember(16)]
        public float stun_duration
        {
            get => __pbn__stun_duration.GetValueOrDefault();
            set => __pbn__stun_duration = value;
        }
        public bool ShouldSerializestun_duration() => __pbn__stun_duration != null;
        public void Resetstun_duration() => __pbn__stun_duration = null;
        private float? __pbn__stun_duration;

        [global::ProtoBuf.ProtoMember(17)]
        public float slow_duration
        {
            get => __pbn__slow_duration.GetValueOrDefault();
            set => __pbn__slow_duration = value;
        }
        public bool ShouldSerializeslow_duration() => __pbn__slow_duration != null;
        public void Resetslow_duration() => __pbn__slow_duration = null;
        private float? __pbn__slow_duration;

        [global::ProtoBuf.ProtoMember(18)]
        public bool is_ability_toggle_on
        {
            get => __pbn__is_ability_toggle_on.GetValueOrDefault();
            set => __pbn__is_ability_toggle_on = value;
        }
        public bool ShouldSerializeis_ability_toggle_on() => __pbn__is_ability_toggle_on != null;
        public void Resetis_ability_toggle_on() => __pbn__is_ability_toggle_on = null;
        private bool? __pbn__is_ability_toggle_on;

        [global::ProtoBuf.ProtoMember(19)]
        public bool is_ability_toggle_off
        {
            get => __pbn__is_ability_toggle_off.GetValueOrDefault();
            set => __pbn__is_ability_toggle_off = value;
        }
        public bool ShouldSerializeis_ability_toggle_off() => __pbn__is_ability_toggle_off != null;
        public void Resetis_ability_toggle_off() => __pbn__is_ability_toggle_off = null;
        private bool? __pbn__is_ability_toggle_off;

        [global::ProtoBuf.ProtoMember(20)]
        public uint ability_level
        {
            get => __pbn__ability_level.GetValueOrDefault();
            set => __pbn__ability_level = value;
        }
        public bool ShouldSerializeability_level() => __pbn__ability_level != null;
        public void Resetability_level() => __pbn__ability_level = null;
        private uint? __pbn__ability_level;

        [global::ProtoBuf.ProtoMember(21)]
        public float location_x
        {
            get => __pbn__location_x.GetValueOrDefault();
            set => __pbn__location_x = value;
        }
        public bool ShouldSerializelocation_x() => __pbn__location_x != null;
        public void Resetlocation_x() => __pbn__location_x = null;
        private float? __pbn__location_x;

        [global::ProtoBuf.ProtoMember(22)]
        public float location_y
        {
            get => __pbn__location_y.GetValueOrDefault();
            set => __pbn__location_y = value;
        }
        public bool ShouldSerializelocation_y() => __pbn__location_y != null;
        public void Resetlocation_y() => __pbn__location_y = null;
        private float? __pbn__location_y;

        [global::ProtoBuf.ProtoMember(23)]
        public uint gold_reason
        {
            get => __pbn__gold_reason.GetValueOrDefault();
            set => __pbn__gold_reason = value;
        }
        public bool ShouldSerializegold_reason() => __pbn__gold_reason != null;
        public void Resetgold_reason() => __pbn__gold_reason = null;
        private uint? __pbn__gold_reason;

        [global::ProtoBuf.ProtoMember(24)]
        public float timestamp_raw
        {
            get => __pbn__timestamp_raw.GetValueOrDefault();
            set => __pbn__timestamp_raw = value;
        }
        public bool ShouldSerializetimestamp_raw() => __pbn__timestamp_raw != null;
        public void Resettimestamp_raw() => __pbn__timestamp_raw = null;
        private float? __pbn__timestamp_raw;

        [global::ProtoBuf.ProtoMember(25)]
        public float modifier_duration
        {
            get => __pbn__modifier_duration.GetValueOrDefault();
            set => __pbn__modifier_duration = value;
        }
        public bool ShouldSerializemodifier_duration() => __pbn__modifier_duration != null;
        public void Resetmodifier_duration() => __pbn__modifier_duration = null;
        private float? __pbn__modifier_duration;

        [global::ProtoBuf.ProtoMember(26)]
        public uint xp_reason
        {
            get => __pbn__xp_reason.GetValueOrDefault();
            set => __pbn__xp_reason = value;
        }
        public bool ShouldSerializexp_reason() => __pbn__xp_reason != null;
        public void Resetxp_reason() => __pbn__xp_reason = null;
        private uint? __pbn__xp_reason;

        [global::ProtoBuf.ProtoMember(27)]
        public uint last_hits
        {
            get => __pbn__last_hits.GetValueOrDefault();
            set => __pbn__last_hits = value;
        }
        public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
        public void Resetlast_hits() => __pbn__last_hits = null;
        private uint? __pbn__last_hits;

        [global::ProtoBuf.ProtoMember(28)]
        public uint attacker_team
        {
            get => __pbn__attacker_team.GetValueOrDefault();
            set => __pbn__attacker_team = value;
        }
        public bool ShouldSerializeattacker_team() => __pbn__attacker_team != null;
        public void Resetattacker_team() => __pbn__attacker_team = null;
        private uint? __pbn__attacker_team;

        [global::ProtoBuf.ProtoMember(29)]
        public uint target_team
        {
            get => __pbn__target_team.GetValueOrDefault();
            set => __pbn__target_team = value;
        }
        public bool ShouldSerializetarget_team() => __pbn__target_team != null;
        public void Resettarget_team() => __pbn__target_team = null;
        private uint? __pbn__target_team;

        [global::ProtoBuf.ProtoMember(30)]
        public uint obs_wards_placed
        {
            get => __pbn__obs_wards_placed.GetValueOrDefault();
            set => __pbn__obs_wards_placed = value;
        }
        public bool ShouldSerializeobs_wards_placed() => __pbn__obs_wards_placed != null;
        public void Resetobs_wards_placed() => __pbn__obs_wards_placed = null;
        private uint? __pbn__obs_wards_placed;

        [global::ProtoBuf.ProtoMember(31)]
        public uint assist_player0
        {
            get => __pbn__assist_player0.GetValueOrDefault();
            set => __pbn__assist_player0 = value;
        }
        public bool ShouldSerializeassist_player0() => __pbn__assist_player0 != null;
        public void Resetassist_player0() => __pbn__assist_player0 = null;
        private uint? __pbn__assist_player0;

        [global::ProtoBuf.ProtoMember(32)]
        public uint assist_player1
        {
            get => __pbn__assist_player1.GetValueOrDefault();
            set => __pbn__assist_player1 = value;
        }
        public bool ShouldSerializeassist_player1() => __pbn__assist_player1 != null;
        public void Resetassist_player1() => __pbn__assist_player1 = null;
        private uint? __pbn__assist_player1;

        [global::ProtoBuf.ProtoMember(33)]
        public uint assist_player2
        {
            get => __pbn__assist_player2.GetValueOrDefault();
            set => __pbn__assist_player2 = value;
        }
        public bool ShouldSerializeassist_player2() => __pbn__assist_player2 != null;
        public void Resetassist_player2() => __pbn__assist_player2 = null;
        private uint? __pbn__assist_player2;

        [global::ProtoBuf.ProtoMember(34)]
        public uint assist_player3
        {
            get => __pbn__assist_player3.GetValueOrDefault();
            set => __pbn__assist_player3 = value;
        }
        public bool ShouldSerializeassist_player3() => __pbn__assist_player3 != null;
        public void Resetassist_player3() => __pbn__assist_player3 = null;
        private uint? __pbn__assist_player3;

        [global::ProtoBuf.ProtoMember(35)]
        public uint stack_count
        {
            get => __pbn__stack_count.GetValueOrDefault();
            set => __pbn__stack_count = value;
        }
        public bool ShouldSerializestack_count() => __pbn__stack_count != null;
        public void Resetstack_count() => __pbn__stack_count = null;
        private uint? __pbn__stack_count;

        [global::ProtoBuf.ProtoMember(36)]
        public bool hidden_modifier
        {
            get => __pbn__hidden_modifier.GetValueOrDefault();
            set => __pbn__hidden_modifier = value;
        }
        public bool ShouldSerializehidden_modifier() => __pbn__hidden_modifier != null;
        public void Resethidden_modifier() => __pbn__hidden_modifier = null;
        private bool? __pbn__hidden_modifier;

        [global::ProtoBuf.ProtoMember(37)]
        public bool is_target_building
        {
            get => __pbn__is_target_building.GetValueOrDefault();
            set => __pbn__is_target_building = value;
        }
        public bool ShouldSerializeis_target_building() => __pbn__is_target_building != null;
        public void Resetis_target_building() => __pbn__is_target_building = null;
        private bool? __pbn__is_target_building;

        [global::ProtoBuf.ProtoMember(38)]
        public uint neutral_camp_type
        {
            get => __pbn__neutral_camp_type.GetValueOrDefault();
            set => __pbn__neutral_camp_type = value;
        }
        public bool ShouldSerializeneutral_camp_type() => __pbn__neutral_camp_type != null;
        public void Resetneutral_camp_type() => __pbn__neutral_camp_type = null;
        private uint? __pbn__neutral_camp_type;

        [global::ProtoBuf.ProtoMember(39)]
        public uint rune_type
        {
            get => __pbn__rune_type.GetValueOrDefault();
            set => __pbn__rune_type = value;
        }
        public bool ShouldSerializerune_type() => __pbn__rune_type != null;
        public void Resetrune_type() => __pbn__rune_type = null;
        private uint? __pbn__rune_type;

        [global::ProtoBuf.ProtoMember(40)]
        public global::System.Collections.Generic.List<int> assist_players { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(41)]
        public bool is_heal_save
        {
            get => __pbn__is_heal_save.GetValueOrDefault();
            set => __pbn__is_heal_save = value;
        }
        public bool ShouldSerializeis_heal_save() => __pbn__is_heal_save != null;
        public void Resetis_heal_save() => __pbn__is_heal_save = null;
        private bool? __pbn__is_heal_save;

        [global::ProtoBuf.ProtoMember(42)]
        public bool is_ultimate_ability
        {
            get => __pbn__is_ultimate_ability.GetValueOrDefault();
            set => __pbn__is_ultimate_ability = value;
        }
        public bool ShouldSerializeis_ultimate_ability() => __pbn__is_ultimate_ability != null;
        public void Resetis_ultimate_ability() => __pbn__is_ultimate_ability = null;
        private bool? __pbn__is_ultimate_ability;

        [global::ProtoBuf.ProtoMember(43)]
        public uint attacker_hero_level
        {
            get => __pbn__attacker_hero_level.GetValueOrDefault();
            set => __pbn__attacker_hero_level = value;
        }
        public bool ShouldSerializeattacker_hero_level() => __pbn__attacker_hero_level != null;
        public void Resetattacker_hero_level() => __pbn__attacker_hero_level = null;
        private uint? __pbn__attacker_hero_level;

        [global::ProtoBuf.ProtoMember(44)]
        public uint target_hero_level
        {
            get => __pbn__target_hero_level.GetValueOrDefault();
            set => __pbn__target_hero_level = value;
        }
        public bool ShouldSerializetarget_hero_level() => __pbn__target_hero_level != null;
        public void Resettarget_hero_level() => __pbn__target_hero_level = null;
        private uint? __pbn__target_hero_level;

        [global::ProtoBuf.ProtoMember(45)]
        public uint xpm
        {
            get => __pbn__xpm.GetValueOrDefault();
            set => __pbn__xpm = value;
        }
        public bool ShouldSerializexpm() => __pbn__xpm != null;
        public void Resetxpm() => __pbn__xpm = null;
        private uint? __pbn__xpm;

        [global::ProtoBuf.ProtoMember(46)]
        public uint gpm
        {
            get => __pbn__gpm.GetValueOrDefault();
            set => __pbn__gpm = value;
        }
        public bool ShouldSerializegpm() => __pbn__gpm != null;
        public void Resetgpm() => __pbn__gpm = null;
        private uint? __pbn__gpm;

        [global::ProtoBuf.ProtoMember(47)]
        public uint event_location
        {
            get => __pbn__event_location.GetValueOrDefault();
            set => __pbn__event_location = value;
        }
        public bool ShouldSerializeevent_location() => __pbn__event_location != null;
        public void Resetevent_location() => __pbn__event_location = null;
        private uint? __pbn__event_location;

        [global::ProtoBuf.ProtoMember(48)]
        public bool target_is_self
        {
            get => __pbn__target_is_self.GetValueOrDefault();
            set => __pbn__target_is_self = value;
        }
        public bool ShouldSerializetarget_is_self() => __pbn__target_is_self != null;
        public void Resettarget_is_self() => __pbn__target_is_self = null;
        private bool? __pbn__target_is_self;

        [global::ProtoBuf.ProtoMember(49)]
        public uint damage_type
        {
            get => __pbn__damage_type.GetValueOrDefault();
            set => __pbn__damage_type = value;
        }
        public bool ShouldSerializedamage_type() => __pbn__damage_type != null;
        public void Resetdamage_type() => __pbn__damage_type = null;
        private uint? __pbn__damage_type;

        [global::ProtoBuf.ProtoMember(50)]
        public bool invisibility_modifier
        {
            get => __pbn__invisibility_modifier.GetValueOrDefault();
            set => __pbn__invisibility_modifier = value;
        }
        public bool ShouldSerializeinvisibility_modifier() => __pbn__invisibility_modifier != null;
        public void Resetinvisibility_modifier() => __pbn__invisibility_modifier = null;
        private bool? __pbn__invisibility_modifier;

        [global::ProtoBuf.ProtoMember(51)]
        public uint damage_category
        {
            get => __pbn__damage_category.GetValueOrDefault();
            set => __pbn__damage_category = value;
        }
        public bool ShouldSerializedamage_category() => __pbn__damage_category != null;
        public void Resetdamage_category() => __pbn__damage_category = null;
        private uint? __pbn__damage_category;

        [global::ProtoBuf.ProtoMember(52)]
        public uint networth
        {
            get => __pbn__networth.GetValueOrDefault();
            set => __pbn__networth = value;
        }
        public bool ShouldSerializenetworth() => __pbn__networth != null;
        public void Resetnetworth() => __pbn__networth = null;
        private uint? __pbn__networth;

        [global::ProtoBuf.ProtoMember(53)]
        public uint building_type
        {
            get => __pbn__building_type.GetValueOrDefault();
            set => __pbn__building_type = value;
        }
        public bool ShouldSerializebuilding_type() => __pbn__building_type != null;
        public void Resetbuilding_type() => __pbn__building_type = null;
        private uint? __pbn__building_type;

        [global::ProtoBuf.ProtoMember(54)]
        public float modifier_elapsed_duration
        {
            get => __pbn__modifier_elapsed_duration.GetValueOrDefault();
            set => __pbn__modifier_elapsed_duration = value;
        }
        public bool ShouldSerializemodifier_elapsed_duration() => __pbn__modifier_elapsed_duration != null;
        public void Resetmodifier_elapsed_duration() => __pbn__modifier_elapsed_duration = null;
        private float? __pbn__modifier_elapsed_duration;

        [global::ProtoBuf.ProtoMember(55)]
        public bool silence_modifier
        {
            get => __pbn__silence_modifier.GetValueOrDefault();
            set => __pbn__silence_modifier = value;
        }
        public bool ShouldSerializesilence_modifier() => __pbn__silence_modifier != null;
        public void Resetsilence_modifier() => __pbn__silence_modifier = null;
        private bool? __pbn__silence_modifier;

        [global::ProtoBuf.ProtoMember(56)]
        public bool heal_from_lifesteal
        {
            get => __pbn__heal_from_lifesteal.GetValueOrDefault();
            set => __pbn__heal_from_lifesteal = value;
        }
        public bool ShouldSerializeheal_from_lifesteal() => __pbn__heal_from_lifesteal != null;
        public void Resetheal_from_lifesteal() => __pbn__heal_from_lifesteal = null;
        private bool? __pbn__heal_from_lifesteal;

        [global::ProtoBuf.ProtoMember(57)]
        public bool modifier_purged
        {
            get => __pbn__modifier_purged.GetValueOrDefault();
            set => __pbn__modifier_purged = value;
        }
        public bool ShouldSerializemodifier_purged() => __pbn__modifier_purged != null;
        public void Resetmodifier_purged() => __pbn__modifier_purged = null;
        private bool? __pbn__modifier_purged;

        [global::ProtoBuf.ProtoMember(58)]
        public bool spell_evaded
        {
            get => __pbn__spell_evaded.GetValueOrDefault();
            set => __pbn__spell_evaded = value;
        }
        public bool ShouldSerializespell_evaded() => __pbn__spell_evaded != null;
        public void Resetspell_evaded() => __pbn__spell_evaded = null;
        private bool? __pbn__spell_evaded;

        [global::ProtoBuf.ProtoMember(59)]
        public bool motion_controller_modifier
        {
            get => __pbn__motion_controller_modifier.GetValueOrDefault();
            set => __pbn__motion_controller_modifier = value;
        }
        public bool ShouldSerializemotion_controller_modifier() => __pbn__motion_controller_modifier != null;
        public void Resetmotion_controller_modifier() => __pbn__motion_controller_modifier = null;
        private bool? __pbn__motion_controller_modifier;

        [global::ProtoBuf.ProtoMember(60)]
        public bool long_range_kill
        {
            get => __pbn__long_range_kill.GetValueOrDefault();
            set => __pbn__long_range_kill = value;
        }
        public bool ShouldSerializelong_range_kill() => __pbn__long_range_kill != null;
        public void Resetlong_range_kill() => __pbn__long_range_kill = null;
        private bool? __pbn__long_range_kill;

        [global::ProtoBuf.ProtoMember(61)]
        public uint modifier_purge_ability
        {
            get => __pbn__modifier_purge_ability.GetValueOrDefault();
            set => __pbn__modifier_purge_ability = value;
        }
        public bool ShouldSerializemodifier_purge_ability() => __pbn__modifier_purge_ability != null;
        public void Resetmodifier_purge_ability() => __pbn__modifier_purge_ability = null;
        private uint? __pbn__modifier_purge_ability;

        [global::ProtoBuf.ProtoMember(62)]
        public uint modifier_purge_npc
        {
            get => __pbn__modifier_purge_npc.GetValueOrDefault();
            set => __pbn__modifier_purge_npc = value;
        }
        public bool ShouldSerializemodifier_purge_npc() => __pbn__modifier_purge_npc != null;
        public void Resetmodifier_purge_npc() => __pbn__modifier_purge_npc = null;
        private uint? __pbn__modifier_purge_npc;

        [global::ProtoBuf.ProtoMember(63)]
        public bool root_modifier
        {
            get => __pbn__root_modifier.GetValueOrDefault();
            set => __pbn__root_modifier = value;
        }
        public bool ShouldSerializeroot_modifier() => __pbn__root_modifier != null;
        public void Resetroot_modifier() => __pbn__root_modifier = null;
        private bool? __pbn__root_modifier;

        [global::ProtoBuf.ProtoMember(64)]
        public uint total_unit_death_count
        {
            get => __pbn__total_unit_death_count.GetValueOrDefault();
            set => __pbn__total_unit_death_count = value;
        }
        public bool ShouldSerializetotal_unit_death_count() => __pbn__total_unit_death_count != null;
        public void Resettotal_unit_death_count() => __pbn__total_unit_death_count = null;
        private uint? __pbn__total_unit_death_count;

        [global::ProtoBuf.ProtoMember(65)]
        public bool aura_modifier
        {
            get => __pbn__aura_modifier.GetValueOrDefault();
            set => __pbn__aura_modifier = value;
        }
        public bool ShouldSerializeaura_modifier() => __pbn__aura_modifier != null;
        public void Resetaura_modifier() => __pbn__aura_modifier = null;
        private bool? __pbn__aura_modifier;

        [global::ProtoBuf.ProtoMember(66)]
        public bool armor_debuff_modifier
        {
            get => __pbn__armor_debuff_modifier.GetValueOrDefault();
            set => __pbn__armor_debuff_modifier = value;
        }
        public bool ShouldSerializearmor_debuff_modifier() => __pbn__armor_debuff_modifier != null;
        public void Resetarmor_debuff_modifier() => __pbn__armor_debuff_modifier = null;
        private bool? __pbn__armor_debuff_modifier;

        [global::ProtoBuf.ProtoMember(67)]
        public bool no_physical_damage_modifier
        {
            get => __pbn__no_physical_damage_modifier.GetValueOrDefault();
            set => __pbn__no_physical_damage_modifier = value;
        }
        public bool ShouldSerializeno_physical_damage_modifier() => __pbn__no_physical_damage_modifier != null;
        public void Resetno_physical_damage_modifier() => __pbn__no_physical_damage_modifier = null;
        private bool? __pbn__no_physical_damage_modifier;

        [global::ProtoBuf.ProtoMember(68)]
        public uint modifier_ability
        {
            get => __pbn__modifier_ability.GetValueOrDefault();
            set => __pbn__modifier_ability = value;
        }
        public bool ShouldSerializemodifier_ability() => __pbn__modifier_ability != null;
        public void Resetmodifier_ability() => __pbn__modifier_ability = null;
        private uint? __pbn__modifier_ability;

        [global::ProtoBuf.ProtoMember(69)]
        public bool modifier_hidden
        {
            get => __pbn__modifier_hidden.GetValueOrDefault();
            set => __pbn__modifier_hidden = value;
        }
        public bool ShouldSerializemodifier_hidden() => __pbn__modifier_hidden != null;
        public void Resetmodifier_hidden() => __pbn__modifier_hidden = null;
        private bool? __pbn__modifier_hidden;

        [global::ProtoBuf.ProtoMember(70)]
        public bool inflictor_is_stolen_ability
        {
            get => __pbn__inflictor_is_stolen_ability.GetValueOrDefault();
            set => __pbn__inflictor_is_stolen_ability = value;
        }
        public bool ShouldSerializeinflictor_is_stolen_ability() => __pbn__inflictor_is_stolen_ability != null;
        public void Resetinflictor_is_stolen_ability() => __pbn__inflictor_is_stolen_ability = null;
        private bool? __pbn__inflictor_is_stolen_ability;

        [global::ProtoBuf.ProtoMember(71)]
        public uint kill_eater_event
        {
            get => __pbn__kill_eater_event.GetValueOrDefault();
            set => __pbn__kill_eater_event = value;
        }
        public bool ShouldSerializekill_eater_event() => __pbn__kill_eater_event != null;
        public void Resetkill_eater_event() => __pbn__kill_eater_event = null;
        private uint? __pbn__kill_eater_event;

        [global::ProtoBuf.ProtoMember(72)]
        public uint unit_status_label
        {
            get => __pbn__unit_status_label.GetValueOrDefault();
            set => __pbn__unit_status_label = value;
        }
        public bool ShouldSerializeunit_status_label() => __pbn__unit_status_label != null;
        public void Resetunit_status_label() => __pbn__unit_status_label = null;
        private uint? __pbn__unit_status_label;

        [global::ProtoBuf.ProtoMember(73)]
        public bool spell_generated_attack
        {
            get => __pbn__spell_generated_attack.GetValueOrDefault();
            set => __pbn__spell_generated_attack = value;
        }
        public bool ShouldSerializespell_generated_attack() => __pbn__spell_generated_attack != null;
        public void Resetspell_generated_attack() => __pbn__spell_generated_attack = null;
        private bool? __pbn__spell_generated_attack;

        [global::ProtoBuf.ProtoMember(74)]
        public bool at_night_time
        {
            get => __pbn__at_night_time.GetValueOrDefault();
            set => __pbn__at_night_time = value;
        }
        public bool ShouldSerializeat_night_time() => __pbn__at_night_time != null;
        public void Resetat_night_time() => __pbn__at_night_time = null;
        private bool? __pbn__at_night_time;

        [global::ProtoBuf.ProtoMember(75)]
        public bool attacker_has_scepter
        {
            get => __pbn__attacker_has_scepter.GetValueOrDefault();
            set => __pbn__attacker_has_scepter = value;
        }
        public bool ShouldSerializeattacker_has_scepter() => __pbn__attacker_has_scepter != null;
        public void Resetattacker_has_scepter() => __pbn__attacker_has_scepter = null;
        private bool? __pbn__attacker_has_scepter;

        [global::ProtoBuf.ProtoMember(76)]
        public uint neutral_camp_team
        {
            get => __pbn__neutral_camp_team.GetValueOrDefault();
            set => __pbn__neutral_camp_team = value;
        }
        public bool ShouldSerializeneutral_camp_team() => __pbn__neutral_camp_team != null;
        public void Resetneutral_camp_team() => __pbn__neutral_camp_team = null;
        private uint? __pbn__neutral_camp_team;

        [global::ProtoBuf.ProtoMember(77)]
        public float regenerated_health
        {
            get => __pbn__regenerated_health.GetValueOrDefault();
            set => __pbn__regenerated_health = value;
        }
        public bool ShouldSerializeregenerated_health() => __pbn__regenerated_health != null;
        public void Resetregenerated_health() => __pbn__regenerated_health = null;
        private float? __pbn__regenerated_health;

        [global::ProtoBuf.ProtoMember(78)]
        public bool will_reincarnate
        {
            get => __pbn__will_reincarnate.GetValueOrDefault();
            set => __pbn__will_reincarnate = value;
        }
        public bool ShouldSerializewill_reincarnate() => __pbn__will_reincarnate != null;
        public void Resetwill_reincarnate() => __pbn__will_reincarnate = null;
        private bool? __pbn__will_reincarnate;

        [global::ProtoBuf.ProtoMember(79)]
        public bool uses_charges
        {
            get => __pbn__uses_charges.GetValueOrDefault();
            set => __pbn__uses_charges = value;
        }
        public bool ShouldSerializeuses_charges() => __pbn__uses_charges != null;
        public void Resetuses_charges() => __pbn__uses_charges = null;
        private bool? __pbn__uses_charges;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPendingEventAward : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint action_id
        {
            get => __pbn__action_id.GetValueOrDefault();
            set => __pbn__action_id = value;
        }
        public bool ShouldSerializeaction_id() => __pbn__action_id != null;
        public void Resetaction_id() => __pbn__action_id = null;
        private uint? __pbn__action_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint num_to_grant
        {
            get => __pbn__num_to_grant.GetValueOrDefault();
            set => __pbn__num_to_grant = value;
        }
        public bool ShouldSerializenum_to_grant() => __pbn__num_to_grant != null;
        public void Resetnum_to_grant() => __pbn__num_to_grant = null;
        private uint? __pbn__num_to_grant;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(EEventActionScoreMode.k_eEventActionScoreMode_Add)]
        public EEventActionScoreMode score_mode
        {
            get => __pbn__score_mode ?? EEventActionScoreMode.k_eEventActionScoreMode_Add;
            set => __pbn__score_mode = value;
        }
        public bool ShouldSerializescore_mode() => __pbn__score_mode != null;
        public void Resetscore_mode() => __pbn__score_mode = null;
        private EEventActionScoreMode? __pbn__score_mode;

        [global::ProtoBuf.ProtoMember(5)]
        public uint audit_action
        {
            get => __pbn__audit_action.GetValueOrDefault();
            set => __pbn__audit_action = value;
        }
        public bool ShouldSerializeaudit_action() => __pbn__audit_action != null;
        public void Resetaudit_action() => __pbn__audit_action = null;
        private uint? __pbn__audit_action;

        [global::ProtoBuf.ProtoMember(6)]
        public ulong audit_data
        {
            get => __pbn__audit_data.GetValueOrDefault();
            set => __pbn__audit_data = value;
        }
        public bool ShouldSerializeaudit_data() => __pbn__audit_data != null;
        public void Resetaudit_data() => __pbn__audit_data = null;
        private ulong? __pbn__audit_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_GameMode
    {
        DOTA_GAMEMODE_NONE = 0,
        DOTA_GAMEMODE_AP = 1,
        DOTA_GAMEMODE_CM = 2,
        DOTA_GAMEMODE_RD = 3,
        DOTA_GAMEMODE_SD = 4,
        DOTA_GAMEMODE_AR = 5,
        DOTA_GAMEMODE_INTRO = 6,
        DOTA_GAMEMODE_HW = 7,
        DOTA_GAMEMODE_REVERSE_CM = 8,
        DOTA_GAMEMODE_XMAS = 9,
        DOTA_GAMEMODE_TUTORIAL = 10,
        DOTA_GAMEMODE_MO = 11,
        DOTA_GAMEMODE_LP = 12,
        DOTA_GAMEMODE_POOL1 = 13,
        DOTA_GAMEMODE_FH = 14,
        DOTA_GAMEMODE_CUSTOM = 15,
        DOTA_GAMEMODE_CD = 16,
        DOTA_GAMEMODE_BD = 17,
        DOTA_GAMEMODE_ABILITY_DRAFT = 18,
        DOTA_GAMEMODE_EVENT = 19,
        DOTA_GAMEMODE_ARDM = 20,
        DOTA_GAMEMODE_1V1MID = 21,
        DOTA_GAMEMODE_ALL_DRAFT = 22,
        DOTA_GAMEMODE_TURBO = 23,
        DOTA_GAMEMODE_MUTATION = 24,
        DOTA_GAMEMODE_COACHES_CHALLENGE = 25,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_GameState
    {
        DOTA_GAMERULES_STATE_INIT = 0,
        DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 1,
        DOTA_GAMERULES_STATE_HERO_SELECTION = 2,
        DOTA_GAMERULES_STATE_STRATEGY_TIME = 3,
        DOTA_GAMERULES_STATE_PRE_GAME = 4,
        DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 5,
        DOTA_GAMERULES_STATE_POST_GAME = 6,
        DOTA_GAMERULES_STATE_DISCONNECT = 7,
        DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 8,
        DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 9,
        DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 10,
        DOTA_GAMERULES_STATE_SCENARIO_SETUP = 11,
        DOTA_GAMERULES_STATE_PLAYER_DRAFT = 12,
        DOTA_GAMERULES_STATE_LAST = 13,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_GC_TEAM
    {
        DOTA_GC_TEAM_GOOD_GUYS = 0,
        DOTA_GC_TEAM_BAD_GUYS = 1,
        DOTA_GC_TEAM_BROADCASTER = 2,
        DOTA_GC_TEAM_SPECTATOR = 3,
        DOTA_GC_TEAM_PLAYER_POOL = 4,
        DOTA_GC_TEAM_NOTEAM = 5,
        DOTA_GC_TEAM_CUSTOM_1 = 6,
        DOTA_GC_TEAM_CUSTOM_2 = 7,
        DOTA_GC_TEAM_CUSTOM_3 = 8,
        DOTA_GC_TEAM_CUSTOM_4 = 9,
        DOTA_GC_TEAM_CUSTOM_5 = 10,
        DOTA_GC_TEAM_CUSTOM_6 = 11,
        DOTA_GC_TEAM_CUSTOM_7 = 12,
        DOTA_GC_TEAM_CUSTOM_8 = 13,
        DOTA_GC_TEAM_NEUTRALS = 14,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EEvent
    {
        EVENT_ID_NONE = 0,
        EVENT_ID_DIRETIDE = 1,
        EVENT_ID_SPRING_FESTIVAL = 2,
        EVENT_ID_FROSTIVUS_2013 = 3,
        EVENT_ID_COMPENDIUM_2014 = 4,
        EVENT_ID_NEXON_PC_BANG = 5,
        EVENT_ID_PWRD_DAC_2015 = 6,
        EVENT_ID_NEW_BLOOM_2015 = 7,
        EVENT_ID_INTERNATIONAL_2015 = 8,
        EVENT_ID_FALL_MAJOR_2015 = 9,
        EVENT_ID_ORACLE_PA = 10,
        EVENT_ID_NEW_BLOOM_2015_PREBEAST = 11,
        EVENT_ID_FROSTIVUS = 12,
        EVENT_ID_WINTER_MAJOR_2016 = 13,
        EVENT_ID_INTERNATIONAL_2016 = 14,
        EVENT_ID_FALL_MAJOR_2016 = 15,
        EVENT_ID_WINTER_MAJOR_2017 = 16,
        EVENT_ID_NEW_BLOOM_2017 = 17,
        EVENT_ID_INTERNATIONAL_2017 = 18,
        EVENT_ID_PLUS_SUBSCRIPTION = 19,
        EVENT_ID_SINGLES_DAY_2017 = 20,
        EVENT_ID_FROSTIVUS_2017 = 21,
        EVENT_ID_INTERNATIONAL_2018 = 22,
        EVENT_ID_FROSTIVUS_2018 = 23,
        EVENT_ID_NEW_BLOOM_2019 = 24,
        EVENT_ID_INTERNATIONAL_2019 = 25,
        EVENT_ID_NEW_PLAYER_EXPERIENCE = 26,
        EVENT_ID_FROSTIVUS_2019 = 27,
        EVENT_ID_NEW_BLOOM_2020 = 28,
        EVENT_ID_INTERNATIONAL_2020 = 29,
        EVENT_ID_TEAM_FANDOM = 30,
        EVENT_ID_DIRETIDE_2020 = 31,
        EVENT_ID_SPRING_2021 = 32,
        EVENT_ID_FALL_2021 = 33,
        EVENT_ID_TEAM_FANDOM_FALL_2021 = 34,
        EVENT_ID_TEAM_2021_2022_TOUR2 = 35,
        EVENT_ID_INTERNATIONAL_2022 = 36,
        EVENT_ID_TEAM_2021_2022_TOUR3 = 37,
        EVENT_ID_TEAM_INTERNATIONAL_2022 = 38,
        EVENT_ID_PERMANENT_GRANTS = 39,
        EVENT_ID_MUERTA_RELEASE_SPRING2023 = 40,
        EVENT_ID_TEAM_2023_TOUR1 = 41,
        EVENT_ID_TEAM_2023_TOUR2 = 42,
        EVENT_ID_TEAM_2023_TOUR3 = 43,
        EVENT_ID_INTERNATIONAL_2023 = 45,
        EVENT_ID_10TH_ANNIVERSARY = 46,
        EVENT_ID_CROWNFALL = 47,
        EVENT_ID_FROSTIVUS_2023 = 48,
        EVENT_ID_INTERNATIONAL_2024 = 49,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ERankType
    {
        k_ERankType_Invalid = 0,
        k_ERankType_Casual = 1,
        k_ERankType_Ranked = 2,
        k_ERankType_CasualLegacy = 3,
        k_ERankType_RankedLegacy = 4,
        k_ERankType_CasualGlicko = 5,
        k_ERankType_RankedGlicko = 6,
        k_ERankType_RankMax = 7,
        k_ERankType_BehaviorPrivate = 100,
        k_ERankType_BehaviorPublic = 101,
        k_ERankType_Max = 102,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTALeaverStatus_t
    {
        DOTA_LEAVER_NONE = 0,
        DOTA_LEAVER_DISCONNECTED = 1,
        DOTA_LEAVER_DISCONNECTED_TOO_LONG = 2,
        DOTA_LEAVER_ABANDONED = 3,
        DOTA_LEAVER_AFK = 4,
        DOTA_LEAVER_NEVER_CONNECTED = 5,
        DOTA_LEAVER_NEVER_CONNECTED_TOO_LONG = 6,
        DOTA_LEAVER_FAILED_TO_READY_UP = 7,
        DOTA_LEAVER_DECLINED = 8,
        DOTA_LEAVER_DECLINED_REQUEUE = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTAConnectionState_t
    {
        DOTA_CONNECTION_STATE_UNKNOWN = 0,
        DOTA_CONNECTION_STATE_NOT_YET_CONNECTED = 1,
        DOTA_CONNECTION_STATE_CONNECTED = 2,
        DOTA_CONNECTION_STATE_DISCONNECTED = 3,
        DOTA_CONNECTION_STATE_ABANDONED = 4,
        DOTA_CONNECTION_STATE_LOADING = 5,
        DOTA_CONNECTION_STATE_FAILED = 6,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum Fantasy_Roles
    {
        FANTASY_ROLE_UNDEFINED = 0,
        FANTASY_ROLE_CORE = 1,
        FANTASY_ROLE_SUPPORT = 2,
        FANTASY_ROLE_OFFLANE = 3,
        FANTASY_ROLE_MID = 4,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum Fantasy_Scoring
    {
        FANTASY_SCORING_KILLS = 0,
        FANTASY_SCORING_DEATHS = 1,
        FANTASY_SCORING_CS = 2,
        FANTASY_SCORING_GPM = 3,
        FANTASY_SCORING_TOWER_KILLS = 4,
        FANTASY_SCORING_ROSHAN_KILLS = 5,
        FANTASY_SCORING_TEAMFIGHT_PARTICIPATION = 6,
        FANTASY_SCORING_WARDS_PLANTED = 7,
        FANTASY_SCORING_CAMPS_STACKED = 8,
        FANTASY_SCORING_RUNES_GRABBED = 9,
        FANTASY_SCORING_FIRST_BLOOD = 10,
        FANTASY_SCORING_STUNS = 11,
        FANTASY_SCORING_SMOKES_USED = 12,
        FANTASY_SCORING_NEUTRAL_TOKENS_FOUND = 13,
        FANTASY_SCORING_WATCHERS_TAKEN = 14,
        FANTASY_SCORING_LOTUSES_GAINED = 15,
        FANTASY_SCORING_TORMENTOR_KILLS = 16,
        FANTASY_SCORING_COURIER_KILLS = 17,
        FANTASY_SCORING_TYPES = 18,
        FANTASY_SCORING_INVALID = 19,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum Fantasy_Team_Slots
    {
        FANTASY_SLOT_NONE = 0,
        FANTASY_SLOT_CORE = 1,
        FANTASY_SLOT_SUPPORT = 2,
        FANTASY_SLOT_ANY = 3,
        FANTASY_SLOT_BENCH = 4,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum Fantasy_Selection_Mode
    {
        FANTASY_SELECTION_INVALID = 0,
        FANTASY_SELECTION_LOCKED = 1,
        FANTASY_SELECTION_SHUFFLE = 2,
        FANTASY_SELECTION_FREE_PICK = 3,
        FANTASY_SELECTION_ENDED = 4,
        FANTASY_SELECTION_PRE_SEASON = 5,
        FANTASY_SELECTION_PRE_DRAFT = 6,
        FANTASY_SELECTION_DRAFTING = 7,
        FANTASY_SELECTION_REGULAR_SEASON = 8,
        FANTASY_SELECTION_CARD_BASED = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum Fantasy_Gem_Type
    {
        FANTASY_GEM_TYPE_RUBY = 0,
        FANTASY_GEM_TYPE_SAPPHIRE = 1,
        FANTASY_GEM_TYPE_EMERALD = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTAChatChannelType_t
    {
        DOTAChannelType_Regional = 0,
        DOTAChannelType_Custom = 1,
        DOTAChannelType_Party = 2,
        DOTAChannelType_Lobby = 3,
        DOTAChannelType_Team = 4,
        DOTAChannelType_Guild = 5,
        DOTAChannelType_Fantasy = 6,
        DOTAChannelType_Whisper = 7,
        DOTAChannelType_Console = 8,
        DOTAChannelType_Tab = 9,
        DOTAChannelType_Invalid = 10,
        DOTAChannelType_GameAll = 11,
        DOTAChannelType_GameAllies = 12,
        DOTAChannelType_GameSpectator = 13,
        DOTAChannelType_GameCoaching = 14,
        DOTAChannelType_Cafe = 15,
        DOTAChannelType_CustomGame = 16,
        DOTAChannelType_Private = 17,
        DOTAChannelType_PostGame = 18,
        DOTAChannelType_BattleCup = 19,
        DOTAChannelType_HLTVSpectator = 20,
        DOTAChannelType_GameEvents = 21,
        DOTAChannelType_Trivia = 22,
        DOTAChannelType_NewPlayer = 23,
        DOTAChannelType_PrivateCoaching = 24,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EChatSpecialPrivileges
    {
        k_EChatSpecialPrivileges_None = 0,
        k_EChatSpecialPrivileges_Moderator = 1,
        k_EChatSpecialPrivileges_SuperModerator = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTACommType_t
    {
        DOTA_COMM_TYPE_NONE = 0,
        DOTA_COMM_TYPE_PING = 1,
        DOTA_COMM_TYPE_CHATWHEEL = 2,
        DOTA_COMM_TYPE_TIP = 3,
        DOTA_COMM_TYPE_TEXT = 4,
        DOTA_COMM_TYPE_SHOWCASE = 5,
        DOTA_COMM_TYPE_VOICE = 6,
        DOTA_COMM_TYPE_ALLY_ABILITY = 7,
        DOTA_COMM_TYPE_PAUSE = 8,
        DOTA_COMM_TYPE_COACHING = 9,
        DOTA_COMM_TYPE_NOCOOLDOWN = 10,
        DOTA_COMM_TYPE_RANKEDMATCHMAKE = 11,
        DOTA_COMM_TYPE_DROPS = 12,
        DOTA_COMM_TYPE_NEWPLAYER_EXPERT = 13,
        DOTA_COMM_TYPE_COACHED = 14,
        DOTA_COMM_TYPE_MAPDRAWING = 15,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTACommLevel_t
    {
        DOTA_COMM_LEVEL_NONE = 0,
        DOTA_COMM_LEVEL_COOLDOWN = 1,
        DOTA_COMM_LEVEL_PINGS = 2,
        DOTA_COMM_LEVEL_MAPDRAWING = 3,
        DOTA_COMM_LEVEL_CHAT = 4,
        DOTA_COMM_LEVEL_TIPPING = 5,
        DOTA_COMM_LEVEL_VOICE = 6,
        DOTA_COMM_LEVEL_ALLIED_ABILITY = 7,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTABehaviorLevel_t
    {
        DOTA_BEHAVIOR_LEVEL_NONE = 0,
        DOTA_BEHAVIOR_LEVEL_RANKED_ALLOWED = 1,
        DOTA_BEHAVIOR_LEVEL_PAUSING = 2,
        DOTA_BEHAVIOR_LEVEL_DROPS = 3,
        DOTA_BEHAVIOR_LEVEL_COACHING = 4,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EProfileCardSlotType
    {
        k_EProfileCardSlotType_Empty = 0,
        k_EProfileCardSlotType_Stat = 1,
        k_EProfileCardSlotType_Trophy = 2,
        k_EProfileCardSlotType_Item = 3,
        k_EProfileCardSlotType_Hero = 4,
        k_EProfileCardSlotType_Emoticon = 5,
        k_EProfileCardSlotType_Team = 6,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EMatchGroupServerStatus
    {
        k_EMatchGroupServerStatus_OK = 0,
        k_EMatchGroupServerStatus_LimitedAvailability = 1,
        k_EMatchGroupServerStatus_Offline = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_CM_PICK
    {
        DOTA_CM_RANDOM = 0,
        DOTA_CM_GOOD_GUYS = 1,
        DOTA_CM_BAD_GUYS = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTALowPriorityBanType
    {
        DOTA_LOW_PRIORITY_BAN_ABANDON = 0,
        DOTA_LOW_PRIORITY_BAN_REPORTS = 1,
        DOTA_LOW_PRIORITY_BAN_SECONDARY_ABANDON = 2,
        DOTA_LOW_PRIORITY_BAN_PRE_GAME_ROLE = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTALobbyReadyState
    {
        DOTALobbyReadyState_UNDECLARED = 0,
        DOTALobbyReadyState_ACCEPTED = 1,
        DOTALobbyReadyState_DECLINED = 2,
        DOTALobbyReadyState_DECLINED_REQUEUE = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTAJoinLobbyResult
    {
        DOTA_JOIN_RESULT_SUCCESS = 0,
        DOTA_JOIN_RESULT_ALREADY_IN_GAME = 1,
        DOTA_JOIN_RESULT_INVALID_LOBBY = 2,
        DOTA_JOIN_RESULT_INCORRECT_PASSWORD = 3,
        DOTA_JOIN_RESULT_ACCESS_DENIED = 4,
        DOTA_JOIN_RESULT_GENERIC_ERROR = 5,
        DOTA_JOIN_RESULT_INCORRECT_VERSION = 6,
        DOTA_JOIN_RESULT_IN_TEAM_PARTY = 7,
        DOTA_JOIN_RESULT_NO_LOBBY_FOUND = 8,
        DOTA_JOIN_RESULT_LOBBY_FULL = 9,
        DOTA_JOIN_RESULT_CUSTOM_GAME_INCORRECT_VERSION = 10,
        DOTA_JOIN_RESULT_TIMEOUT = 11,
        DOTA_JOIN_RESULT_CUSTOM_GAME_COOLDOWN = 12,
        DOTA_JOIN_RESULT_BUSY = 13,
        DOTA_JOIN_RESULT_NO_PLAYTIME = 14,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTASelectionPriorityRules
    {
        k_DOTASelectionPriorityRules_Manual = 0,
        k_DOTASelectionPriorityRules_Automatic = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTASelectionPriorityChoice
    {
        k_DOTASelectionPriorityChoice_Invalid = 0,
        k_DOTASelectionPriorityChoice_FirstPick = 1,
        k_DOTASelectionPriorityChoice_SecondPick = 2,
        k_DOTASelectionPriorityChoice_Radiant = 3,
        k_DOTASelectionPriorityChoice_Dire = 4,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTAMatchVote
    {
        DOTAMatchVote_INVALID = 0,
        DOTAMatchVote_POSITIVE = 1,
        DOTAMatchVote_NEGATIVE = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTALobbyVisibility
    {
        DOTALobbyVisibility_Public = 0,
        DOTALobbyVisibility_Friends = 1,
        DOTALobbyVisibility_Unlisted = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDOTAPlayerMMRType
    {
        k_EDOTAPlayerMMRType_Invalid = 0,
        k_EDOTAPlayerMMRType_GeneralHidden = 1,
        k_EDOTAPlayerMMRType_GeneralCompetitive = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDOTAMMRBoostType
    {
        k_EDOTAMMRBoostType_None = 0,
        k_EDOTAMMRBoostType_Leader = 1,
        k_EDOTAMMRBoostType_Follower = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum MatchType
    {
        MATCH_TYPE_CASUAL = 0,
        MATCH_TYPE_COOP_BOTS = 1,
        MATCH_TYPE_COMPETITIVE = 4,
        MATCH_TYPE_WEEKEND_TOURNEY = 5,
        MATCH_TYPE_EVENT = 7,
        MATCH_TYPE_COACHES_CHALLENGE = 12,
        MATCH_TYPE_NEW_PLAYER_POOL = 14,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTABotDifficulty
    {
        BOT_DIFFICULTY_PASSIVE = 0,
        BOT_DIFFICULTY_EASY = 1,
        BOT_DIFFICULTY_MEDIUM = 2,
        BOT_DIFFICULTY_HARD = 3,
        BOT_DIFFICULTY_UNFAIR = 4,
        BOT_DIFFICULTY_INVALID = 5,
        BOT_DIFFICULTY_EXTRA1 = 6,
        BOT_DIFFICULTY_EXTRA2 = 7,
        BOT_DIFFICULTY_EXTRA3 = 8,
        BOT_DIFFICULTY_NPX = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_BOT_MODE
    {
        DOTA_BOT_MODE_NONE = 0,
        DOTA_BOT_MODE_LANING = 1,
        DOTA_BOT_MODE_ATTACK = 2,
        DOTA_BOT_MODE_ROAM = 3,
        DOTA_BOT_MODE_RETREAT = 4,
        DOTA_BOT_MODE_SECRET_SHOP = 5,
        DOTA_BOT_MODE_SIDE_SHOP = 6,
        DOTA_BOT_MODE_RUNE = 7,
        DOTA_BOT_MODE_PUSH_TOWER_TOP = 8,
        DOTA_BOT_MODE_PUSH_TOWER_MID = 9,
        DOTA_BOT_MODE_PUSH_TOWER_BOT = 10,
        DOTA_BOT_MODE_DEFEND_TOWER_TOP = 11,
        DOTA_BOT_MODE_DEFEND_TOWER_MID = 12,
        DOTA_BOT_MODE_DEFEND_TOWER_BOT = 13,
        DOTA_BOT_MODE_ASSEMBLE = 14,
        DOTA_BOT_MODE_ASSEMBLE_WITH_HUMANS = 15,
        DOTA_BOT_MODE_TEAM_ROAM = 16,
        DOTA_BOT_MODE_FARM = 17,
        DOTA_BOT_MODE_DEFEND_ALLY = 18,
        DOTA_BOT_MODE_EVASIVE_MANEUVERS = 19,
        DOTA_BOT_MODE_ROSHAN = 20,
        DOTA_BOT_MODE_ITEM = 21,
        DOTA_BOT_MODE_WARD = 22,
        DOTA_BOT_MODE_COMPANION = 23,
        DOTA_BOT_MODE_TUTORIAL_BOSS = 24,
        DOTA_BOT_MODE_MINION = 25,
        DOTA_BOT_MODE_OUTPOST = 26,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum MatchLanguages
    {
        MATCH_LANGUAGE_INVALID = 0,
        MATCH_LANGUAGE_ENGLISH = 1,
        MATCH_LANGUAGE_RUSSIAN = 2,
        MATCH_LANGUAGE_CHINESE = 3,
        MATCH_LANGUAGE_KOREAN = 4,
        MATCH_LANGUAGE_SPANISH = 5,
        MATCH_LANGUAGE_PORTUGUESE = 6,
        MATCH_LANGUAGE_ENGLISH2 = 7,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ETourneyQueueDeadlineState
    {
        k_ETourneyQueueDeadlineState_Normal = 0,
        k_ETourneyQueueDeadlineState_Missed = 1,
        k_ETourneyQueueDeadlineState_ExpiredOK = 2,
        k_ETourneyQueueDeadlineState_SeekingBye = 3,
        k_ETourneyQueueDeadlineState_EligibleForRefund = 4,
        k_ETourneyQueueDeadlineState_NA = -1,
        k_ETourneyQueueDeadlineState_ExpiringSoon = 101,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EMatchOutcome
    {
        k_EMatchOutcome_Unknown = 0,
        k_EMatchOutcome_RadVictory = 2,
        k_EMatchOutcome_DireVictory = 3,
        k_EMatchOutcome_NeutralVictory = 4,
        k_EMatchOutcome_NoTeamWinner = 5,
        k_EMatchOutcome_Custom1Victory = 6,
        k_EMatchOutcome_Custom2Victory = 7,
        k_EMatchOutcome_Custom3Victory = 8,
        k_EMatchOutcome_Custom4Victory = 9,
        k_EMatchOutcome_Custom5Victory = 10,
        k_EMatchOutcome_Custom6Victory = 11,
        k_EMatchOutcome_Custom7Victory = 12,
        k_EMatchOutcome_Custom8Victory = 13,
        k_EMatchOutcome_NotScored_PoorNetworkConditions = 64,
        k_EMatchOutcome_NotScored_Leaver = 65,
        k_EMatchOutcome_NotScored_ServerCrash = 66,
        k_EMatchOutcome_NotScored_NeverStarted = 67,
        k_EMatchOutcome_NotScored_Canceled = 68,
        k_EMatchOutcome_NotScored_Suspicious = 69,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELaneType
    {
        LANE_TYPE_UNKNOWN = 0,
        LANE_TYPE_SAFE = 1,
        LANE_TYPE_OFF = 2,
        LANE_TYPE_MID = 3,
        LANE_TYPE_JUNGLE = 4,
        LANE_TYPE_ROAM = 5,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EBadgeType
    {
        k_EBadgeType_Invalid = 0,
        k_EBadgeType_TI7_Midweek = 1,
        k_EBadgeType_TI7_Finals = 2,
        k_EBadgeType_TI7_AllEvent = 3,
        k_EBadgeType_TI8_Midweek = 4,
        k_EBadgeType_TI8_Finals = 5,
        k_EBadgeType_TI8_AllEvent = 6,
        k_EBadgeType_TI10 = 7,
        k_EBadgeType_TI11_PlayoffsDay1 = 8,
        k_EBadgeType_TI11_PlayoffsDay2 = 9,
        k_EBadgeType_TI11_PlayoffsDay3 = 10,
        k_EBadgeType_TI11_PlayoffsDay4 = 11,
        k_EBadgeType_TI11_FinalsWeekend = 12,
        k_EBadgeType_TI12_PlayoffsDay1 = 13,
        k_EBadgeType_TI12_PlayoffsDay2 = 14,
        k_EBadgeType_TI12_PlayoffsDay3 = 15,
        k_EBadgeType_TI12_FinalsWeekend = 16,
        k_EBadgeType_TI12_Special = 17,
        k_EBadgeType_TI13_FinalsDay1 = 18,
        k_EBadgeType_TI13_FinalsDay2 = 19,
        k_EBadgeType_TI13_FinalsDay3 = 20,
        k_EBadgeType_TI13_Special = 21,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueStatus
    {
        LEAGUE_STATUS_UNSET = 0,
        LEAGUE_STATUS_UNSUBMITTED = 1,
        LEAGUE_STATUS_SUBMITTED = 2,
        LEAGUE_STATUS_ACCEPTED = 3,
        LEAGUE_STATUS_REJECTED = 4,
        LEAGUE_STATUS_CONCLUDED = 5,
        LEAGUE_STATUS_DELETED = 6,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueRegion
    {
        LEAGUE_REGION_UNSET = 0,
        LEAGUE_REGION_NA = 1,
        LEAGUE_REGION_SA = 2,
        LEAGUE_REGION_WEU = 3,
        LEAGUE_REGION_EEU = 4,
        LEAGUE_REGION_CHINA = 5,
        LEAGUE_REGION_SEA = 6,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueTier
    {
        LEAGUE_TIER_UNSET = 0,
        LEAGUE_TIER_AMATEUR = 1,
        LEAGUE_TIER_PROFESSIONAL = 2,
        LEAGUE_TIER_MINOR = 3,
        LEAGUE_TIER_MAJOR = 4,
        LEAGUE_TIER_INTERNATIONAL = 5,
        LEAGUE_TIER_DPC_QUALIFIER = 6,
        LEAGUE_TIER_DPC_LEAGUE_QUALIFIER = 7,
        LEAGUE_TIER_DPC_LEAGUE = 8,
        LEAGUE_TIER_DPC_LEAGUE_FINALS = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueTierCategory
    {
        LEAGUE_TIER_CATEGORY_AMATEUR = 1,
        LEAGUE_TIER_CATEGORY_PROFESSIONAL = 2,
        LEAGUE_TIER_CATEGORY_DPC = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueDivision
    {
        LEAGUE_DIVISION_UNSET = 0,
        LEAGUE_DIVISION_I = 1,
        LEAGUE_DIVISION_II = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueBroadcastProvider
    {
        LEAGUE_BROADCAST_UNKNOWN = 0,
        LEAGUE_BROADCAST_STEAM = 1,
        LEAGUE_BROADCAST_TWITCH = 2,
        LEAGUE_BROADCAST_YOUTUBE = 3,
        LEAGUE_BROADCAST_OTHER = 100,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeaguePhase
    {
        LEAGUE_PHASE_UNSET = 0,
        LEAGUE_PHASE_REGIONAL_QUALIFIER = 1,
        LEAGUE_PHASE_GROUP_STAGE = 2,
        LEAGUE_PHASE_MAIN_EVENT = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ELeagueAuditAction
    {
        LEAGUE_AUDIT_ACTION_INVALID = 0,
        LEAGUE_AUDIT_ACTION_LEAGUE_CREATE = 1,
        LEAGUE_AUDIT_ACTION_LEAGUE_EDIT = 2,
        LEAGUE_AUDIT_ACTION_LEAGUE_DELETE = 3,
        LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_ADD = 4,
        LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_REVOKE = 5,
        LEAGUE_AUDIT_ACTION_LEAGUE_ADMIN_PROMOTE = 6,
        LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_ADD = 7,
        LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_REMOVE = 8,
        LEAGUE_AUDIT_ACTION_LEAGUE_IMAGE_UPDATED = 9,
        LEAGUE_AUDIT_ACTION_LEAGUE_MESSAGE_ADDED = 10,
        LEAGUE_AUDIT_ACTION_LEAGUE_SUBMITTED = 11,
        LEAGUE_AUDIT_ACTION_LEAGUE_SET_PRIZE_POOL = 12,
        LEAGUE_AUDIT_ACTION_LEAGUE_ADD_PRIZE_POOL_ITEM = 13,
        LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_PRIZE_POOL_ITEM = 14,
        LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_START = 15,
        LEAGUE_AUDIT_ACTION_LEAGUE_MATCH_END = 16,
        LEAGUE_AUDIT_ACTION_LEAGUE_ADD_INVITED_TEAM = 17,
        LEAGUE_AUDIT_ACTION_LEAGUE_REMOVE_INVITED_TEAM = 18,
        LEAGUE_AUDIT_ACTION_LEAGUE_STATUS_CHANGED = 19,
        LEAGUE_AUDIT_ACTION_LEAGUE_STREAM_EDIT = 20,
        LEAGUE_AUDIT_ACTION_LEAGUE_TEAM_SWAP = 21,
        LEAGUE_AUDIT_ACTION_NODEGROUP_CREATE = 100,
        LEAGUE_AUDIT_ACTION_NODEGROUP_DESTROY = 101,
        LEAGUE_AUDIT_ACTION_NODEGROUP_ADD_TEAM = 102,
        LEAGUE_AUDIT_ACTION_NODEGROUP_REMOVE_TEAM = 103,
        LEAGUE_AUDIT_ACTION_NODEGROUP_SET_ADVANCING = 104,
        LEAGUE_AUDIT_ACTION_NODEGROUP_EDIT = 105,
        LEAGUE_AUDIT_ACTION_NODEGROUP_POPULATE = 106,
        LEAGUE_AUDIT_ACTION_NODEGROUP_COMPLETED = 107,
        LEAGUE_AUDIT_ACTION_NODEGROUP_SET_SECONDARY_ADVANCING = 108,
        LEAGUE_AUDIT_ACTION_NODEGROUP_SET_TERTIARY_ADVANCING = 109,
        LEAGUE_AUDIT_ACTION_NODE_CREATE = 200,
        LEAGUE_AUDIT_ACTION_NODE_DESTROY = 201,
        LEAGUE_AUDIT_ACTION_NODE_AUTOCREATE = 202,
        LEAGUE_AUDIT_ACTION_NODE_SET_TEAM = 203,
        LEAGUE_AUDIT_ACTION_NODE_SET_SERIES_ID = 204,
        LEAGUE_AUDIT_ACTION_NODE_SET_ADVANCING = 205,
        LEAGUE_AUDIT_ACTION_NODE_SET_TIME = 206,
        LEAGUE_AUDIT_ACTION_NODE_MATCH_COMPLETED = 207,
        LEAGUE_AUDIT_ACTION_NODE_COMPLETED = 208,
        LEAGUE_AUDIT_ACTION_NODE_EDIT = 209,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum DOTA_COMBATLOG_TYPES
    {
        DOTA_COMBATLOG_INVALID = -1,
        DOTA_COMBATLOG_DAMAGE = 0,
        DOTA_COMBATLOG_HEAL = 1,
        DOTA_COMBATLOG_MODIFIER_ADD = 2,
        DOTA_COMBATLOG_MODIFIER_REMOVE = 3,
        DOTA_COMBATLOG_DEATH = 4,
        DOTA_COMBATLOG_ABILITY = 5,
        DOTA_COMBATLOG_ITEM = 6,
        DOTA_COMBATLOG_LOCATION = 7,
        DOTA_COMBATLOG_GOLD = 8,
        DOTA_COMBATLOG_GAME_STATE = 9,
        DOTA_COMBATLOG_XP = 10,
        DOTA_COMBATLOG_PURCHASE = 11,
        DOTA_COMBATLOG_BUYBACK = 12,
        DOTA_COMBATLOG_ABILITY_TRIGGER = 13,
        DOTA_COMBATLOG_PLAYERSTATS = 14,
        DOTA_COMBATLOG_MULTIKILL = 15,
        DOTA_COMBATLOG_KILLSTREAK = 16,
        DOTA_COMBATLOG_TEAM_BUILDING_KILL = 17,
        DOTA_COMBATLOG_FIRST_BLOOD = 18,
        DOTA_COMBATLOG_MODIFIER_STACK_EVENT = 19,
        DOTA_COMBATLOG_NEUTRAL_CAMP_STACK = 20,
        DOTA_COMBATLOG_PICKUP_RUNE = 21,
        DOTA_COMBATLOG_REVEALED_INVISIBLE = 22,
        DOTA_COMBATLOG_HERO_SAVED = 23,
        DOTA_COMBATLOG_MANA_RESTORED = 24,
        DOTA_COMBATLOG_HERO_LEVELUP = 25,
        DOTA_COMBATLOG_BOTTLE_HEAL_ALLY = 26,
        DOTA_COMBATLOG_ENDGAME_STATS = 27,
        DOTA_COMBATLOG_INTERRUPT_CHANNEL = 28,
        DOTA_COMBATLOG_ALLIED_GOLD = 29,
        DOTA_COMBATLOG_AEGIS_TAKEN = 30,
        DOTA_COMBATLOG_MANA_DAMAGE = 31,
        DOTA_COMBATLOG_PHYSICAL_DAMAGE_PREVENTED = 32,
        DOTA_COMBATLOG_UNIT_SUMMONED = 33,
        DOTA_COMBATLOG_ATTACK_EVADE = 34,
        DOTA_COMBATLOG_TREE_CUT = 35,
        DOTA_COMBATLOG_SUCCESSFUL_SCAN = 36,
        DOTA_COMBATLOG_END_KILLSTREAK = 37,
        DOTA_COMBATLOG_BLOODSTONE_CHARGE = 38,
        DOTA_COMBATLOG_CRITICAL_DAMAGE = 39,
        DOTA_COMBATLOG_SPELL_ABSORB = 40,
        DOTA_COMBATLOG_UNIT_TELEPORTED = 41,
        DOTA_COMBATLOG_KILL_EATER_EVENT = 42,
        DOTA_COMBATLOG_NEUTRAL_ITEM_EARNED = 43,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDPCFavoriteType
    {
        FAVORITE_TYPE_ALL = 0,
        FAVORITE_TYPE_PLAYER = 1,
        FAVORITE_TYPE_TEAM = 2,
        FAVORITE_TYPE_LEAGUE = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EDPCPushNotification
    {
        DPC_PUSH_NOTIFICATION_MATCH_STARTING = 1,
        DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM = 10,
        DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM = 11,
        DPC_PUSH_NOTIFICATION_PLAYER_JOINED_TEAM_AS_COACH = 12,
        DPC_PUSH_NOTIFICATION_PLAYER_LEFT_TEAM_AS_COACH = 13,
        DPC_PUSH_NOTIFICATION_LEAGUE_RESULT = 20,
        DPC_PUSH_NOTIFICATION_PREDICTION_MATCHES_AVAILABLE = 30,
        DPC_PUSH_NOTIFICATION_PREDICTION_RESULT = 31,
        DPC_PUSH_NOTIFICATION_FANTASY_PLAYER_CLEARED = 40,
        DPC_PUSH_NOTIFICATION_FANTASY_DAILY_SUMMARY = 41,
        DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS = 42,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EEventActionScoreMode
    {
        k_eEventActionScoreMode_Add = 0,
        k_eEventActionScoreMode_Min = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EPlayerChallengeHistoryType
    {
        k_EPlayerChallengeHistoryType_Invalid = 0,
        k_EPlayerChallengeHistoryType_KillEater = 1,
        k_EPlayerChallengeHistoryType_DotaPlusRelic = 2,
        k_EPlayerChallengeHistoryType_DotaPlusHeroPlayerChallenge = 3,
        k_EPlayerChallengeHistoryType_InGameEventChallenge = 4,
        k_EPlayerChallengeHistoryType_GuildContract = 5,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EOverwatchReportReason
    {
        k_EOverwatchReportReason_Unknown = 0,
        k_EOverwatchReportReason_Cheating = 1,
        k_EOverwatchReportReason_Feeding = 2,
        k_EOverwatchReportReason_Griefing = 3,
        k_EOverwatchReportReason_Suspicious = 4,
        k_EOverwatchReportReason_AbilityAbuse = 5,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ECandyShopUpgrade
    {
        k_ECandyShopUpgradeInvalid = -1,
        k_ECandyShopUpgrade_InventorySize = 0,
        k_ECandyShopUpgrade_RewardShelf = 1,
        k_ECandyShopUpgrade_ExtraExchangeRecipe = 2,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EItemSuggestPreference
    {
        k_EItemSuggestPreference_None = 0,
        k_EItemSuggestPreference_Liked = 1,
        k_EItemSuggestPreference_Disliked = 2,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
