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

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

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOIDOwner : 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 type
        {
            get => __pbn__type.GetValueOrDefault();
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private uint? __pbn__type;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong id
        {
            get => __pbn__id.GetValueOrDefault();
            set => __pbn__id = value;
        }
        public bool ShouldSerializeid() => __pbn__id != null;
        public void Resetid() => __pbn__id = null;
        private ulong? __pbn__id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOSingleObject : 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 int type_id
        {
            get => __pbn__type_id.GetValueOrDefault();
            set => __pbn__type_id = value;
        }
        public bool ShouldSerializetype_id() => __pbn__type_id != null;
        public void Resettype_id() => __pbn__type_id = null;
        private int? __pbn__type_id;

        [global::ProtoBuf.ProtoMember(3)]
        public byte[] object_data
        {
            get => __pbn__object_data;
            set => __pbn__object_data = value;
        }
        public bool ShouldSerializeobject_data() => __pbn__object_data != null;
        public void Resetobject_data() => __pbn__object_data = null;
        private byte[] __pbn__object_data;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(5)]
        public CMsgSOIDOwner owner_soid { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOMultipleObjects : 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 global::System.Collections.Generic.List<SingleObject> objects_modified { get; } = new global::System.Collections.Generic.List<SingleObject>();

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(6)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class SingleObject : 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 int type_id
            {
                get => __pbn__type_id.GetValueOrDefault();
                set => __pbn__type_id = value;
            }
            public bool ShouldSerializetype_id() => __pbn__type_id != null;
            public void Resettype_id() => __pbn__type_id = null;
            private int? __pbn__type_id;

            [global::ProtoBuf.ProtoMember(2)]
            public byte[] object_data
            {
                get => __pbn__object_data;
                set => __pbn__object_data = value;
            }
            public bool ShouldSerializeobject_data() => __pbn__object_data != null;
            public void Resetobject_data() => __pbn__object_data = null;
            private byte[] __pbn__object_data;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscribed : 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 global::System.Collections.Generic.List<SubscribedType> objects { get; } = new global::System.Collections.Generic.List<SubscribedType>();

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgSOIDOwner owner_soid { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class SubscribedType : 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 int type_id
            {
                get => __pbn__type_id.GetValueOrDefault();
                set => __pbn__type_id = value;
            }
            public bool ShouldSerializetype_id() => __pbn__type_id != null;
            public void Resettype_id() => __pbn__type_id = null;
            private int? __pbn__type_id;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<byte[]> object_data { get; } = new global::System.Collections.Generic.List<byte[]>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheUnsubscribed : 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 CMsgSOIDOwner owner_soid { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscriptionCheck : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgSOIDOwner owner_soid { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheSubscriptionRefresh : 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 CMsgSOIDOwner owner_soid { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheVersion : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgAccountDetails : 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 bool valid
        {
            get => __pbn__valid.GetValueOrDefault();
            set => __pbn__valid = value;
        }
        public bool ShouldSerializevalid() => __pbn__valid != null;
        public void Resetvalid() => __pbn__valid = null;
        private bool? __pbn__valid;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string account_name
        {
            get => __pbn__account_name ?? "";
            set => __pbn__account_name = value;
        }
        public bool ShouldSerializeaccount_name() => __pbn__account_name != null;
        public void Resetaccount_name() => __pbn__account_name = null;
        private string __pbn__account_name;

        [global::ProtoBuf.ProtoMember(4)]
        public bool public_profile
        {
            get => __pbn__public_profile.GetValueOrDefault();
            set => __pbn__public_profile = value;
        }
        public bool ShouldSerializepublic_profile() => __pbn__public_profile != null;
        public void Resetpublic_profile() => __pbn__public_profile = null;
        private bool? __pbn__public_profile;

        [global::ProtoBuf.ProtoMember(5)]
        public bool public_inventory
        {
            get => __pbn__public_inventory.GetValueOrDefault();
            set => __pbn__public_inventory = value;
        }
        public bool ShouldSerializepublic_inventory() => __pbn__public_inventory != null;
        public void Resetpublic_inventory() => __pbn__public_inventory = null;
        private bool? __pbn__public_inventory;

        [global::ProtoBuf.ProtoMember(6)]
        public bool vac_banned
        {
            get => __pbn__vac_banned.GetValueOrDefault();
            set => __pbn__vac_banned = value;
        }
        public bool ShouldSerializevac_banned() => __pbn__vac_banned != null;
        public void Resetvac_banned() => __pbn__vac_banned = null;
        private bool? __pbn__vac_banned;

        [global::ProtoBuf.ProtoMember(7)]
        public bool cyber_cafe
        {
            get => __pbn__cyber_cafe.GetValueOrDefault();
            set => __pbn__cyber_cafe = value;
        }
        public bool ShouldSerializecyber_cafe() => __pbn__cyber_cafe != null;
        public void Resetcyber_cafe() => __pbn__cyber_cafe = null;
        private bool? __pbn__cyber_cafe;

        [global::ProtoBuf.ProtoMember(8)]
        public bool school_account
        {
            get => __pbn__school_account.GetValueOrDefault();
            set => __pbn__school_account = value;
        }
        public bool ShouldSerializeschool_account() => __pbn__school_account != null;
        public void Resetschool_account() => __pbn__school_account = null;
        private bool? __pbn__school_account;

        [global::ProtoBuf.ProtoMember(9)]
        public bool free_trial_account
        {
            get => __pbn__free_trial_account.GetValueOrDefault();
            set => __pbn__free_trial_account = value;
        }
        public bool ShouldSerializefree_trial_account() => __pbn__free_trial_account != null;
        public void Resetfree_trial_account() => __pbn__free_trial_account = null;
        private bool? __pbn__free_trial_account;

        [global::ProtoBuf.ProtoMember(10)]
        public bool subscribed
        {
            get => __pbn__subscribed.GetValueOrDefault();
            set => __pbn__subscribed = value;
        }
        public bool ShouldSerializesubscribed() => __pbn__subscribed != null;
        public void Resetsubscribed() => __pbn__subscribed = null;
        private bool? __pbn__subscribed;

        [global::ProtoBuf.ProtoMember(11)]
        public bool low_violence
        {
            get => __pbn__low_violence.GetValueOrDefault();
            set => __pbn__low_violence = value;
        }
        public bool ShouldSerializelow_violence() => __pbn__low_violence != null;
        public void Resetlow_violence() => __pbn__low_violence = null;
        private bool? __pbn__low_violence;

        [global::ProtoBuf.ProtoMember(12)]
        public bool limited
        {
            get => __pbn__limited.GetValueOrDefault();
            set => __pbn__limited = value;
        }
        public bool ShouldSerializelimited() => __pbn__limited != null;
        public void Resetlimited() => __pbn__limited = null;
        private bool? __pbn__limited;

        [global::ProtoBuf.ProtoMember(13)]
        public bool trusted
        {
            get => __pbn__trusted.GetValueOrDefault();
            set => __pbn__trusted = value;
        }
        public bool ShouldSerializetrusted() => __pbn__trusted != null;
        public void Resettrusted() => __pbn__trusted = null;
        private bool? __pbn__trusted;

        [global::ProtoBuf.ProtoMember(14)]
        public uint package
        {
            get => __pbn__package.GetValueOrDefault();
            set => __pbn__package = value;
        }
        public bool ShouldSerializepackage() => __pbn__package != null;
        public void Resetpackage() => __pbn__package = null;
        private uint? __pbn__package;

        [global::ProtoBuf.ProtoMember(15, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint time_cached
        {
            get => __pbn__time_cached.GetValueOrDefault();
            set => __pbn__time_cached = value;
        }
        public bool ShouldSerializetime_cached() => __pbn__time_cached != null;
        public void Resettime_cached() => __pbn__time_cached = null;
        private uint? __pbn__time_cached;

        [global::ProtoBuf.ProtoMember(16)]
        public bool account_locked
        {
            get => __pbn__account_locked.GetValueOrDefault();
            set => __pbn__account_locked = value;
        }
        public bool ShouldSerializeaccount_locked() => __pbn__account_locked != null;
        public void Resetaccount_locked() => __pbn__account_locked = null;
        private bool? __pbn__account_locked;

        [global::ProtoBuf.ProtoMember(17)]
        public bool community_banned
        {
            get => __pbn__community_banned.GetValueOrDefault();
            set => __pbn__community_banned = value;
        }
        public bool ShouldSerializecommunity_banned() => __pbn__community_banned != null;
        public void Resetcommunity_banned() => __pbn__community_banned = null;
        private bool? __pbn__community_banned;

        [global::ProtoBuf.ProtoMember(18)]
        public bool trade_banned
        {
            get => __pbn__trade_banned.GetValueOrDefault();
            set => __pbn__trade_banned = value;
        }
        public bool ShouldSerializetrade_banned() => __pbn__trade_banned != null;
        public void Resettrade_banned() => __pbn__trade_banned = null;
        private bool? __pbn__trade_banned;

        [global::ProtoBuf.ProtoMember(19)]
        public bool eligible_for_community_market
        {
            get => __pbn__eligible_for_community_market.GetValueOrDefault();
            set => __pbn__eligible_for_community_market = value;
        }
        public bool ShouldSerializeeligible_for_community_market() => __pbn__eligible_for_community_market != null;
        public void Reseteligible_for_community_market() => __pbn__eligible_for_community_market = null;
        private bool? __pbn__eligible_for_community_market;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCMultiplexMessage : 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 msgtype
        {
            get => __pbn__msgtype.GetValueOrDefault();
            set => __pbn__msgtype = value;
        }
        public bool ShouldSerializemsgtype() => __pbn__msgtype != null;
        public void Resetmsgtype() => __pbn__msgtype = null;
        private uint? __pbn__msgtype;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] payload
        {
            get => __pbn__payload;
            set => __pbn__payload = value;
        }
        public bool ShouldSerializepayload() => __pbn__payload != null;
        public void Resetpayload() => __pbn__payload = null;
        private byte[] __pbn__payload;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> steamids { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(4)]
        public bool replytogc
        {
            get => __pbn__replytogc.GetValueOrDefault();
            set => __pbn__replytogc = value;
        }
        public bool ShouldSerializereplytogc() => __pbn__replytogc != null;
        public void Resetreplytogc() => __pbn__replytogc = null;
        private bool? __pbn__replytogc;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCMultiplexMessage_Response : 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 msgtype
        {
            get => __pbn__msgtype.GetValueOrDefault();
            set => __pbn__msgtype = value;
        }
        public bool ShouldSerializemsgtype() => __pbn__msgtype != null;
        public void Resetmsgtype() => __pbn__msgtype = null;
        private uint? __pbn__msgtype;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgMasterAck : 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 dir_index
        {
            get => __pbn__dir_index.GetValueOrDefault();
            set => __pbn__dir_index = value;
        }
        public bool ShouldSerializedir_index() => __pbn__dir_index != null;
        public void Resetdir_index() => __pbn__dir_index = null;
        private uint? __pbn__dir_index;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gc_type
        {
            get => __pbn__gc_type.GetValueOrDefault();
            set => __pbn__gc_type = value;
        }
        public bool ShouldSerializegc_type() => __pbn__gc_type != null;
        public void Resetgc_type() => __pbn__gc_type = null;
        private uint? __pbn__gc_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgMasterAck_Response : 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(2)]
        public int eresult
        {
            get => __pbn__eresult ?? 2;
            set => __pbn__eresult = value;
        }
        public bool ShouldSerializeeresult() => __pbn__eresult != null;
        public void Reseteresult() => __pbn__eresult = null;
        private int? __pbn__eresult;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgMasterStartupComplete : 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.ProtoContract()]
    public partial class CGCToGCMsgRouted : 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 msg_type
        {
            get => __pbn__msg_type.GetValueOrDefault();
            set => __pbn__msg_type = value;
        }
        public bool ShouldSerializemsg_type() => __pbn__msg_type != null;
        public void Resetmsg_type() => __pbn__msg_type = null;
        private uint? __pbn__msg_type;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong sender_id
        {
            get => __pbn__sender_id.GetValueOrDefault();
            set => __pbn__sender_id = value;
        }
        public bool ShouldSerializesender_id() => __pbn__sender_id != null;
        public void Resetsender_id() => __pbn__sender_id = null;
        private ulong? __pbn__sender_id;

        [global::ProtoBuf.ProtoMember(3)]
        public byte[] net_message
        {
            get => __pbn__net_message;
            set => __pbn__net_message = value;
        }
        public bool ShouldSerializenet_message() => __pbn__net_message != null;
        public void Resetnet_message() => __pbn__net_message = null;
        private byte[] __pbn__net_message;

        [global::ProtoBuf.ProtoMember(4)]
        public uint ip
        {
            get => __pbn__ip.GetValueOrDefault();
            set => __pbn__ip = value;
        }
        public bool ShouldSerializeip() => __pbn__ip != null;
        public void Resetip() => __pbn__ip = null;
        private uint? __pbn__ip;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGCToGCMsgRoutedReply : 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 msg_type
        {
            get => __pbn__msg_type.GetValueOrDefault();
            set => __pbn__msg_type = value;
        }
        public bool ShouldSerializemsg_type() => __pbn__msg_type != null;
        public void Resetmsg_type() => __pbn__msg_type = null;
        private uint? __pbn__msg_type;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] net_message
        {
            get => __pbn__net_message;
            set => __pbn__net_message = value;
        }
        public bool ShouldSerializenet_message() => __pbn__net_message != null;
        public void Resetnet_message() => __pbn__net_message = null;
        private byte[] __pbn__net_message;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCUpdateSessionIP : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint ip
        {
            get => __pbn__ip.GetValueOrDefault();
            set => __pbn__ip = value;
        }
        public bool ShouldSerializeip() => __pbn__ip != null;
        public void Resetip() => __pbn__ip = null;
        private uint? __pbn__ip;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCRequestSessionIP : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCRequestSessionIPResponse : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint ip
        {
            get => __pbn__ip.GetValueOrDefault();
            set => __pbn__ip = value;
        }
        public bool ShouldSerializeip() => __pbn__ip != null;
        public void Resetip() => __pbn__ip = null;
        private uint? __pbn__ip;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSOCacheHaveVersion : 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 CMsgSOIDOwner soid { get; set; }

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private ulong? __pbn__version;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientHello : 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 version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgSOCacheHaveVersion> socache_have_versions { get; } = new global::System.Collections.Generic.List<CMsgSOCacheHaveVersion>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint client_session_need
        {
            get => __pbn__client_session_need.GetValueOrDefault();
            set => __pbn__client_session_need = value;
        }
        public bool ShouldSerializeclient_session_need() => __pbn__client_session_need != null;
        public void Resetclient_session_need() => __pbn__client_session_need = null;
        private uint? __pbn__client_session_need;

        [global::ProtoBuf.ProtoMember(4)]
        public uint client_launcher
        {
            get => __pbn__client_launcher.GetValueOrDefault();
            set => __pbn__client_launcher = value;
        }
        public bool ShouldSerializeclient_launcher() => __pbn__client_launcher != null;
        public void Resetclient_launcher() => __pbn__client_launcher = null;
        private uint? __pbn__client_launcher;

        [global::ProtoBuf.ProtoMember(5)]
        public uint partner_srcid
        {
            get => __pbn__partner_srcid.GetValueOrDefault();
            set => __pbn__partner_srcid = value;
        }
        public bool ShouldSerializepartner_srcid() => __pbn__partner_srcid != null;
        public void Resetpartner_srcid() => __pbn__partner_srcid = null;
        private uint? __pbn__partner_srcid;

        [global::ProtoBuf.ProtoMember(6)]
        public uint partner_accountid
        {
            get => __pbn__partner_accountid.GetValueOrDefault();
            set => __pbn__partner_accountid = value;
        }
        public bool ShouldSerializepartner_accountid() => __pbn__partner_accountid != null;
        public void Resetpartner_accountid() => __pbn__partner_accountid = null;
        private uint? __pbn__partner_accountid;

        [global::ProtoBuf.ProtoMember(7)]
        public uint partner_accountflags
        {
            get => __pbn__partner_accountflags.GetValueOrDefault();
            set => __pbn__partner_accountflags = value;
        }
        public bool ShouldSerializepartner_accountflags() => __pbn__partner_accountflags != null;
        public void Resetpartner_accountflags() => __pbn__partner_accountflags = null;
        private uint? __pbn__partner_accountflags;

        [global::ProtoBuf.ProtoMember(8)]
        public uint partner_accountbalance
        {
            get => __pbn__partner_accountbalance.GetValueOrDefault();
            set => __pbn__partner_accountbalance = value;
        }
        public bool ShouldSerializepartner_accountbalance() => __pbn__partner_accountbalance != null;
        public void Resetpartner_accountbalance() => __pbn__partner_accountbalance = null;
        private uint? __pbn__partner_accountbalance;

        [global::ProtoBuf.ProtoMember(9)]
        public uint steam_launcher
        {
            get => __pbn__steam_launcher.GetValueOrDefault();
            set => __pbn__steam_launcher = value;
        }
        public bool ShouldSerializesteam_launcher() => __pbn__steam_launcher != null;
        public void Resetsteam_launcher() => __pbn__steam_launcher = null;
        private uint? __pbn__steam_launcher;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerHello : 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 version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgSOCacheHaveVersion> socache_have_versions { get; } = new global::System.Collections.Generic.List<CMsgSOCacheHaveVersion>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint legacy_client_session_need
        {
            get => __pbn__legacy_client_session_need.GetValueOrDefault();
            set => __pbn__legacy_client_session_need = value;
        }
        public bool ShouldSerializelegacy_client_session_need() => __pbn__legacy_client_session_need != null;
        public void Resetlegacy_client_session_need() => __pbn__legacy_client_session_need = null;
        private uint? __pbn__legacy_client_session_need;

        [global::ProtoBuf.ProtoMember(4)]
        public uint client_launcher
        {
            get => __pbn__client_launcher.GetValueOrDefault();
            set => __pbn__client_launcher = value;
        }
        public bool ShouldSerializeclient_launcher() => __pbn__client_launcher != null;
        public void Resetclient_launcher() => __pbn__client_launcher = null;
        private uint? __pbn__client_launcher;

        [global::ProtoBuf.ProtoMember(6)]
        public byte[] legacy_steamdatagram_routing
        {
            get => __pbn__legacy_steamdatagram_routing;
            set => __pbn__legacy_steamdatagram_routing = value;
        }
        public bool ShouldSerializelegacy_steamdatagram_routing() => __pbn__legacy_steamdatagram_routing != null;
        public void Resetlegacy_steamdatagram_routing() => __pbn__legacy_steamdatagram_routing = null;
        private byte[] __pbn__legacy_steamdatagram_routing;

        [global::ProtoBuf.ProtoMember(7)]
        public uint required_internal_addr
        {
            get => __pbn__required_internal_addr.GetValueOrDefault();
            set => __pbn__required_internal_addr = value;
        }
        public bool ShouldSerializerequired_internal_addr() => __pbn__required_internal_addr != null;
        public void Resetrequired_internal_addr() => __pbn__required_internal_addr = null;
        private uint? __pbn__required_internal_addr;

        [global::ProtoBuf.ProtoMember(8)]
        public byte[] steamdatagram_login
        {
            get => __pbn__steamdatagram_login;
            set => __pbn__steamdatagram_login = value;
        }
        public bool ShouldSerializesteamdatagram_login() => __pbn__steamdatagram_login != null;
        public void Resetsteamdatagram_login() => __pbn__steamdatagram_login = null;
        private byte[] __pbn__steamdatagram_login;

        [global::ProtoBuf.ProtoMember(9)]
        public uint socache_control
        {
            get => __pbn__socache_control.GetValueOrDefault();
            set => __pbn__socache_control = value;
        }
        public bool ShouldSerializesocache_control() => __pbn__socache_control != null;
        public void Resetsocache_control() => __pbn__socache_control = null;
        private uint? __pbn__socache_control;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgClientWelcome : 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 version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public byte[] game_data
        {
            get => __pbn__game_data;
            set => __pbn__game_data = value;
        }
        public bool ShouldSerializegame_data() => __pbn__game_data != null;
        public void Resetgame_data() => __pbn__game_data = null;
        private byte[] __pbn__game_data;

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

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

        [global::ProtoBuf.ProtoMember(5)]
        public Location location { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        public byte[] game_data2
        {
            get => __pbn__game_data2;
            set => __pbn__game_data2 = value;
        }
        public bool ShouldSerializegame_data2() => __pbn__game_data2 != null;
        public void Resetgame_data2() => __pbn__game_data2 = null;
        private byte[] __pbn__game_data2;

        [global::ProtoBuf.ProtoMember(7)]
        public uint rtime32_gc_welcome_timestamp
        {
            get => __pbn__rtime32_gc_welcome_timestamp.GetValueOrDefault();
            set => __pbn__rtime32_gc_welcome_timestamp = value;
        }
        public bool ShouldSerializertime32_gc_welcome_timestamp() => __pbn__rtime32_gc_welcome_timestamp != null;
        public void Resetrtime32_gc_welcome_timestamp() => __pbn__rtime32_gc_welcome_timestamp = null;
        private uint? __pbn__rtime32_gc_welcome_timestamp;

        [global::ProtoBuf.ProtoMember(8)]
        public uint currency
        {
            get => __pbn__currency.GetValueOrDefault();
            set => __pbn__currency = value;
        }
        public bool ShouldSerializecurrency() => __pbn__currency != null;
        public void Resetcurrency() => __pbn__currency = null;
        private uint? __pbn__currency;

        [global::ProtoBuf.ProtoMember(9)]
        public uint balance
        {
            get => __pbn__balance.GetValueOrDefault();
            set => __pbn__balance = value;
        }
        public bool ShouldSerializebalance() => __pbn__balance != null;
        public void Resetbalance() => __pbn__balance = null;
        private uint? __pbn__balance;

        [global::ProtoBuf.ProtoMember(10)]
        [global::System.ComponentModel.DefaultValue("")]
        public string balance_url
        {
            get => __pbn__balance_url ?? "";
            set => __pbn__balance_url = value;
        }
        public bool ShouldSerializebalance_url() => __pbn__balance_url != null;
        public void Resetbalance_url() => __pbn__balance_url = null;
        private string __pbn__balance_url;

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue("")]
        public string txn_country_code
        {
            get => __pbn__txn_country_code ?? "";
            set => __pbn__txn_country_code = value;
        }
        public bool ShouldSerializetxn_country_code() => __pbn__txn_country_code != null;
        public void Resettxn_country_code() => __pbn__txn_country_code = null;
        private string __pbn__txn_country_code;

        [global::ProtoBuf.ProtoContract()]
        public partial class Location : 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 latitude
            {
                get => __pbn__latitude.GetValueOrDefault();
                set => __pbn__latitude = value;
            }
            public bool ShouldSerializelatitude() => __pbn__latitude != null;
            public void Resetlatitude() => __pbn__latitude = null;
            private float? __pbn__latitude;

            [global::ProtoBuf.ProtoMember(2)]
            public float longitude
            {
                get => __pbn__longitude.GetValueOrDefault();
                set => __pbn__longitude = value;
            }
            public bool ShouldSerializelongitude() => __pbn__longitude != null;
            public void Resetlongitude() => __pbn__longitude = null;
            private float? __pbn__longitude;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string country
            {
                get => __pbn__country ?? "";
                set => __pbn__country = value;
            }
            public bool ShouldSerializecountry() => __pbn__country != null;
            public void Resetcountry() => __pbn__country = null;
            private string __pbn__country;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgConnectionStatus : 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(GCConnectionStatus.GCConnectionStatus_HAVE_SESSION)]
        public GCConnectionStatus status
        {
            get => __pbn__status ?? GCConnectionStatus.GCConnectionStatus_HAVE_SESSION;
            set => __pbn__status = value;
        }
        public bool ShouldSerializestatus() => __pbn__status != null;
        public void Resetstatus() => __pbn__status = null;
        private GCConnectionStatus? __pbn__status;

        [global::ProtoBuf.ProtoMember(2)]
        public uint client_session_need
        {
            get => __pbn__client_session_need.GetValueOrDefault();
            set => __pbn__client_session_need = value;
        }
        public bool ShouldSerializeclient_session_need() => __pbn__client_session_need != null;
        public void Resetclient_session_need() => __pbn__client_session_need = null;
        private uint? __pbn__client_session_need;

        [global::ProtoBuf.ProtoMember(3)]
        public int queue_position
        {
            get => __pbn__queue_position.GetValueOrDefault();
            set => __pbn__queue_position = value;
        }
        public bool ShouldSerializequeue_position() => __pbn__queue_position != null;
        public void Resetqueue_position() => __pbn__queue_position = null;
        private int? __pbn__queue_position;

        [global::ProtoBuf.ProtoMember(4)]
        public int queue_size
        {
            get => __pbn__queue_size.GetValueOrDefault();
            set => __pbn__queue_size = value;
        }
        public bool ShouldSerializequeue_size() => __pbn__queue_size != null;
        public void Resetqueue_size() => __pbn__queue_size = null;
        private int? __pbn__queue_size;

        [global::ProtoBuf.ProtoMember(5)]
        public int wait_seconds
        {
            get => __pbn__wait_seconds.GetValueOrDefault();
            set => __pbn__wait_seconds = value;
        }
        public bool ShouldSerializewait_seconds() => __pbn__wait_seconds != null;
        public void Resetwait_seconds() => __pbn__wait_seconds = null;
        private int? __pbn__wait_seconds;

        [global::ProtoBuf.ProtoMember(6)]
        public int estimated_wait_seconds_remaining
        {
            get => __pbn__estimated_wait_seconds_remaining.GetValueOrDefault();
            set => __pbn__estimated_wait_seconds_remaining = value;
        }
        public bool ShouldSerializeestimated_wait_seconds_remaining() => __pbn__estimated_wait_seconds_remaining != null;
        public void Resetestimated_wait_seconds_remaining() => __pbn__estimated_wait_seconds_remaining = null;
        private int? __pbn__estimated_wait_seconds_remaining;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_PopulateItemDescriptions_Request : 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 appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<ItemDescriptionsLanguageBlock> languages { get; } = new global::System.Collections.Generic.List<ItemDescriptionsLanguageBlock>();

        [global::ProtoBuf.ProtoContract()]
        public partial class SingleItemDescription : 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 gameitemid
            {
                get => __pbn__gameitemid.GetValueOrDefault();
                set => __pbn__gameitemid = value;
            }
            public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
            public void Resetgameitemid() => __pbn__gameitemid = null;
            private uint? __pbn__gameitemid;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string item_description
            {
                get => __pbn__item_description ?? "";
                set => __pbn__item_description = value;
            }
            public bool ShouldSerializeitem_description() => __pbn__item_description != null;
            public void Resetitem_description() => __pbn__item_description = null;
            private string __pbn__item_description;

            [global::ProtoBuf.ProtoMember(3)]
            public bool one_per_account
            {
                get => __pbn__one_per_account.GetValueOrDefault();
                set => __pbn__one_per_account = value;
            }
            public bool ShouldSerializeone_per_account() => __pbn__one_per_account != null;
            public void Resetone_per_account() => __pbn__one_per_account = null;
            private bool? __pbn__one_per_account;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemDescriptionsLanguageBlock : 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("")]
            public string language
            {
                get => __pbn__language ?? "";
                set => __pbn__language = value;
            }
            public bool ShouldSerializelanguage() => __pbn__language != null;
            public void Resetlanguage() => __pbn__language = null;
            private string __pbn__language;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription> descriptions { get; } = new global::System.Collections.Generic.List<CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_GetContributors_Request : 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 appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gameitemid
        {
            get => __pbn__gameitemid.GetValueOrDefault();
            set => __pbn__gameitemid = value;
        }
        public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
        public void Resetgameitemid() => __pbn__gameitemid = null;
        private uint? __pbn__gameitemid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_GetContributors_Response : 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, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> contributors { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_SetItemPaymentRules_Request : 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 appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gameitemid
        {
            get => __pbn__gameitemid.GetValueOrDefault();
            set => __pbn__gameitemid = value;
        }
        public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
        public void Resetgameitemid() => __pbn__gameitemid = null;
        private uint? __pbn__gameitemid;

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

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

        [global::ProtoBuf.ProtoMember(5)]
        public bool validate_only
        {
            get => __pbn__validate_only.GetValueOrDefault();
            set => __pbn__validate_only = value;
        }
        public bool ShouldSerializevalidate_only() => __pbn__validate_only != null;
        public void Resetvalidate_only() => __pbn__validate_only = null;
        private bool? __pbn__validate_only;

        [global::ProtoBuf.ProtoMember(6)]
        public bool make_workshop_files_subscribable
        {
            get => __pbn__make_workshop_files_subscribable.GetValueOrDefault();
            set => __pbn__make_workshop_files_subscribable = value;
        }
        public bool ShouldSerializemake_workshop_files_subscribable() => __pbn__make_workshop_files_subscribable != null;
        public void Resetmake_workshop_files_subscribable() => __pbn__make_workshop_files_subscribable = null;
        private bool? __pbn__make_workshop_files_subscribable;

        [global::ProtoBuf.ProtoMember(7)]
        public WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class WorkshopItemPaymentRule : 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 ulong workshop_file_id
            {
                get => __pbn__workshop_file_id.GetValueOrDefault();
                set => __pbn__workshop_file_id = value;
            }
            public bool ShouldSerializeworkshop_file_id() => __pbn__workshop_file_id != null;
            public void Resetworkshop_file_id() => __pbn__workshop_file_id = null;
            private ulong? __pbn__workshop_file_id;

            [global::ProtoBuf.ProtoMember(2)]
            public float revenue_percentage
            {
                get => __pbn__revenue_percentage.GetValueOrDefault();
                set => __pbn__revenue_percentage = value;
            }
            public bool ShouldSerializerevenue_percentage() => __pbn__revenue_percentage != null;
            public void Resetrevenue_percentage() => __pbn__revenue_percentage = null;
            private float? __pbn__revenue_percentage;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string rule_description
            {
                get => __pbn__rule_description ?? "";
                set => __pbn__rule_description = value;
            }
            public bool ShouldSerializerule_description() => __pbn__rule_description != null;
            public void Resetrule_description() => __pbn__rule_description = null;
            private string __pbn__rule_description;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(1u)]
            public uint rule_type
            {
                get => __pbn__rule_type ?? 1u;
                set => __pbn__rule_type = value;
            }
            public bool ShouldSerializerule_type() => __pbn__rule_type != null;
            public void Resetrule_type() => __pbn__rule_type = null;
            private uint? __pbn__rule_type;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class WorkshopDirectPaymentRule : 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 ulong workshop_file_id
            {
                get => __pbn__workshop_file_id.GetValueOrDefault();
                set => __pbn__workshop_file_id = value;
            }
            public bool ShouldSerializeworkshop_file_id() => __pbn__workshop_file_id != null;
            public void Resetworkshop_file_id() => __pbn__workshop_file_id = null;
            private ulong? __pbn__workshop_file_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string rule_description
            {
                get => __pbn__rule_description ?? "";
                set => __pbn__rule_description = value;
            }
            public bool ShouldSerializerule_description() => __pbn__rule_description != null;
            public void Resetrule_description() => __pbn__rule_description = null;
            private string __pbn__rule_description;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PartnerItemPaymentRule : 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 account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public float revenue_percentage
            {
                get => __pbn__revenue_percentage.GetValueOrDefault();
                set => __pbn__revenue_percentage = value;
            }
            public bool ShouldSerializerevenue_percentage() => __pbn__revenue_percentage != null;
            public void Resetrevenue_percentage() => __pbn__revenue_percentage = null;
            private float? __pbn__revenue_percentage;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string rule_description
            {
                get => __pbn__rule_description ?? "";
                set => __pbn__rule_description = value;
            }
            public bool ShouldSerializerule_description() => __pbn__rule_description != null;
            public void Resetrule_description() => __pbn__rule_description = null;
            private string __pbn__rule_description;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_SetItemPaymentRules_Response : 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.ProtoContract()]
    public partial class CGameServers_AggregationQuery_Request : 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("")]
        public string filter
        {
            get => __pbn__filter ?? "";
            set => __pbn__filter = value;
        }
        public bool ShouldSerializefilter() => __pbn__filter != null;
        public void Resetfilter() => __pbn__filter = null;
        private string __pbn__filter;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CGameServers_AggregationQuery_Response : 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 global::System.Collections.Generic.List<Group> groups { get; } = new global::System.Collections.Generic.List<Group>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Group : 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 global::System.Collections.Generic.List<string> group_values { get; } = new global::System.Collections.Generic.List<string>();

            [global::ProtoBuf.ProtoMember(2)]
            public uint servers_empty
            {
                get => __pbn__servers_empty.GetValueOrDefault();
                set => __pbn__servers_empty = value;
            }
            public bool ShouldSerializeservers_empty() => __pbn__servers_empty != null;
            public void Resetservers_empty() => __pbn__servers_empty = null;
            private uint? __pbn__servers_empty;

            [global::ProtoBuf.ProtoMember(3)]
            public uint servers_full
            {
                get => __pbn__servers_full.GetValueOrDefault();
                set => __pbn__servers_full = value;
            }
            public bool ShouldSerializeservers_full() => __pbn__servers_full != null;
            public void Resetservers_full() => __pbn__servers_full = null;
            private uint? __pbn__servers_full;

            [global::ProtoBuf.ProtoMember(4)]
            public uint servers_total
            {
                get => __pbn__servers_total.GetValueOrDefault();
                set => __pbn__servers_total = value;
            }
            public bool ShouldSerializeservers_total() => __pbn__servers_total != null;
            public void Resetservers_total() => __pbn__servers_total = null;
            private uint? __pbn__servers_total;

            [global::ProtoBuf.ProtoMember(5)]
            public uint players_humans
            {
                get => __pbn__players_humans.GetValueOrDefault();
                set => __pbn__players_humans = value;
            }
            public bool ShouldSerializeplayers_humans() => __pbn__players_humans != null;
            public void Resetplayers_humans() => __pbn__players_humans = null;
            private uint? __pbn__players_humans;

            [global::ProtoBuf.ProtoMember(6)]
            public uint players_bots
            {
                get => __pbn__players_bots.GetValueOrDefault();
                set => __pbn__players_bots = value;
            }
            public bool ShouldSerializeplayers_bots() => __pbn__players_bots != null;
            public void Resetplayers_bots() => __pbn__players_bots = null;
            private uint? __pbn__players_bots;

            [global::ProtoBuf.ProtoMember(7)]
            public uint player_capacity
            {
                get => __pbn__player_capacity.GetValueOrDefault();
                set => __pbn__player_capacity = value;
            }
            public bool ShouldSerializeplayer_capacity() => __pbn__player_capacity != null;
            public void Resetplayer_capacity() => __pbn__player_capacity = null;
            private uint? __pbn__player_capacity;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_AddSpecialPayment_Request : 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 appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gameitemid
        {
            get => __pbn__gameitemid.GetValueOrDefault();
            set => __pbn__gameitemid = value;
        }
        public bool ShouldSerializegameitemid() => __pbn__gameitemid != null;
        public void Resetgameitemid() => __pbn__gameitemid = null;
        private uint? __pbn__gameitemid;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string date
        {
            get => __pbn__date ?? "";
            set => __pbn__date = value;
        }
        public bool ShouldSerializedate() => __pbn__date != null;
        public void Resetdate() => __pbn__date = null;
        private string __pbn__date;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong payment_us_usd
        {
            get => __pbn__payment_us_usd.GetValueOrDefault();
            set => __pbn__payment_us_usd = value;
        }
        public bool ShouldSerializepayment_us_usd() => __pbn__payment_us_usd != null;
        public void Resetpayment_us_usd() => __pbn__payment_us_usd = null;
        private ulong? __pbn__payment_us_usd;

        [global::ProtoBuf.ProtoMember(5)]
        public ulong payment_row_usd
        {
            get => __pbn__payment_row_usd.GetValueOrDefault();
            set => __pbn__payment_row_usd = value;
        }
        public bool ShouldSerializepayment_row_usd() => __pbn__payment_row_usd != null;
        public void Resetpayment_row_usd() => __pbn__payment_row_usd = null;
        private ulong? __pbn__payment_row_usd;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CWorkshop_AddSpecialPayment_Response : 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.ProtoContract()]
    public partial class CProductInfo_SetRichPresenceLocalization_Request : 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 appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<LanguageSection> languages { get; } = new global::System.Collections.Generic.List<LanguageSection>();

        [global::ProtoBuf.ProtoMember(3)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoContract()]
        public partial class Token : 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("")]
            public string token
            {
                get => __pbn__token ?? "";
                set => __pbn__token = value;
            }
            public bool ShouldSerializetoken() => __pbn__token != null;
            public void Resettoken() => __pbn__token = null;
            private string __pbn__token;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class LanguageSection : 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("")]
            public string language
            {
                get => __pbn__language ?? "";
                set => __pbn__language = value;
            }
            public bool ShouldSerializelanguage() => __pbn__language != null;
            public void Resetlanguage() => __pbn__language = null;
            private string __pbn__language;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CProductInfo_SetRichPresenceLocalization_Request.Token> tokens { get; } = new global::System.Collections.Generic.List<CProductInfo_SetRichPresenceLocalization_Request.Token>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CProductInfo_SetRichPresenceLocalization_Response : 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.ProtoContract()]
    public partial class CMsgSerializedSOCache : 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 file_version
        {
            get => __pbn__file_version.GetValueOrDefault();
            set => __pbn__file_version = value;
        }
        public bool ShouldSerializefile_version() => __pbn__file_version != null;
        public void Resetfile_version() => __pbn__file_version = null;
        private uint? __pbn__file_version;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Cache> caches { get; } = new global::System.Collections.Generic.List<Cache>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint gc_socache_file_version
        {
            get => __pbn__gc_socache_file_version.GetValueOrDefault();
            set => __pbn__gc_socache_file_version = value;
        }
        public bool ShouldSerializegc_socache_file_version() => __pbn__gc_socache_file_version != null;
        public void Resetgc_socache_file_version() => __pbn__gc_socache_file_version = null;
        private uint? __pbn__gc_socache_file_version;

        [global::ProtoBuf.ProtoContract()]
        public partial class TypeCache : 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 type
            {
                get => __pbn__type.GetValueOrDefault();
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private uint? __pbn__type;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<byte[]> objects { get; } = new global::System.Collections.Generic.List<byte[]>();

            [global::ProtoBuf.ProtoMember(3)]
            public uint service_id
            {
                get => __pbn__service_id.GetValueOrDefault();
                set => __pbn__service_id = value;
            }
            public bool ShouldSerializeservice_id() => __pbn__service_id != null;
            public void Resetservice_id() => __pbn__service_id = null;
            private uint? __pbn__service_id;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Cache : 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 type
            {
                get => __pbn__type.GetValueOrDefault();
                set => __pbn__type = value;
            }
            public bool ShouldSerializetype() => __pbn__type != null;
            public void Resettype() => __pbn__type = null;
            private uint? __pbn__type;

            [global::ProtoBuf.ProtoMember(2)]
            public ulong id
            {
                get => __pbn__id.GetValueOrDefault();
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private ulong? __pbn__id;

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

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

            [global::ProtoBuf.ProtoContract()]
            public partial class Version : 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 service
                {
                    get => __pbn__service.GetValueOrDefault();
                    set => __pbn__service = value;
                }
                public bool ShouldSerializeservice() => __pbn__service != null;
                public void Resetservice() => __pbn__service = null;
                private uint? __pbn__service;

                [global::ProtoBuf.ProtoMember(2)]
                public ulong version
                {
                    get => __pbn__version.GetValueOrDefault();
                    set => __pbn__version = value;
                }
                public bool ShouldSerializeversion() => __pbn__version != null;
                public void Resetversion() => __pbn__version = null;
                private ulong? __pbn__version;

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public enum GCClientLauncherType
    {
        GCClientLauncherType_DEFAULT = 0,
        GCClientLauncherType_PERFECTWORLD = 1,
        GCClientLauncherType_STEAMCHINA = 2,
        GCClientLauncherType_SOURCE2 = 3,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum GCConnectionStatus
    {
        GCConnectionStatus_HAVE_SESSION = 0,
        GCConnectionStatus_GC_GOING_DOWN = 1,
        GCConnectionStatus_NO_SESSION = 2,
        GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3,
        GCConnectionStatus_NO_STEAM = 4,
    }

}

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