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

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

    [global::ProtoBuf.ProtoContract()]
    public partial class StoreItemID : 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 packageid
        {
            get => __pbn__packageid.GetValueOrDefault();
            set => __pbn__packageid = value;
        }
        public bool ShouldSerializepackageid() => __pbn__packageid != null;
        public void Resetpackageid() => __pbn__packageid = null;
        private uint? __pbn__packageid;

        [global::ProtoBuf.ProtoMember(3)]
        public uint bundleid
        {
            get => __pbn__bundleid.GetValueOrDefault();
            set => __pbn__bundleid = value;
        }
        public bool ShouldSerializebundleid() => __pbn__bundleid != null;
        public void Resetbundleid() => __pbn__bundleid = null;
        private uint? __pbn__bundleid;

        [global::ProtoBuf.ProtoMember(4)]
        public uint tagid
        {
            get => __pbn__tagid.GetValueOrDefault();
            set => __pbn__tagid = value;
        }
        public bool ShouldSerializetagid() => __pbn__tagid != null;
        public void Resettagid() => __pbn__tagid = null;
        private uint? __pbn__tagid;

        [global::ProtoBuf.ProtoMember(5)]
        public uint creatorid
        {
            get => __pbn__creatorid.GetValueOrDefault();
            set => __pbn__creatorid = value;
        }
        public bool ShouldSerializecreatorid() => __pbn__creatorid != null;
        public void Resetcreatorid() => __pbn__creatorid = null;
        private uint? __pbn__creatorid;

        [global::ProtoBuf.ProtoMember(6)]
        public uint hubcategoryid
        {
            get => __pbn__hubcategoryid.GetValueOrDefault();
            set => __pbn__hubcategoryid = value;
        }
        public bool ShouldSerializehubcategoryid() => __pbn__hubcategoryid != null;
        public void Resethubcategoryid() => __pbn__hubcategoryid = null;
        private uint? __pbn__hubcategoryid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class StoreBrowseContext : 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 int elanguage
        {
            get => __pbn__elanguage.GetValueOrDefault();
            set => __pbn__elanguage = value;
        }
        public bool ShouldSerializeelanguage() => __pbn__elanguage != null;
        public void Resetelanguage() => __pbn__elanguage = null;
        private int? __pbn__elanguage;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string country_code
        {
            get => __pbn__country_code ?? "";
            set => __pbn__country_code = value;
        }
        public bool ShouldSerializecountry_code() => __pbn__country_code != null;
        public void Resetcountry_code() => __pbn__country_code = null;
        private string __pbn__country_code;

        [global::ProtoBuf.ProtoMember(4)]
        public int steam_realm
        {
            get => __pbn__steam_realm.GetValueOrDefault();
            set => __pbn__steam_realm = value;
        }
        public bool ShouldSerializesteam_realm() => __pbn__steam_realm != null;
        public void Resetsteam_realm() => __pbn__steam_realm = null;
        private int? __pbn__steam_realm;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class StoreBrowseItemDataRequest : 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 include_assets
        {
            get => __pbn__include_assets.GetValueOrDefault();
            set => __pbn__include_assets = value;
        }
        public bool ShouldSerializeinclude_assets() => __pbn__include_assets != null;
        public void Resetinclude_assets() => __pbn__include_assets = null;
        private bool? __pbn__include_assets;

        [global::ProtoBuf.ProtoMember(2)]
        public bool include_release
        {
            get => __pbn__include_release.GetValueOrDefault();
            set => __pbn__include_release = value;
        }
        public bool ShouldSerializeinclude_release() => __pbn__include_release != null;
        public void Resetinclude_release() => __pbn__include_release = null;
        private bool? __pbn__include_release;

        [global::ProtoBuf.ProtoMember(3)]
        public bool include_platforms
        {
            get => __pbn__include_platforms.GetValueOrDefault();
            set => __pbn__include_platforms = value;
        }
        public bool ShouldSerializeinclude_platforms() => __pbn__include_platforms != null;
        public void Resetinclude_platforms() => __pbn__include_platforms = null;
        private bool? __pbn__include_platforms;

        [global::ProtoBuf.ProtoMember(4)]
        public bool include_all_purchase_options
        {
            get => __pbn__include_all_purchase_options.GetValueOrDefault();
            set => __pbn__include_all_purchase_options = value;
        }
        public bool ShouldSerializeinclude_all_purchase_options() => __pbn__include_all_purchase_options != null;
        public void Resetinclude_all_purchase_options() => __pbn__include_all_purchase_options = null;
        private bool? __pbn__include_all_purchase_options;

        [global::ProtoBuf.ProtoMember(5)]
        public bool include_screenshots
        {
            get => __pbn__include_screenshots.GetValueOrDefault();
            set => __pbn__include_screenshots = value;
        }
        public bool ShouldSerializeinclude_screenshots() => __pbn__include_screenshots != null;
        public void Resetinclude_screenshots() => __pbn__include_screenshots = null;
        private bool? __pbn__include_screenshots;

        [global::ProtoBuf.ProtoMember(6)]
        public bool include_trailers
        {
            get => __pbn__include_trailers.GetValueOrDefault();
            set => __pbn__include_trailers = value;
        }
        public bool ShouldSerializeinclude_trailers() => __pbn__include_trailers != null;
        public void Resetinclude_trailers() => __pbn__include_trailers = null;
        private bool? __pbn__include_trailers;

        [global::ProtoBuf.ProtoMember(7)]
        public bool include_ratings
        {
            get => __pbn__include_ratings.GetValueOrDefault();
            set => __pbn__include_ratings = value;
        }
        public bool ShouldSerializeinclude_ratings() => __pbn__include_ratings != null;
        public void Resetinclude_ratings() => __pbn__include_ratings = null;
        private bool? __pbn__include_ratings;

        [global::ProtoBuf.ProtoMember(8)]
        public int include_tag_count
        {
            get => __pbn__include_tag_count.GetValueOrDefault();
            set => __pbn__include_tag_count = value;
        }
        public bool ShouldSerializeinclude_tag_count() => __pbn__include_tag_count != null;
        public void Resetinclude_tag_count() => __pbn__include_tag_count = null;
        private int? __pbn__include_tag_count;

        [global::ProtoBuf.ProtoMember(9)]
        public bool include_reviews
        {
            get => __pbn__include_reviews.GetValueOrDefault();
            set => __pbn__include_reviews = value;
        }
        public bool ShouldSerializeinclude_reviews() => __pbn__include_reviews != null;
        public void Resetinclude_reviews() => __pbn__include_reviews = null;
        private bool? __pbn__include_reviews;

        [global::ProtoBuf.ProtoMember(10)]
        public bool include_basic_info
        {
            get => __pbn__include_basic_info.GetValueOrDefault();
            set => __pbn__include_basic_info = value;
        }
        public bool ShouldSerializeinclude_basic_info() => __pbn__include_basic_info != null;
        public void Resetinclude_basic_info() => __pbn__include_basic_info = null;
        private bool? __pbn__include_basic_info;

        [global::ProtoBuf.ProtoMember(11)]
        public bool include_supported_languages
        {
            get => __pbn__include_supported_languages.GetValueOrDefault();
            set => __pbn__include_supported_languages = value;
        }
        public bool ShouldSerializeinclude_supported_languages() => __pbn__include_supported_languages != null;
        public void Resetinclude_supported_languages() => __pbn__include_supported_languages = null;
        private bool? __pbn__include_supported_languages;

        [global::ProtoBuf.ProtoMember(12)]
        public bool include_full_description
        {
            get => __pbn__include_full_description.GetValueOrDefault();
            set => __pbn__include_full_description = value;
        }
        public bool ShouldSerializeinclude_full_description() => __pbn__include_full_description != null;
        public void Resetinclude_full_description() => __pbn__include_full_description = null;
        private bool? __pbn__include_full_description;

        [global::ProtoBuf.ProtoMember(13)]
        public bool include_included_items
        {
            get => __pbn__include_included_items.GetValueOrDefault();
            set => __pbn__include_included_items = value;
        }
        public bool ShouldSerializeinclude_included_items() => __pbn__include_included_items != null;
        public void Resetinclude_included_items() => __pbn__include_included_items = null;
        private bool? __pbn__include_included_items;

        [global::ProtoBuf.ProtoMember(14)]
        public StoreBrowseItemDataRequest included_item_data_request { get; set; }

        [global::ProtoBuf.ProtoMember(15)]
        public bool include_assets_without_overrides
        {
            get => __pbn__include_assets_without_overrides.GetValueOrDefault();
            set => __pbn__include_assets_without_overrides = value;
        }
        public bool ShouldSerializeinclude_assets_without_overrides() => __pbn__include_assets_without_overrides != null;
        public void Resetinclude_assets_without_overrides() => __pbn__include_assets_without_overrides = null;
        private bool? __pbn__include_assets_without_overrides;

        [global::ProtoBuf.ProtoMember(16)]
        public bool apply_user_filters
        {
            get => __pbn__apply_user_filters.GetValueOrDefault();
            set => __pbn__apply_user_filters = value;
        }
        public bool ShouldSerializeapply_user_filters() => __pbn__apply_user_filters != null;
        public void Resetapply_user_filters() => __pbn__apply_user_filters = null;
        private bool? __pbn__apply_user_filters;

        [global::ProtoBuf.ProtoMember(17)]
        public bool include_links
        {
            get => __pbn__include_links.GetValueOrDefault();
            set => __pbn__include_links = value;
        }
        public bool ShouldSerializeinclude_links() => __pbn__include_links != null;
        public void Resetinclude_links() => __pbn__include_links = null;
        private bool? __pbn__include_links;

    }

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

        [global::ProtoBuf.ProtoMember(2)]
        public StoreBrowseContext context { get; set; }

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class StoreItem : 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(EStoreItemType.k_EStoreItemType_Invalid)]
        public EStoreItemType item_type
        {
            get => __pbn__item_type ?? EStoreItemType.k_EStoreItemType_Invalid;
            set => __pbn__item_type = value;
        }
        public bool ShouldSerializeitem_type() => __pbn__item_type != null;
        public void Resetitem_type() => __pbn__item_type = null;
        private EStoreItemType? __pbn__item_type;

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

        [global::ProtoBuf.ProtoMember(3)]
        public uint success
        {
            get => __pbn__success.GetValueOrDefault();
            set => __pbn__success = value;
        }
        public bool ShouldSerializesuccess() => __pbn__success != null;
        public void Resetsuccess() => __pbn__success = null;
        private uint? __pbn__success;

        [global::ProtoBuf.ProtoMember(4)]
        public bool visible
        {
            get => __pbn__visible.GetValueOrDefault();
            set => __pbn__visible = value;
        }
        public bool ShouldSerializevisible() => __pbn__visible != null;
        public void Resetvisible() => __pbn__visible = null;
        private bool? __pbn__visible;

        [global::ProtoBuf.ProtoMember(5)]
        public bool unvailable_for_country_restriction
        {
            get => __pbn__unvailable_for_country_restriction.GetValueOrDefault();
            set => __pbn__unvailable_for_country_restriction = value;
        }
        public bool ShouldSerializeunvailable_for_country_restriction() => __pbn__unvailable_for_country_restriction != null;
        public void Resetunvailable_for_country_restriction() => __pbn__unvailable_for_country_restriction = null;
        private bool? __pbn__unvailable_for_country_restriction;

        [global::ProtoBuf.ProtoMember(6)]
        [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(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string store_url_path
        {
            get => __pbn__store_url_path ?? "";
            set => __pbn__store_url_path = value;
        }
        public bool ShouldSerializestore_url_path() => __pbn__store_url_path != null;
        public void Resetstore_url_path() => __pbn__store_url_path = null;
        private string __pbn__store_url_path;

        [global::ProtoBuf.ProtoMember(9)]
        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(10)]
        [global::System.ComponentModel.DefaultValue(EStoreAppType.k_EStoreAppType_Game)]
        public EStoreAppType type
        {
            get => __pbn__type ?? EStoreAppType.k_EStoreAppType_Game;
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private EStoreAppType? __pbn__type;

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<EStoreAppType> included_types { get; } = new global::System.Collections.Generic.List<EStoreAppType>();

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

        [global::ProtoBuf.ProtoMember(13)]
        public bool is_free
        {
            get => __pbn__is_free.GetValueOrDefault();
            set => __pbn__is_free = value;
        }
        public bool ShouldSerializeis_free() => __pbn__is_free != null;
        public void Resetis_free() => __pbn__is_free = null;
        private bool? __pbn__is_free;

        [global::ProtoBuf.ProtoMember(14)]
        public bool is_early_access
        {
            get => __pbn__is_early_access.GetValueOrDefault();
            set => __pbn__is_early_access = value;
        }
        public bool ShouldSerializeis_early_access() => __pbn__is_early_access != null;
        public void Resetis_early_access() => __pbn__is_early_access = null;
        private bool? __pbn__is_early_access;

        [global::ProtoBuf.ProtoMember(15)]
        public RelatedItems related_items { get; set; }

        [global::ProtoBuf.ProtoMember(16)]
        public IncludedItems included_items { get; set; }

        [global::ProtoBuf.ProtoMember(20)]
        public global::System.Collections.Generic.List<EContentDescriptorID> content_descriptorids { get; } = new global::System.Collections.Generic.List<EContentDescriptorID>();

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

        [global::ProtoBuf.ProtoMember(22)]
        public Categories categories { get; set; }

        [global::ProtoBuf.ProtoMember(23)]
        public Reviews reviews { get; set; }

        [global::ProtoBuf.ProtoMember(24)]
        public BasicInfo basic_info { get; set; }

        [global::ProtoBuf.ProtoMember(25)]
        public global::System.Collections.Generic.List<Tag> tags { get; } = new global::System.Collections.Generic.List<Tag>();

        [global::ProtoBuf.ProtoMember(30)]
        public Assets assets { get; set; }

        [global::ProtoBuf.ProtoMember(31)]
        public ReleaseInfo release { get; set; }

        [global::ProtoBuf.ProtoMember(32)]
        public Platforms platforms { get; set; }

        [global::ProtoBuf.ProtoMember(33)]
        public StoreGameRating game_rating { get; set; }

        [global::ProtoBuf.ProtoMember(34)]
        public bool is_coming_soon
        {
            get => __pbn__is_coming_soon.GetValueOrDefault();
            set => __pbn__is_coming_soon = value;
        }
        public bool ShouldSerializeis_coming_soon() => __pbn__is_coming_soon != null;
        public void Resetis_coming_soon() => __pbn__is_coming_soon = null;
        private bool? __pbn__is_coming_soon;

        [global::ProtoBuf.ProtoMember(40)]
        public PurchaseOption best_purchase_option { get; set; }

        [global::ProtoBuf.ProtoMember(41)]
        public global::System.Collections.Generic.List<PurchaseOption> purchase_options { get; } = new global::System.Collections.Generic.List<PurchaseOption>();

        [global::ProtoBuf.ProtoMember(42)]
        public global::System.Collections.Generic.List<PurchaseOption> accessories { get; } = new global::System.Collections.Generic.List<PurchaseOption>();

        [global::ProtoBuf.ProtoMember(43)]
        public PurchaseOption self_purchase_option { get; set; }

        [global::ProtoBuf.ProtoMember(50)]
        public Screenshots screenshots { get; set; }

        [global::ProtoBuf.ProtoMember(51)]
        public Trailers trailers { get; set; }

        [global::ProtoBuf.ProtoMember(52)]
        public global::System.Collections.Generic.List<SupportedLanguage> supported_languages { get; } = new global::System.Collections.Generic.List<SupportedLanguage>();

        [global::ProtoBuf.ProtoMember(53)]
        [global::System.ComponentModel.DefaultValue("")]
        public string store_url_path_override
        {
            get => __pbn__store_url_path_override ?? "";
            set => __pbn__store_url_path_override = value;
        }
        public bool ShouldSerializestore_url_path_override() => __pbn__store_url_path_override != null;
        public void Resetstore_url_path_override() => __pbn__store_url_path_override = null;
        private string __pbn__store_url_path_override;

        [global::ProtoBuf.ProtoMember(54)]
        public FreeWeekend free_weekend { get; set; }

        [global::ProtoBuf.ProtoMember(55)]
        public bool unlisted
        {
            get => __pbn__unlisted.GetValueOrDefault();
            set => __pbn__unlisted = value;
        }
        public bool ShouldSerializeunlisted() => __pbn__unlisted != null;
        public void Resetunlisted() => __pbn__unlisted = null;
        private bool? __pbn__unlisted;

        [global::ProtoBuf.ProtoMember(56)]
        public uint game_count
        {
            get => __pbn__game_count.GetValueOrDefault();
            set => __pbn__game_count = value;
        }
        public bool ShouldSerializegame_count() => __pbn__game_count != null;
        public void Resetgame_count() => __pbn__game_count = null;
        private uint? __pbn__game_count;

        [global::ProtoBuf.ProtoMember(57)]
        [global::System.ComponentModel.DefaultValue("")]
        public string internal_name
        {
            get => __pbn__internal_name ?? "";
            set => __pbn__internal_name = value;
        }
        public bool ShouldSerializeinternal_name() => __pbn__internal_name != null;
        public void Resetinternal_name() => __pbn__internal_name = null;
        private string __pbn__internal_name;

        [global::ProtoBuf.ProtoMember(58)]
        [global::System.ComponentModel.DefaultValue("")]
        public string full_description
        {
            get => __pbn__full_description ?? "";
            set => __pbn__full_description = value;
        }
        public bool ShouldSerializefull_description() => __pbn__full_description != null;
        public void Resetfull_description() => __pbn__full_description = null;
        private string __pbn__full_description;

        [global::ProtoBuf.ProtoMember(59)]
        public bool is_free_temporarily
        {
            get => __pbn__is_free_temporarily.GetValueOrDefault();
            set => __pbn__is_free_temporarily = value;
        }
        public bool ShouldSerializeis_free_temporarily() => __pbn__is_free_temporarily != null;
        public void Resetis_free_temporarily() => __pbn__is_free_temporarily = null;
        private bool? __pbn__is_free_temporarily;

        [global::ProtoBuf.ProtoMember(60)]
        public Assets assets_without_overrides { get; set; }

        [global::ProtoBuf.ProtoMember(70)]
        public StoreBrowseFilterFailure user_filter_failure { get; set; }

        [global::ProtoBuf.ProtoMember(71)]
        public global::System.Collections.Generic.List<Link> links { get; } = new global::System.Collections.Generic.List<Link>();

        [global::ProtoBuf.ProtoContract()]
        public partial class RelatedItems : 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 parent_appid
            {
                get => __pbn__parent_appid.GetValueOrDefault();
                set => __pbn__parent_appid = value;
            }
            public bool ShouldSerializeparent_appid() => __pbn__parent_appid != null;
            public void Resetparent_appid() => __pbn__parent_appid = null;
            private uint? __pbn__parent_appid;

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

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

        }

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

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

        }

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

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

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

        }

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

            [global::ProtoBuf.ProtoMember(2)]
            public StoreReviewSummary summary_unfiltered { get; set; }

            [global::ProtoBuf.ProtoContract()]
            public partial class StoreReviewSummary : 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 review_count
                {
                    get => __pbn__review_count.GetValueOrDefault();
                    set => __pbn__review_count = value;
                }
                public bool ShouldSerializereview_count() => __pbn__review_count != null;
                public void Resetreview_count() => __pbn__review_count = null;
                private uint? __pbn__review_count;

                [global::ProtoBuf.ProtoMember(2)]
                public int percent_positive
                {
                    get => __pbn__percent_positive.GetValueOrDefault();
                    set => __pbn__percent_positive = value;
                }
                public bool ShouldSerializepercent_positive() => __pbn__percent_positive != null;
                public void Resetpercent_positive() => __pbn__percent_positive = null;
                private int? __pbn__percent_positive;

                [global::ProtoBuf.ProtoMember(3)]
                [global::System.ComponentModel.DefaultValue(EUserReviewScore.k_EUserReviewScore_None)]
                public EUserReviewScore review_score
                {
                    get => __pbn__review_score ?? EUserReviewScore.k_EUserReviewScore_None;
                    set => __pbn__review_score = value;
                }
                public bool ShouldSerializereview_score() => __pbn__review_score != null;
                public void Resetreview_score() => __pbn__review_score = null;
                private EUserReviewScore? __pbn__review_score;

                [global::ProtoBuf.ProtoMember(4)]
                [global::System.ComponentModel.DefaultValue("")]
                public string review_score_label
                {
                    get => __pbn__review_score_label ?? "";
                    set => __pbn__review_score_label = value;
                }
                public bool ShouldSerializereview_score_label() => __pbn__review_score_label != null;
                public void Resetreview_score_label() => __pbn__review_score_label = null;
                private string __pbn__review_score_label;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class BasicInfo : 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 short_description
            {
                get => __pbn__short_description ?? "";
                set => __pbn__short_description = value;
            }
            public bool ShouldSerializeshort_description() => __pbn__short_description != null;
            public void Resetshort_description() => __pbn__short_description = null;
            private string __pbn__short_description;

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

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

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

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue("")]
            public string capsule_headline
            {
                get => __pbn__capsule_headline ?? "";
                set => __pbn__capsule_headline = value;
            }
            public bool ShouldSerializecapsule_headline() => __pbn__capsule_headline != null;
            public void Resetcapsule_headline() => __pbn__capsule_headline = null;
            private string __pbn__capsule_headline;

            [global::ProtoBuf.ProtoContract()]
            public partial class CreatorHomeLink : 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 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(2)]
                public uint creator_clan_account_id
                {
                    get => __pbn__creator_clan_account_id.GetValueOrDefault();
                    set => __pbn__creator_clan_account_id = value;
                }
                public bool ShouldSerializecreator_clan_account_id() => __pbn__creator_clan_account_id != null;
                public void Resetcreator_clan_account_id() => __pbn__creator_clan_account_id = null;
                private uint? __pbn__creator_clan_account_id;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Tag : 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 tagid
            {
                get => __pbn__tagid.GetValueOrDefault();
                set => __pbn__tagid = value;
            }
            public bool ShouldSerializetagid() => __pbn__tagid != null;
            public void Resettagid() => __pbn__tagid = null;
            private uint? __pbn__tagid;

            [global::ProtoBuf.ProtoMember(2)]
            public uint weight
            {
                get => __pbn__weight.GetValueOrDefault();
                set => __pbn__weight = value;
            }
            public bool ShouldSerializeweight() => __pbn__weight != null;
            public void Resetweight() => __pbn__weight = null;
            private uint? __pbn__weight;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Assets : 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 asset_url_format
            {
                get => __pbn__asset_url_format ?? "";
                set => __pbn__asset_url_format = value;
            }
            public bool ShouldSerializeasset_url_format() => __pbn__asset_url_format != null;
            public void Resetasset_url_format() => __pbn__asset_url_format = null;
            private string __pbn__asset_url_format;

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

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string small_capsule
            {
                get => __pbn__small_capsule ?? "";
                set => __pbn__small_capsule = value;
            }
            public bool ShouldSerializesmall_capsule() => __pbn__small_capsule != null;
            public void Resetsmall_capsule() => __pbn__small_capsule = null;
            private string __pbn__small_capsule;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string header
            {
                get => __pbn__header ?? "";
                set => __pbn__header = value;
            }
            public bool ShouldSerializeheader() => __pbn__header != null;
            public void Resetheader() => __pbn__header = null;
            private string __pbn__header;

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue("")]
            public string package_header
            {
                get => __pbn__package_header ?? "";
                set => __pbn__package_header = value;
            }
            public bool ShouldSerializepackage_header() => __pbn__package_header != null;
            public void Resetpackage_header() => __pbn__package_header = null;
            private string __pbn__package_header;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue("")]
            public string page_background
            {
                get => __pbn__page_background ?? "";
                set => __pbn__page_background = value;
            }
            public bool ShouldSerializepage_background() => __pbn__page_background != null;
            public void Resetpage_background() => __pbn__page_background = null;
            private string __pbn__page_background;

            [global::ProtoBuf.ProtoMember(7)]
            [global::System.ComponentModel.DefaultValue("")]
            public string hero_capsule
            {
                get => __pbn__hero_capsule ?? "";
                set => __pbn__hero_capsule = value;
            }
            public bool ShouldSerializehero_capsule() => __pbn__hero_capsule != null;
            public void Resethero_capsule() => __pbn__hero_capsule = null;
            private string __pbn__hero_capsule;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue("")]
            public string hero_capsule_2x
            {
                get => __pbn__hero_capsule_2x ?? "";
                set => __pbn__hero_capsule_2x = value;
            }
            public bool ShouldSerializehero_capsule_2x() => __pbn__hero_capsule_2x != null;
            public void Resethero_capsule_2x() => __pbn__hero_capsule_2x = null;
            private string __pbn__hero_capsule_2x;

            [global::ProtoBuf.ProtoMember(9)]
            [global::System.ComponentModel.DefaultValue("")]
            public string library_capsule
            {
                get => __pbn__library_capsule ?? "";
                set => __pbn__library_capsule = value;
            }
            public bool ShouldSerializelibrary_capsule() => __pbn__library_capsule != null;
            public void Resetlibrary_capsule() => __pbn__library_capsule = null;
            private string __pbn__library_capsule;

            [global::ProtoBuf.ProtoMember(10)]
            [global::System.ComponentModel.DefaultValue("")]
            public string library_capsule_2x
            {
                get => __pbn__library_capsule_2x ?? "";
                set => __pbn__library_capsule_2x = value;
            }
            public bool ShouldSerializelibrary_capsule_2x() => __pbn__library_capsule_2x != null;
            public void Resetlibrary_capsule_2x() => __pbn__library_capsule_2x = null;
            private string __pbn__library_capsule_2x;

            [global::ProtoBuf.ProtoMember(11)]
            [global::System.ComponentModel.DefaultValue("")]
            public string library_hero
            {
                get => __pbn__library_hero ?? "";
                set => __pbn__library_hero = value;
            }
            public bool ShouldSerializelibrary_hero() => __pbn__library_hero != null;
            public void Resetlibrary_hero() => __pbn__library_hero = null;
            private string __pbn__library_hero;

            [global::ProtoBuf.ProtoMember(12)]
            [global::System.ComponentModel.DefaultValue("")]
            public string library_hero_2x
            {
                get => __pbn__library_hero_2x ?? "";
                set => __pbn__library_hero_2x = value;
            }
            public bool ShouldSerializelibrary_hero_2x() => __pbn__library_hero_2x != null;
            public void Resetlibrary_hero_2x() => __pbn__library_hero_2x = null;
            private string __pbn__library_hero_2x;

            [global::ProtoBuf.ProtoMember(13)]
            [global::System.ComponentModel.DefaultValue("")]
            public string community_icon
            {
                get => __pbn__community_icon ?? "";
                set => __pbn__community_icon = value;
            }
            public bool ShouldSerializecommunity_icon() => __pbn__community_icon != null;
            public void Resetcommunity_icon() => __pbn__community_icon = null;
            private string __pbn__community_icon;

            [global::ProtoBuf.ProtoMember(14)]
            [global::System.ComponentModel.DefaultValue("")]
            public string clan_avatar
            {
                get => __pbn__clan_avatar ?? "";
                set => __pbn__clan_avatar = value;
            }
            public bool ShouldSerializeclan_avatar() => __pbn__clan_avatar != null;
            public void Resetclan_avatar() => __pbn__clan_avatar = null;
            private string __pbn__clan_avatar;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ReleaseInfo : 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 steam_release_date
            {
                get => __pbn__steam_release_date.GetValueOrDefault();
                set => __pbn__steam_release_date = value;
            }
            public bool ShouldSerializesteam_release_date() => __pbn__steam_release_date != null;
            public void Resetsteam_release_date() => __pbn__steam_release_date = null;
            private uint? __pbn__steam_release_date;

            [global::ProtoBuf.ProtoMember(2)]
            public uint original_release_date
            {
                get => __pbn__original_release_date.GetValueOrDefault();
                set => __pbn__original_release_date = value;
            }
            public bool ShouldSerializeoriginal_release_date() => __pbn__original_release_date != null;
            public void Resetoriginal_release_date() => __pbn__original_release_date = null;
            private uint? __pbn__original_release_date;

            [global::ProtoBuf.ProtoMember(3)]
            public uint original_steam_release_date
            {
                get => __pbn__original_steam_release_date.GetValueOrDefault();
                set => __pbn__original_steam_release_date = value;
            }
            public bool ShouldSerializeoriginal_steam_release_date() => __pbn__original_steam_release_date != null;
            public void Resetoriginal_steam_release_date() => __pbn__original_steam_release_date = null;
            private uint? __pbn__original_steam_release_date;

            [global::ProtoBuf.ProtoMember(4)]
            public bool is_coming_soon
            {
                get => __pbn__is_coming_soon.GetValueOrDefault();
                set => __pbn__is_coming_soon = value;
            }
            public bool ShouldSerializeis_coming_soon() => __pbn__is_coming_soon != null;
            public void Resetis_coming_soon() => __pbn__is_coming_soon = null;
            private bool? __pbn__is_coming_soon;

            [global::ProtoBuf.ProtoMember(5)]
            public bool is_preload
            {
                get => __pbn__is_preload.GetValueOrDefault();
                set => __pbn__is_preload = value;
            }
            public bool ShouldSerializeis_preload() => __pbn__is_preload != null;
            public void Resetis_preload() => __pbn__is_preload = null;
            private bool? __pbn__is_preload;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue("")]
            public string custom_release_date_message
            {
                get => __pbn__custom_release_date_message ?? "";
                set => __pbn__custom_release_date_message = value;
            }
            public bool ShouldSerializecustom_release_date_message() => __pbn__custom_release_date_message != null;
            public void Resetcustom_release_date_message() => __pbn__custom_release_date_message = null;
            private string __pbn__custom_release_date_message;

            [global::ProtoBuf.ProtoMember(7)]
            public bool is_abridged_release_date
            {
                get => __pbn__is_abridged_release_date.GetValueOrDefault();
                set => __pbn__is_abridged_release_date = value;
            }
            public bool ShouldSerializeis_abridged_release_date() => __pbn__is_abridged_release_date != null;
            public void Resetis_abridged_release_date() => __pbn__is_abridged_release_date = null;
            private bool? __pbn__is_abridged_release_date;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue("")]
            public string coming_soon_display
            {
                get => __pbn__coming_soon_display ?? "";
                set => __pbn__coming_soon_display = value;
            }
            public bool ShouldSerializecoming_soon_display() => __pbn__coming_soon_display != null;
            public void Resetcoming_soon_display() => __pbn__coming_soon_display = null;
            private string __pbn__coming_soon_display;

            [global::ProtoBuf.ProtoMember(10)]
            public bool is_early_access
            {
                get => __pbn__is_early_access.GetValueOrDefault();
                set => __pbn__is_early_access = value;
            }
            public bool ShouldSerializeis_early_access() => __pbn__is_early_access != null;
            public void Resetis_early_access() => __pbn__is_early_access = null;
            private bool? __pbn__is_early_access;

            [global::ProtoBuf.ProtoMember(20)]
            public uint mac_release_date
            {
                get => __pbn__mac_release_date.GetValueOrDefault();
                set => __pbn__mac_release_date = value;
            }
            public bool ShouldSerializemac_release_date() => __pbn__mac_release_date != null;
            public void Resetmac_release_date() => __pbn__mac_release_date = null;
            private uint? __pbn__mac_release_date;

            [global::ProtoBuf.ProtoMember(21)]
            public uint linux_release_date
            {
                get => __pbn__linux_release_date.GetValueOrDefault();
                set => __pbn__linux_release_date = value;
            }
            public bool ShouldSerializelinux_release_date() => __pbn__linux_release_date != null;
            public void Resetlinux_release_date() => __pbn__linux_release_date = null;
            private uint? __pbn__linux_release_date;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Platforms : 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 windows
            {
                get => __pbn__windows.GetValueOrDefault();
                set => __pbn__windows = value;
            }
            public bool ShouldSerializewindows() => __pbn__windows != null;
            public void Resetwindows() => __pbn__windows = null;
            private bool? __pbn__windows;

            [global::ProtoBuf.ProtoMember(2)]
            public bool mac
            {
                get => __pbn__mac.GetValueOrDefault();
                set => __pbn__mac = value;
            }
            public bool ShouldSerializemac() => __pbn__mac != null;
            public void Resetmac() => __pbn__mac = null;
            private bool? __pbn__mac;

            [global::ProtoBuf.ProtoMember(3)]
            public bool steamos_linux
            {
                get => __pbn__steamos_linux.GetValueOrDefault();
                set => __pbn__steamos_linux = value;
            }
            public bool ShouldSerializesteamos_linux() => __pbn__steamos_linux != null;
            public void Resetsteamos_linux() => __pbn__steamos_linux = null;
            private bool? __pbn__steamos_linux;

            [global::ProtoBuf.ProtoMember(10)]
            public VRSupport vr_support { get; set; }

            [global::ProtoBuf.ProtoMember(11)]
            [global::System.ComponentModel.DefaultValue(ESteamDeckCompatibilityCategory.k_ESteamDeckCompatibilityCategory_Unknown)]
            public ESteamDeckCompatibilityCategory steam_deck_compat_category
            {
                get => __pbn__steam_deck_compat_category ?? ESteamDeckCompatibilityCategory.k_ESteamDeckCompatibilityCategory_Unknown;
                set => __pbn__steam_deck_compat_category = value;
            }
            public bool ShouldSerializesteam_deck_compat_category() => __pbn__steam_deck_compat_category != null;
            public void Resetsteam_deck_compat_category() => __pbn__steam_deck_compat_category = null;
            private ESteamDeckCompatibilityCategory? __pbn__steam_deck_compat_category;

            [global::ProtoBuf.ProtoContract()]
            public partial class VRSupport : 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 vrhmd
                {
                    get => __pbn__vrhmd.GetValueOrDefault();
                    set => __pbn__vrhmd = value;
                }
                public bool ShouldSerializevrhmd() => __pbn__vrhmd != null;
                public void Resetvrhmd() => __pbn__vrhmd = null;
                private bool? __pbn__vrhmd;

                [global::ProtoBuf.ProtoMember(2)]
                public bool vrhmd_only
                {
                    get => __pbn__vrhmd_only.GetValueOrDefault();
                    set => __pbn__vrhmd_only = value;
                }
                public bool ShouldSerializevrhmd_only() => __pbn__vrhmd_only != null;
                public void Resetvrhmd_only() => __pbn__vrhmd_only = null;
                private bool? __pbn__vrhmd_only;

                [global::ProtoBuf.ProtoMember(40)]
                public bool htc_vive
                {
                    get => __pbn__htc_vive.GetValueOrDefault();
                    set => __pbn__htc_vive = value;
                }
                public bool ShouldSerializehtc_vive() => __pbn__htc_vive != null;
                public void Resethtc_vive() => __pbn__htc_vive = null;
                private bool? __pbn__htc_vive;

                [global::ProtoBuf.ProtoMember(41)]
                public bool oculus_rift
                {
                    get => __pbn__oculus_rift.GetValueOrDefault();
                    set => __pbn__oculus_rift = value;
                }
                public bool ShouldSerializeoculus_rift() => __pbn__oculus_rift != null;
                public void Resetoculus_rift() => __pbn__oculus_rift = null;
                private bool? __pbn__oculus_rift;

                [global::ProtoBuf.ProtoMember(42)]
                public bool windows_mr
                {
                    get => __pbn__windows_mr.GetValueOrDefault();
                    set => __pbn__windows_mr = value;
                }
                public bool ShouldSerializewindows_mr() => __pbn__windows_mr != null;
                public void Resetwindows_mr() => __pbn__windows_mr = null;
                private bool? __pbn__windows_mr;

                [global::ProtoBuf.ProtoMember(43)]
                public bool valve_index
                {
                    get => __pbn__valve_index.GetValueOrDefault();
                    set => __pbn__valve_index = value;
                }
                public bool ShouldSerializevalve_index() => __pbn__valve_index != null;
                public void Resetvalve_index() => __pbn__valve_index = null;
                private bool? __pbn__valve_index;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PurchaseOption : 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 packageid
            {
                get => __pbn__packageid.GetValueOrDefault();
                set => __pbn__packageid = value;
            }
            public bool ShouldSerializepackageid() => __pbn__packageid != null;
            public void Resetpackageid() => __pbn__packageid = null;
            private int? __pbn__packageid;

            [global::ProtoBuf.ProtoMember(2)]
            public int bundleid
            {
                get => __pbn__bundleid.GetValueOrDefault();
                set => __pbn__bundleid = value;
            }
            public bool ShouldSerializebundleid() => __pbn__bundleid != null;
            public void Resetbundleid() => __pbn__bundleid = null;
            private int? __pbn__bundleid;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string purchase_option_name
            {
                get => __pbn__purchase_option_name ?? "";
                set => __pbn__purchase_option_name = value;
            }
            public bool ShouldSerializepurchase_option_name() => __pbn__purchase_option_name != null;
            public void Resetpurchase_option_name() => __pbn__purchase_option_name = null;
            private string __pbn__purchase_option_name;

            [global::ProtoBuf.ProtoMember(5)]
            public long final_price_in_cents
            {
                get => __pbn__final_price_in_cents.GetValueOrDefault();
                set => __pbn__final_price_in_cents = value;
            }
            public bool ShouldSerializefinal_price_in_cents() => __pbn__final_price_in_cents != null;
            public void Resetfinal_price_in_cents() => __pbn__final_price_in_cents = null;
            private long? __pbn__final_price_in_cents;

            [global::ProtoBuf.ProtoMember(6)]
            public long original_price_in_cents
            {
                get => __pbn__original_price_in_cents.GetValueOrDefault();
                set => __pbn__original_price_in_cents = value;
            }
            public bool ShouldSerializeoriginal_price_in_cents() => __pbn__original_price_in_cents != null;
            public void Resetoriginal_price_in_cents() => __pbn__original_price_in_cents = null;
            private long? __pbn__original_price_in_cents;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue("")]
            public string formatted_final_price
            {
                get => __pbn__formatted_final_price ?? "";
                set => __pbn__formatted_final_price = value;
            }
            public bool ShouldSerializeformatted_final_price() => __pbn__formatted_final_price != null;
            public void Resetformatted_final_price() => __pbn__formatted_final_price = null;
            private string __pbn__formatted_final_price;

            [global::ProtoBuf.ProtoMember(9)]
            [global::System.ComponentModel.DefaultValue("")]
            public string formatted_original_price
            {
                get => __pbn__formatted_original_price ?? "";
                set => __pbn__formatted_original_price = value;
            }
            public bool ShouldSerializeformatted_original_price() => __pbn__formatted_original_price != null;
            public void Resetformatted_original_price() => __pbn__formatted_original_price = null;
            private string __pbn__formatted_original_price;

            [global::ProtoBuf.ProtoMember(10)]
            public int discount_pct
            {
                get => __pbn__discount_pct.GetValueOrDefault();
                set => __pbn__discount_pct = value;
            }
            public bool ShouldSerializediscount_pct() => __pbn__discount_pct != null;
            public void Resetdiscount_pct() => __pbn__discount_pct = null;
            private int? __pbn__discount_pct;

            [global::ProtoBuf.ProtoMember(12)]
            public int bundle_discount_pct
            {
                get => __pbn__bundle_discount_pct.GetValueOrDefault();
                set => __pbn__bundle_discount_pct = value;
            }
            public bool ShouldSerializebundle_discount_pct() => __pbn__bundle_discount_pct != null;
            public void Resetbundle_discount_pct() => __pbn__bundle_discount_pct = null;
            private int? __pbn__bundle_discount_pct;

            [global::ProtoBuf.ProtoMember(13)]
            public bool is_free_to_keep
            {
                get => __pbn__is_free_to_keep.GetValueOrDefault();
                set => __pbn__is_free_to_keep = value;
            }
            public bool ShouldSerializeis_free_to_keep() => __pbn__is_free_to_keep != null;
            public void Resetis_free_to_keep() => __pbn__is_free_to_keep = null;
            private bool? __pbn__is_free_to_keep;

            [global::ProtoBuf.ProtoMember(14)]
            public long price_before_bundle_discount
            {
                get => __pbn__price_before_bundle_discount.GetValueOrDefault();
                set => __pbn__price_before_bundle_discount = value;
            }
            public bool ShouldSerializeprice_before_bundle_discount() => __pbn__price_before_bundle_discount != null;
            public void Resetprice_before_bundle_discount() => __pbn__price_before_bundle_discount = null;
            private long? __pbn__price_before_bundle_discount;

            [global::ProtoBuf.ProtoMember(15)]
            [global::System.ComponentModel.DefaultValue("")]
            public string formatted_price_before_bundle_discount
            {
                get => __pbn__formatted_price_before_bundle_discount ?? "";
                set => __pbn__formatted_price_before_bundle_discount = value;
            }
            public bool ShouldSerializeformatted_price_before_bundle_discount() => __pbn__formatted_price_before_bundle_discount != null;
            public void Resetformatted_price_before_bundle_discount() => __pbn__formatted_price_before_bundle_discount = null;
            private string __pbn__formatted_price_before_bundle_discount;

            [global::ProtoBuf.ProtoMember(20)]
            public global::System.Collections.Generic.List<Discount> active_discounts { get; } = new global::System.Collections.Generic.List<Discount>();

            [global::ProtoBuf.ProtoMember(31)]
            public bool user_can_purchase_as_gift
            {
                get => __pbn__user_can_purchase_as_gift.GetValueOrDefault();
                set => __pbn__user_can_purchase_as_gift = value;
            }
            public bool ShouldSerializeuser_can_purchase_as_gift() => __pbn__user_can_purchase_as_gift != null;
            public void Resetuser_can_purchase_as_gift() => __pbn__user_can_purchase_as_gift = null;
            private bool? __pbn__user_can_purchase_as_gift;

            [global::ProtoBuf.ProtoMember(40)]
            public bool is_commercial_license
            {
                get => __pbn__is_commercial_license.GetValueOrDefault();
                set => __pbn__is_commercial_license = value;
            }
            public bool ShouldSerializeis_commercial_license() => __pbn__is_commercial_license != null;
            public void Resetis_commercial_license() => __pbn__is_commercial_license = null;
            private bool? __pbn__is_commercial_license;

            [global::ProtoBuf.ProtoMember(41)]
            public bool should_suppress_discount_pct
            {
                get => __pbn__should_suppress_discount_pct.GetValueOrDefault();
                set => __pbn__should_suppress_discount_pct = value;
            }
            public bool ShouldSerializeshould_suppress_discount_pct() => __pbn__should_suppress_discount_pct != null;
            public void Resetshould_suppress_discount_pct() => __pbn__should_suppress_discount_pct = null;
            private bool? __pbn__should_suppress_discount_pct;

            [global::ProtoBuf.ProtoMember(42)]
            [global::System.ComponentModel.DefaultValue(false)]
            public bool hide_discount_pct_for_compliance
            {
                get => __pbn__hide_discount_pct_for_compliance ?? false;
                set => __pbn__hide_discount_pct_for_compliance = value;
            }
            public bool ShouldSerializehide_discount_pct_for_compliance() => __pbn__hide_discount_pct_for_compliance != null;
            public void Resethide_discount_pct_for_compliance() => __pbn__hide_discount_pct_for_compliance = null;
            private bool? __pbn__hide_discount_pct_for_compliance;

            [global::ProtoBuf.ProtoMember(43)]
            [global::System.ComponentModel.DefaultValue(1)]
            public int included_game_count
            {
                get => __pbn__included_game_count ?? 1;
                set => __pbn__included_game_count = value;
            }
            public bool ShouldSerializeincluded_game_count() => __pbn__included_game_count != null;
            public void Resetincluded_game_count() => __pbn__included_game_count = null;
            private int? __pbn__included_game_count;

            [global::ProtoBuf.ProtoMember(44)]
            public long lowest_recent_price_in_cents
            {
                get => __pbn__lowest_recent_price_in_cents.GetValueOrDefault();
                set => __pbn__lowest_recent_price_in_cents = value;
            }
            public bool ShouldSerializelowest_recent_price_in_cents() => __pbn__lowest_recent_price_in_cents != null;
            public void Resetlowest_recent_price_in_cents() => __pbn__lowest_recent_price_in_cents = null;
            private long? __pbn__lowest_recent_price_in_cents;

            [global::ProtoBuf.ProtoMember(45)]
            public bool requires_shipping
            {
                get => __pbn__requires_shipping.GetValueOrDefault();
                set => __pbn__requires_shipping = value;
            }
            public bool ShouldSerializerequires_shipping() => __pbn__requires_shipping != null;
            public void Resetrequires_shipping() => __pbn__requires_shipping = null;
            private bool? __pbn__requires_shipping;

            [global::ProtoBuf.ProtoMember(46)]
            public RecurrenceInfo recurrence_info { get; set; }

            [global::ProtoBuf.ProtoMember(47)]
            public uint free_to_keep_ends
            {
                get => __pbn__free_to_keep_ends.GetValueOrDefault();
                set => __pbn__free_to_keep_ends = value;
            }
            public bool ShouldSerializefree_to_keep_ends() => __pbn__free_to_keep_ends != null;
            public void Resetfree_to_keep_ends() => __pbn__free_to_keep_ends = null;
            private uint? __pbn__free_to_keep_ends;

            [global::ProtoBuf.ProtoContract()]
            public partial class Discount : 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 long discount_amount
                {
                    get => __pbn__discount_amount.GetValueOrDefault();
                    set => __pbn__discount_amount = value;
                }
                public bool ShouldSerializediscount_amount() => __pbn__discount_amount != null;
                public void Resetdiscount_amount() => __pbn__discount_amount = null;
                private long? __pbn__discount_amount;

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

                [global::ProtoBuf.ProtoMember(3)]
                public uint discount_end_date
                {
                    get => __pbn__discount_end_date.GetValueOrDefault();
                    set => __pbn__discount_end_date = value;
                }
                public bool ShouldSerializediscount_end_date() => __pbn__discount_end_date != null;
                public void Resetdiscount_end_date() => __pbn__discount_end_date = null;
                private uint? __pbn__discount_end_date;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class RecurrenceInfo : 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 packageid
                {
                    get => __pbn__packageid.GetValueOrDefault();
                    set => __pbn__packageid = value;
                }
                public bool ShouldSerializepackageid() => __pbn__packageid != null;
                public void Resetpackageid() => __pbn__packageid = null;
                private int? __pbn__packageid;

                [global::ProtoBuf.ProtoMember(2)]
                public int billing_agreement_type
                {
                    get => __pbn__billing_agreement_type.GetValueOrDefault();
                    set => __pbn__billing_agreement_type = value;
                }
                public bool ShouldSerializebilling_agreement_type() => __pbn__billing_agreement_type != null;
                public void Resetbilling_agreement_type() => __pbn__billing_agreement_type = null;
                private int? __pbn__billing_agreement_type;

                [global::ProtoBuf.ProtoMember(3)]
                public int renewal_time_unit
                {
                    get => __pbn__renewal_time_unit.GetValueOrDefault();
                    set => __pbn__renewal_time_unit = value;
                }
                public bool ShouldSerializerenewal_time_unit() => __pbn__renewal_time_unit != null;
                public void Resetrenewal_time_unit() => __pbn__renewal_time_unit = null;
                private int? __pbn__renewal_time_unit;

                [global::ProtoBuf.ProtoMember(4)]
                public int renewal_time_period
                {
                    get => __pbn__renewal_time_period.GetValueOrDefault();
                    set => __pbn__renewal_time_period = value;
                }
                public bool ShouldSerializerenewal_time_period() => __pbn__renewal_time_period != null;
                public void Resetrenewal_time_period() => __pbn__renewal_time_period = null;
                private int? __pbn__renewal_time_period;

                [global::ProtoBuf.ProtoMember(5)]
                public long renewal_price_in_cents
                {
                    get => __pbn__renewal_price_in_cents.GetValueOrDefault();
                    set => __pbn__renewal_price_in_cents = value;
                }
                public bool ShouldSerializerenewal_price_in_cents() => __pbn__renewal_price_in_cents != null;
                public void Resetrenewal_price_in_cents() => __pbn__renewal_price_in_cents = null;
                private long? __pbn__renewal_price_in_cents;

                [global::ProtoBuf.ProtoMember(6)]
                [global::System.ComponentModel.DefaultValue("")]
                public string formatted_renewal_price
                {
                    get => __pbn__formatted_renewal_price ?? "";
                    set => __pbn__formatted_renewal_price = value;
                }
                public bool ShouldSerializeformatted_renewal_price() => __pbn__formatted_renewal_price != null;
                public void Resetformatted_renewal_price() => __pbn__formatted_renewal_price = null;
                private string __pbn__formatted_renewal_price;

            }

        }

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

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

            [global::ProtoBuf.ProtoContract()]
            public partial class Screenshot : 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 filename
                {
                    get => __pbn__filename ?? "";
                    set => __pbn__filename = value;
                }
                public bool ShouldSerializefilename() => __pbn__filename != null;
                public void Resetfilename() => __pbn__filename = null;
                private string __pbn__filename;

                [global::ProtoBuf.ProtoMember(2)]
                public int ordinal
                {
                    get => __pbn__ordinal.GetValueOrDefault();
                    set => __pbn__ordinal = value;
                }
                public bool ShouldSerializeordinal() => __pbn__ordinal != null;
                public void Resetordinal() => __pbn__ordinal = null;
                private int? __pbn__ordinal;

            }

        }

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

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

            [global::ProtoBuf.ProtoContract()]
            public partial class VideoSource : 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 filename
                {
                    get => __pbn__filename ?? "";
                    set => __pbn__filename = value;
                }
                public bool ShouldSerializefilename() => __pbn__filename != null;
                public void Resetfilename() => __pbn__filename = null;
                private string __pbn__filename;

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

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class Trailer : 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 trailer_name
                {
                    get => __pbn__trailer_name ?? "";
                    set => __pbn__trailer_name = value;
                }
                public bool ShouldSerializetrailer_name() => __pbn__trailer_name != null;
                public void Resettrailer_name() => __pbn__trailer_name = null;
                private string __pbn__trailer_name;

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

                [global::ProtoBuf.ProtoMember(3)]
                public global::System.Collections.Generic.List<StoreItem.Trailers.VideoSource> trailer_480p { get; } = new global::System.Collections.Generic.List<StoreItem.Trailers.VideoSource>();

                [global::ProtoBuf.ProtoMember(4)]
                public global::System.Collections.Generic.List<StoreItem.Trailers.VideoSource> trailer_max { get; } = new global::System.Collections.Generic.List<StoreItem.Trailers.VideoSource>();

                [global::ProtoBuf.ProtoMember(5)]
                public global::System.Collections.Generic.List<StoreItem.Trailers.VideoSource> microtrailer { get; } = new global::System.Collections.Generic.List<StoreItem.Trailers.VideoSource>();

                [global::ProtoBuf.ProtoMember(10)]
                [global::System.ComponentModel.DefaultValue("")]
                public string screenshot_medium
                {
                    get => __pbn__screenshot_medium ?? "";
                    set => __pbn__screenshot_medium = value;
                }
                public bool ShouldSerializescreenshot_medium() => __pbn__screenshot_medium != null;
                public void Resetscreenshot_medium() => __pbn__screenshot_medium = null;
                private string __pbn__screenshot_medium;

                [global::ProtoBuf.ProtoMember(11)]
                [global::System.ComponentModel.DefaultValue("")]
                public string screenshot_full
                {
                    get => __pbn__screenshot_full ?? "";
                    set => __pbn__screenshot_full = value;
                }
                public bool ShouldSerializescreenshot_full() => __pbn__screenshot_full != null;
                public void Resetscreenshot_full() => __pbn__screenshot_full = null;
                private string __pbn__screenshot_full;

                [global::ProtoBuf.ProtoMember(12)]
                public int trailer_base_id
                {
                    get => __pbn__trailer_base_id.GetValueOrDefault();
                    set => __pbn__trailer_base_id = value;
                }
                public bool ShouldSerializetrailer_base_id() => __pbn__trailer_base_id != null;
                public void Resettrailer_base_id() => __pbn__trailer_base_id = null;
                private int? __pbn__trailer_base_id;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class SupportedLanguage : 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(-1)]
            public int elanguage
            {
                get => __pbn__elanguage ?? -1;
                set => __pbn__elanguage = value;
            }
            public bool ShouldSerializeelanguage() => __pbn__elanguage != null;
            public void Resetelanguage() => __pbn__elanguage = null;
            private int? __pbn__elanguage;

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int eadditionallanguage
            {
                get => __pbn__eadditionallanguage ?? -1;
                set => __pbn__eadditionallanguage = value;
            }
            public bool ShouldSerializeeadditionallanguage() => __pbn__eadditionallanguage != null;
            public void Reseteadditionallanguage() => __pbn__eadditionallanguage = null;
            private int? __pbn__eadditionallanguage;

            [global::ProtoBuf.ProtoMember(2)]
            public bool supported
            {
                get => __pbn__supported.GetValueOrDefault();
                set => __pbn__supported = value;
            }
            public bool ShouldSerializesupported() => __pbn__supported != null;
            public void Resetsupported() => __pbn__supported = null;
            private bool? __pbn__supported;

            [global::ProtoBuf.ProtoMember(3)]
            public bool full_audio
            {
                get => __pbn__full_audio.GetValueOrDefault();
                set => __pbn__full_audio = value;
            }
            public bool ShouldSerializefull_audio() => __pbn__full_audio != null;
            public void Resetfull_audio() => __pbn__full_audio = null;
            private bool? __pbn__full_audio;

            [global::ProtoBuf.ProtoMember(4)]
            public bool subtitles
            {
                get => __pbn__subtitles.GetValueOrDefault();
                set => __pbn__subtitles = value;
            }
            public bool ShouldSerializesubtitles() => __pbn__subtitles != null;
            public void Resetsubtitles() => __pbn__subtitles = null;
            private bool? __pbn__subtitles;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class FreeWeekend : 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 start_time
            {
                get => __pbn__start_time.GetValueOrDefault();
                set => __pbn__start_time = value;
            }
            public bool ShouldSerializestart_time() => __pbn__start_time != null;
            public void Resetstart_time() => __pbn__start_time = null;
            private uint? __pbn__start_time;

            [global::ProtoBuf.ProtoMember(2)]
            public uint end_time
            {
                get => __pbn__end_time.GetValueOrDefault();
                set => __pbn__end_time = value;
            }
            public bool ShouldSerializeend_time() => __pbn__end_time != null;
            public void Resetend_time() => __pbn__end_time = null;
            private uint? __pbn__end_time;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string text
            {
                get => __pbn__text ?? "";
                set => __pbn__text = value;
            }
            public bool ShouldSerializetext() => __pbn__text != null;
            public void Resettext() => __pbn__text = null;
            private string __pbn__text;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Link : 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(EStoreLinkType.k_EStoreLinkType_None)]
            public EStoreLinkType link_type
            {
                get => __pbn__link_type ?? EStoreLinkType.k_EStoreLinkType_None;
                set => __pbn__link_type = value;
            }
            public bool ShouldSerializelink_type() => __pbn__link_type != null;
            public void Resetlink_type() => __pbn__link_type = null;
            private EStoreLinkType? __pbn__link_type;

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

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string text
            {
                get => __pbn__text ?? "";
                set => __pbn__text = value;
            }
            public bool ShouldSerializetext() => __pbn__text != null;
            public void Resettext() => __pbn__text = null;
            private string __pbn__text;

        }

    }

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

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

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

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string interactive_elements
        {
            get => __pbn__interactive_elements ?? "";
            set => __pbn__interactive_elements = value;
        }
        public bool ShouldSerializeinteractive_elements() => __pbn__interactive_elements != null;
        public void Resetinteractive_elements() => __pbn__interactive_elements = null;
        private string __pbn__interactive_elements;

        [global::ProtoBuf.ProtoMember(10)]
        public int required_age
        {
            get => __pbn__required_age.GetValueOrDefault();
            set => __pbn__required_age = value;
        }
        public bool ShouldSerializerequired_age() => __pbn__required_age != null;
        public void Resetrequired_age() => __pbn__required_age = null;
        private int? __pbn__required_age;

        [global::ProtoBuf.ProtoMember(11)]
        public bool use_age_gate
        {
            get => __pbn__use_age_gate.GetValueOrDefault();
            set => __pbn__use_age_gate = value;
        }
        public bool ShouldSerializeuse_age_gate() => __pbn__use_age_gate != null;
        public void Resetuse_age_gate() => __pbn__use_age_gate = null;
        private bool? __pbn__use_age_gate;

        [global::ProtoBuf.ProtoMember(20)]
        [global::System.ComponentModel.DefaultValue("")]
        public string image_url
        {
            get => __pbn__image_url ?? "";
            set => __pbn__image_url = value;
        }
        public bool ShouldSerializeimage_url() => __pbn__image_url != null;
        public void Resetimage_url() => __pbn__image_url = null;
        private string __pbn__image_url;

        [global::ProtoBuf.ProtoMember(21)]
        [global::System.ComponentModel.DefaultValue("")]
        public string image_target
        {
            get => __pbn__image_target ?? "";
            set => __pbn__image_target = value;
        }
        public bool ShouldSerializeimage_target() => __pbn__image_target != null;
        public void Resetimage_target() => __pbn__image_target = null;
        private string __pbn__image_target;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class StoreBrowseFilterFailure : 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(EStoreBrowseFilterFailure.k_EStoreBrowseFilterFailure_None)]
        public EStoreBrowseFilterFailure filter_failure
        {
            get => __pbn__filter_failure ?? EStoreBrowseFilterFailure.k_EStoreBrowseFilterFailure_None;
            set => __pbn__filter_failure = value;
        }
        public bool ShouldSerializefilter_failure() => __pbn__filter_failure != null;
        public void Resetfilter_failure() => __pbn__filter_failure = null;
        private EStoreBrowseFilterFailure? __pbn__filter_failure;

        [global::ProtoBuf.ProtoMember(5)]
        public bool already_owned
        {
            get => __pbn__already_owned.GetValueOrDefault();
            set => __pbn__already_owned = value;
        }
        public bool ShouldSerializealready_owned() => __pbn__already_owned != null;
        public void Resetalready_owned() => __pbn__already_owned = null;
        private bool? __pbn__already_owned;

        [global::ProtoBuf.ProtoMember(6)]
        public bool on_wishlist
        {
            get => __pbn__on_wishlist.GetValueOrDefault();
            set => __pbn__on_wishlist = value;
        }
        public bool ShouldSerializeon_wishlist() => __pbn__on_wishlist != null;
        public void Reseton_wishlist() => __pbn__on_wishlist = null;
        private bool? __pbn__on_wishlist;

        [global::ProtoBuf.ProtoMember(7)]
        public bool ignored
        {
            get => __pbn__ignored.GetValueOrDefault();
            set => __pbn__ignored = value;
        }
        public bool ShouldSerializeignored() => __pbn__ignored != null;
        public void Resetignored() => __pbn__ignored = null;
        private bool? __pbn__ignored;

        [global::ProtoBuf.ProtoMember(10)]
        public bool not_in_users_language
        {
            get => __pbn__not_in_users_language.GetValueOrDefault();
            set => __pbn__not_in_users_language = value;
        }
        public bool ShouldSerializenot_in_users_language() => __pbn__not_in_users_language != null;
        public void Resetnot_in_users_language() => __pbn__not_in_users_language = null;
        private bool? __pbn__not_in_users_language;

        [global::ProtoBuf.ProtoMember(11)]
        public bool not_on_users_platform
        {
            get => __pbn__not_on_users_platform.GetValueOrDefault();
            set => __pbn__not_on_users_platform = value;
        }
        public bool ShouldSerializenot_on_users_platform() => __pbn__not_on_users_platform != null;
        public void Resetnot_on_users_platform() => __pbn__not_on_users_platform = null;
        private bool? __pbn__not_on_users_platform;

        [global::ProtoBuf.ProtoMember(12)]
        public bool demo_for_owned_game
        {
            get => __pbn__demo_for_owned_game.GetValueOrDefault();
            set => __pbn__demo_for_owned_game = value;
        }
        public bool ShouldSerializedemo_for_owned_game() => __pbn__demo_for_owned_game != null;
        public void Resetdemo_for_owned_game() => __pbn__demo_for_owned_game = null;
        private bool? __pbn__demo_for_owned_game;

        [global::ProtoBuf.ProtoMember(13)]
        public bool dlc_for_unowned_game
        {
            get => __pbn__dlc_for_unowned_game.GetValueOrDefault();
            set => __pbn__dlc_for_unowned_game = value;
        }
        public bool ShouldSerializedlc_for_unowned_game() => __pbn__dlc_for_unowned_game != null;
        public void Resetdlc_for_unowned_game() => __pbn__dlc_for_unowned_game = null;
        private bool? __pbn__dlc_for_unowned_game;

        [global::ProtoBuf.ProtoMember(20)]
        public bool nonpreferred_product_type
        {
            get => __pbn__nonpreferred_product_type.GetValueOrDefault();
            set => __pbn__nonpreferred_product_type = value;
        }
        public bool ShouldSerializenonpreferred_product_type() => __pbn__nonpreferred_product_type != null;
        public void Resetnonpreferred_product_type() => __pbn__nonpreferred_product_type = null;
        private bool? __pbn__nonpreferred_product_type;

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

        [global::ProtoBuf.ProtoMember(30)]
        public global::System.Collections.Generic.List<EContentDescriptorID> excluded_content_descriptorids { get; } = new global::System.Collections.Generic.List<EContentDescriptorID>();

    }

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CStoreBrowse_GetStoreCategories_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 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)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int elanguage
        {
            get => __pbn__elanguage ?? -1;
            set => __pbn__elanguage = value;
        }
        public bool ShouldSerializeelanguage() => __pbn__elanguage != null;
        public void Resetelanguage() => __pbn__elanguage = null;
        private int? __pbn__elanguage;

    }

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

        [global::ProtoBuf.ProtoContract()]
        public partial class Category : 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 categoryid
            {
                get => __pbn__categoryid.GetValueOrDefault();
                set => __pbn__categoryid = value;
            }
            public bool ShouldSerializecategoryid() => __pbn__categoryid != null;
            public void Resetcategoryid() => __pbn__categoryid = null;
            private uint? __pbn__categoryid;

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

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string internal_name
            {
                get => __pbn__internal_name ?? "";
                set => __pbn__internal_name = value;
            }
            public bool ShouldSerializeinternal_name() => __pbn__internal_name != null;
            public void Resetinternal_name() => __pbn__internal_name = null;
            private string __pbn__internal_name;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue("")]
            public string display_name
            {
                get => __pbn__display_name ?? "";
                set => __pbn__display_name = value;
            }
            public bool ShouldSerializedisplay_name() => __pbn__display_name != null;
            public void Resetdisplay_name() => __pbn__display_name = null;
            private string __pbn__display_name;

            [global::ProtoBuf.ProtoMember(5)]
            [global::System.ComponentModel.DefaultValue("")]
            public string image_url
            {
                get => __pbn__image_url ?? "";
                set => __pbn__image_url = value;
            }
            public bool ShouldSerializeimage_url() => __pbn__image_url != null;
            public void Resetimage_url() => __pbn__image_url = null;
            private string __pbn__image_url;

            [global::ProtoBuf.ProtoMember(6)]
            public bool show_in_search
            {
                get => __pbn__show_in_search.GetValueOrDefault();
                set => __pbn__show_in_search = value;
            }
            public bool ShouldSerializeshow_in_search() => __pbn__show_in_search != null;
            public void Resetshow_in_search() => __pbn__show_in_search = null;
            private bool? __pbn__show_in_search;

            [global::ProtoBuf.ProtoMember(7)]
            public bool computed
            {
                get => __pbn__computed.GetValueOrDefault();
                set => __pbn__computed = value;
            }
            public bool ShouldSerializecomputed() => __pbn__computed != null;
            public void Resetcomputed() => __pbn__computed = null;
            private bool? __pbn__computed;

            [global::ProtoBuf.ProtoMember(8)]
            [global::System.ComponentModel.DefaultValue("")]
            public string edit_url
            {
                get => __pbn__edit_url ?? "";
                set => __pbn__edit_url = value;
            }
            public bool ShouldSerializeedit_url() => __pbn__edit_url != null;
            public void Resetedit_url() => __pbn__edit_url = null;
            private string __pbn__edit_url;

            [global::ProtoBuf.ProtoMember(9)]
            public uint edit_sort_order
            {
                get => __pbn__edit_sort_order.GetValueOrDefault();
                set => __pbn__edit_sort_order = value;
            }
            public bool ShouldSerializeedit_sort_order() => __pbn__edit_sort_order != null;
            public void Resetedit_sort_order() => __pbn__edit_sort_order = null;
            private uint? __pbn__edit_sort_order;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CStoreBrowse_GetPriceStops_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 country_code
        {
            get => __pbn__country_code ?? "";
            set => __pbn__country_code = value;
        }
        public bool ShouldSerializecountry_code() => __pbn__country_code != null;
        public void Resetcountry_code() => __pbn__country_code = null;
        private string __pbn__country_code;

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

    }

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

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

        [global::ProtoBuf.ProtoContract()]
        public partial class PriceStop : 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 formatted_amount
            {
                get => __pbn__formatted_amount ?? "";
                set => __pbn__formatted_amount = value;
            }
            public bool ShouldSerializeformatted_amount() => __pbn__formatted_amount != null;
            public void Resetformatted_amount() => __pbn__formatted_amount = null;
            private string __pbn__formatted_amount;

            [global::ProtoBuf.ProtoMember(2)]
            public long amount_in_cents
            {
                get => __pbn__amount_in_cents.GetValueOrDefault();
                set => __pbn__amount_in_cents = value;
            }
            public bool ShouldSerializeamount_in_cents() => __pbn__amount_in_cents != null;
            public void Resetamount_in_cents() => __pbn__amount_in_cents = null;
            private long? __pbn__amount_in_cents;

        }

    }

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

        [global::ProtoBuf.ProtoMember(2)]
        public CStorePageFilter store_page_filter { get; set; }

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

        [global::ProtoBuf.ProtoMember(4)]
        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 CStoreBrowse_GetDLCForApps_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<DLCData> dlc_data { get; } = new global::System.Collections.Generic.List<DLCData>();

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

        [global::ProtoBuf.ProtoContract()]
        public partial class DLCData : 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 parentappid
            {
                get => __pbn__parentappid.GetValueOrDefault();
                set => __pbn__parentappid = value;
            }
            public bool ShouldSerializeparentappid() => __pbn__parentappid != null;
            public void Resetparentappid() => __pbn__parentappid = null;
            private uint? __pbn__parentappid;

            [global::ProtoBuf.ProtoMember(3)]
            public uint release_date
            {
                get => __pbn__release_date.GetValueOrDefault();
                set => __pbn__release_date = value;
            }
            public bool ShouldSerializerelease_date() => __pbn__release_date != null;
            public void Resetrelease_date() => __pbn__release_date = null;
            private uint? __pbn__release_date;

            [global::ProtoBuf.ProtoMember(4)]
            public bool coming_soon
            {
                get => __pbn__coming_soon.GetValueOrDefault();
                set => __pbn__coming_soon = value;
            }
            public bool ShouldSerializecoming_soon() => __pbn__coming_soon != null;
            public void Resetcoming_soon() => __pbn__coming_soon = null;
            private bool? __pbn__coming_soon;

            [global::ProtoBuf.ProtoMember(5)]
            public long price
            {
                get => __pbn__price.GetValueOrDefault();
                set => __pbn__price = value;
            }
            public bool ShouldSerializeprice() => __pbn__price != null;
            public void Resetprice() => __pbn__price = null;
            private long? __pbn__price;

            [global::ProtoBuf.ProtoMember(6)]
            public uint discount
            {
                get => __pbn__discount.GetValueOrDefault();
                set => __pbn__discount = value;
            }
            public bool ShouldSerializediscount() => __pbn__discount != null;
            public void Resetdiscount() => __pbn__discount = null;
            private uint? __pbn__discount;

            [global::ProtoBuf.ProtoMember(7)]
            public bool free
            {
                get => __pbn__free.GetValueOrDefault();
                set => __pbn__free = value;
            }
            public bool ShouldSerializefree() => __pbn__free != null;
            public void Resetfree() => __pbn__free = null;
            private bool? __pbn__free;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlaytimeForApp : 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 playtime
            {
                get => __pbn__playtime.GetValueOrDefault();
                set => __pbn__playtime = value;
            }
            public bool ShouldSerializeplaytime() => __pbn__playtime != null;
            public void Resetplaytime() => __pbn__playtime = null;
            private uint? __pbn__playtime;

            [global::ProtoBuf.ProtoMember(3)]
            public uint last_played
            {
                get => __pbn__last_played.GetValueOrDefault();
                set => __pbn__last_played = value;
            }
            public bool ShouldSerializelast_played() => __pbn__last_played != null;
            public void Resetlast_played() => __pbn__last_played = null;
            private uint? __pbn__last_played;

        }

    }

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

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

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string flavor
        {
            get => __pbn__flavor ?? "";
            set => __pbn__flavor = value;
        }
        public bool ShouldSerializeflavor() => __pbn__flavor != null;
        public void Resetflavor() => __pbn__flavor = null;
        private string __pbn__flavor;

        [global::ProtoBuf.ProtoMember(4)]
        public uint count
        {
            get => __pbn__count.GetValueOrDefault();
            set => __pbn__count = value;
        }
        public bool ShouldSerializecount() => __pbn__count != null;
        public void Resetcount() => __pbn__count = null;
        private uint? __pbn__count;

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

    }

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

        [global::ProtoBuf.ProtoContract()]
        public partial class DLCList : 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 parent_appid
            {
                get => __pbn__parent_appid.GetValueOrDefault();
                set => __pbn__parent_appid = value;
            }
            public bool ShouldSerializeparent_appid() => __pbn__parent_appid != null;
            public void Resetparent_appid() => __pbn__parent_appid = null;
            private uint? __pbn__parent_appid;

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

        }

    }

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

        [global::ProtoBuf.ProtoMember(2)]
        public StoreBrowseContext context { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CHardwarePackageDetails : 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 packageid
        {
            get => __pbn__packageid.GetValueOrDefault();
            set => __pbn__packageid = value;
        }
        public bool ShouldSerializepackageid() => __pbn__packageid != null;
        public void Resetpackageid() => __pbn__packageid = null;
        private uint? __pbn__packageid;

        [global::ProtoBuf.ProtoMember(3)]
        public bool inventory_available
        {
            get => __pbn__inventory_available.GetValueOrDefault();
            set => __pbn__inventory_available = value;
        }
        public bool ShouldSerializeinventory_available() => __pbn__inventory_available != null;
        public void Resetinventory_available() => __pbn__inventory_available = null;
        private bool? __pbn__inventory_available;

        [global::ProtoBuf.ProtoMember(4)]
        public bool high_pending_orders
        {
            get => __pbn__high_pending_orders.GetValueOrDefault();
            set => __pbn__high_pending_orders = value;
        }
        public bool ShouldSerializehigh_pending_orders() => __pbn__high_pending_orders != null;
        public void Resethigh_pending_orders() => __pbn__high_pending_orders = null;
        private bool? __pbn__high_pending_orders;

        [global::ProtoBuf.ProtoMember(5)]
        public bool account_restricted_from_purchasing
        {
            get => __pbn__account_restricted_from_purchasing.GetValueOrDefault();
            set => __pbn__account_restricted_from_purchasing = value;
        }
        public bool ShouldSerializeaccount_restricted_from_purchasing() => __pbn__account_restricted_from_purchasing != null;
        public void Resetaccount_restricted_from_purchasing() => __pbn__account_restricted_from_purchasing = null;
        private bool? __pbn__account_restricted_from_purchasing;

        [global::ProtoBuf.ProtoMember(6)]
        public bool requires_reservation
        {
            get => __pbn__requires_reservation.GetValueOrDefault();
            set => __pbn__requires_reservation = value;
        }
        public bool ShouldSerializerequires_reservation() => __pbn__requires_reservation != null;
        public void Resetrequires_reservation() => __pbn__requires_reservation = null;
        private bool? __pbn__requires_reservation;

        [global::ProtoBuf.ProtoMember(7)]
        public uint rtime_estimated_notification
        {
            get => __pbn__rtime_estimated_notification.GetValueOrDefault();
            set => __pbn__rtime_estimated_notification = value;
        }
        public bool ShouldSerializertime_estimated_notification() => __pbn__rtime_estimated_notification != null;
        public void Resetrtime_estimated_notification() => __pbn__rtime_estimated_notification = null;
        private uint? __pbn__rtime_estimated_notification;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string notificaton_token
        {
            get => __pbn__notificaton_token ?? "";
            set => __pbn__notificaton_token = value;
        }
        public bool ShouldSerializenotificaton_token() => __pbn__notificaton_token != null;
        public void Resetnotificaton_token() => __pbn__notificaton_token = null;
        private string __pbn__notificaton_token;

        [global::ProtoBuf.ProtoMember(9)]
        public int reservation_state
        {
            get => __pbn__reservation_state.GetValueOrDefault();
            set => __pbn__reservation_state = value;
        }
        public bool ShouldSerializereservation_state() => __pbn__reservation_state != null;
        public void Resetreservation_state() => __pbn__reservation_state = null;
        private int? __pbn__reservation_state;

        [global::ProtoBuf.ProtoMember(10)]
        public bool expired
        {
            get => __pbn__expired.GetValueOrDefault();
            set => __pbn__expired = value;
        }
        public bool ShouldSerializeexpired() => __pbn__expired != null;
        public void Resetexpired() => __pbn__expired = null;
        private bool? __pbn__expired;

        [global::ProtoBuf.ProtoMember(11)]
        public uint time_expires
        {
            get => __pbn__time_expires.GetValueOrDefault();
            set => __pbn__time_expires = value;
        }
        public bool ShouldSerializetime_expires() => __pbn__time_expires != null;
        public void Resettime_expires() => __pbn__time_expires = null;
        private uint? __pbn__time_expires;

        [global::ProtoBuf.ProtoMember(12)]
        public uint time_reserved
        {
            get => __pbn__time_reserved.GetValueOrDefault();
            set => __pbn__time_reserved = value;
        }
        public bool ShouldSerializetime_reserved() => __pbn__time_reserved != null;
        public void Resettime_reserved() => __pbn__time_reserved = null;
        private uint? __pbn__time_reserved;

        [global::ProtoBuf.ProtoMember(13)]
        public bool allow_quantity_purchase
        {
            get => __pbn__allow_quantity_purchase.GetValueOrDefault();
            set => __pbn__allow_quantity_purchase = value;
        }
        public bool ShouldSerializeallow_quantity_purchase() => __pbn__allow_quantity_purchase != null;
        public void Resetallow_quantity_purchase() => __pbn__allow_quantity_purchase = null;
        private bool? __pbn__allow_quantity_purchase;

        [global::ProtoBuf.ProtoMember(14)]
        public int max_quantity_per_purchase
        {
            get => __pbn__max_quantity_per_purchase.GetValueOrDefault();
            set => __pbn__max_quantity_per_purchase = value;
        }
        public bool ShouldSerializemax_quantity_per_purchase() => __pbn__max_quantity_per_purchase != null;
        public void Resetmax_quantity_per_purchase() => __pbn__max_quantity_per_purchase = null;
        private int? __pbn__max_quantity_per_purchase;

        [global::ProtoBuf.ProtoMember(15)]
        public bool allow_purchase_in_country
        {
            get => __pbn__allow_purchase_in_country.GetValueOrDefault();
            set => __pbn__allow_purchase_in_country = value;
        }
        public bool ShouldSerializeallow_purchase_in_country() => __pbn__allow_purchase_in_country != null;
        public void Resetallow_purchase_in_country() => __pbn__allow_purchase_in_country = null;
        private bool? __pbn__allow_purchase_in_country;

        [global::ProtoBuf.ProtoMember(17)]
        public uint estimated_delivery_soonest_business_days
        {
            get => __pbn__estimated_delivery_soonest_business_days.GetValueOrDefault();
            set => __pbn__estimated_delivery_soonest_business_days = value;
        }
        public bool ShouldSerializeestimated_delivery_soonest_business_days() => __pbn__estimated_delivery_soonest_business_days != null;
        public void Resetestimated_delivery_soonest_business_days() => __pbn__estimated_delivery_soonest_business_days = null;
        private uint? __pbn__estimated_delivery_soonest_business_days;

        [global::ProtoBuf.ProtoMember(18)]
        public uint estimated_delivery_latest_business_days
        {
            get => __pbn__estimated_delivery_latest_business_days.GetValueOrDefault();
            set => __pbn__estimated_delivery_latest_business_days = value;
        }
        public bool ShouldSerializeestimated_delivery_latest_business_days() => __pbn__estimated_delivery_latest_business_days != null;
        public void Resetestimated_delivery_latest_business_days() => __pbn__estimated_delivery_latest_business_days = null;
        private uint? __pbn__estimated_delivery_latest_business_days;

    }

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

    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStoreItemType
    {
        k_EStoreItemType_Invalid = -1,
        k_EStoreItemType_App = 0,
        k_EStoreItemType_Package = 1,
        k_EStoreItemType_Bundle = 2,
        k_EStoreItemType_Mtx = 3,
        k_EStoreItemType_Tag = 4,
        k_EStoreItemType_Creator = 5,
        k_EStoreItemType_HubCategory = 6,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStoreAppType
    {
        k_EStoreAppType_Game = 0,
        k_EStoreAppType_Demo = 1,
        k_EStoreAppType_Mod = 2,
        k_EStoreAppType_Movie = 3,
        k_EStoreAppType_DLC = 4,
        k_EStoreAppType_Guide = 5,
        k_EStoreAppType_Software = 6,
        k_EStoreAppType_Video = 7,
        k_EStoreAppType_Series = 8,
        k_EStoreAppType_Episode = 9,
        k_EStoreAppType_Hardware = 10,
        k_EStoreAppType_Music = 11,
        k_EStoreAppType_Beta = 12,
        k_EStoreAppType_Tool = 13,
        k_EStoreAppType_Advertising = 14,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EUserReviewScore
    {
        k_EUserReviewScore_None = 0,
        k_EUserReviewScore_OverwhelminglyNegative = 1,
        k_EUserReviewScore_VeryNegative = 2,
        k_EUserReviewScore_Negative = 3,
        k_EUserReviewScore_MostlyNegative = 4,
        k_EUserReviewScore_Mixed = 5,
        k_EUserReviewScore_MostlyPositive = 6,
        k_EUserReviewScore_Positive = 7,
        k_EUserReviewScore_VeryPositive = 8,
        k_EUserReviewScore_OverwhelminglyPositive = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStoreBrowseFilterFailure
    {
        k_EStoreBrowseFilterFailure_None = 0,
        k_EStoreBrowseFilterFailure_Redundant = 10,
        k_EStoreBrowseFilterFailure_NotPreferred = 20,
        k_EStoreBrowseFilterFailure_NotInterested = 30,
        k_EStoreBrowseFilterFailure_UnwantedContent = 40,
        k_EStoreBrowseFilterFailure_Unavailable = 50,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStoreLinkType
    {
        k_EStoreLinkType_None = 0,
        k_EStoreLinkType_YouTube = 1,
        k_EStoreLinkType_Facebook = 2,
        k_EStoreLinkType_Twitter = 3,
        k_EStoreLinkType_Twitch = 4,
        k_EStoreLinkType_Discord = 5,
        k_EStoreLinkType_QQ = 6,
        k_EStoreLinkType_VK = 7,
        k_EStoreLinkType_Bilibili = 8,
        k_EStoreLinkType_Weibo = 9,
        k_EStoreLinkType_Reddit = 10,
        k_EStoreLinkType_Instagram = 11,
        k_EStoreLinkType_Tumblr = 12,
        k_EStoreLinkType_Tieba = 13,
        k_EStoreLinkType_Tiktok = 14,
        k_EStoreLinkType_Telegram = 15,
        k_EStoreLinkType_LinkedIn = 16,
        k_EStoreLinkType_WeChat = 17,
        k_EStoreLinkType_QQLink = 18,
        k_EStoreLinkType_Douyin = 19,
        k_EStoreLinkType_Bluesky = 20,
        k_EStoreLinkType_Mastodon = 21,
        k_EStoreLinkType_Threads = 22,
        k_EStoreLinkType_MAX = 23,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum EStoreCategoryType
    {
        k_EStoreCategoryType_Category = 0,
        k_EStoreCategoryType_SupportedPlayers = 1,
        k_EStoreCategoryType_Feature = 2,
        k_EStoreCategoryType_ControllerSupport = 3,
        k_EStoreCategoryType_CloudGaming = 4,
        k_EStoreCategoryType_MAX = 5,
    }

    public class StoreBrowse : SteamUnifiedMessages.UnifiedService
    {
        public override string ServiceName { get; } = "StoreBrowse";

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CStoreBrowse_GetItems_Response>> GetItems( CStoreBrowse_GetItems_Request request )
        {
            return UnifiedMessages.SendMessage<CStoreBrowse_GetItems_Request, CStoreBrowse_GetItems_Response>( "StoreBrowse.GetItems#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CStoreBrowse_GetStoreCategories_Response>> GetStoreCategories( CStoreBrowse_GetStoreCategories_Request request )
        {
            return UnifiedMessages.SendMessage<CStoreBrowse_GetStoreCategories_Request, CStoreBrowse_GetStoreCategories_Response>( "StoreBrowse.GetStoreCategories#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CStoreBrowse_GetPriceStops_Response>> GetPriceStops( CStoreBrowse_GetPriceStops_Request request )
        {
            return UnifiedMessages.SendMessage<CStoreBrowse_GetPriceStops_Request, CStoreBrowse_GetPriceStops_Response>( "StoreBrowse.GetPriceStops#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CStoreBrowse_GetDLCForApps_Response>> GetDLCForApps( CStoreBrowse_GetDLCForApps_Request request )
        {
            return UnifiedMessages.SendMessage<CStoreBrowse_GetDLCForApps_Request, CStoreBrowse_GetDLCForApps_Response>( "StoreBrowse.GetDLCForApps#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CStoreBrowse_GetDLCForAppsSolr_Response>> GetDLCForAppsSolr( CStoreBrowse_GetDLCForAppsSolr_Request request )
        {
            return UnifiedMessages.SendMessage<CStoreBrowse_GetDLCForAppsSolr_Request, CStoreBrowse_GetDLCForAppsSolr_Response>( "StoreBrowse.GetDLCForAppsSolr#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CStoreBrowse_GetHardwareItems_Response>> GetHardwareItems( CStoreBrowse_GetHardwareItems_Request request )
        {
            return UnifiedMessages.SendMessage<CStoreBrowse_GetHardwareItems_Request, CStoreBrowse_GetHardwareItems_Response>( "StoreBrowse.GetHardwareItems#1", request );
        }

        public override void HandleResponseMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
            switch ( methodName )
            {
                case "GetItems":
                    PostResponseMsg<CStoreBrowse_GetItems_Response>( packetMsg );
                    break;
                case "GetStoreCategories":
                    PostResponseMsg<CStoreBrowse_GetStoreCategories_Response>( packetMsg );
                    break;
                case "GetPriceStops":
                    PostResponseMsg<CStoreBrowse_GetPriceStops_Response>( packetMsg );
                    break;
                case "GetDLCForApps":
                    PostResponseMsg<CStoreBrowse_GetDLCForApps_Response>( packetMsg );
                    break;
                case "GetDLCForAppsSolr":
                    PostResponseMsg<CStoreBrowse_GetDLCForAppsSolr_Response>( packetMsg );
                    break;
                case "GetHardwareItems":
                    PostResponseMsg<CStoreBrowse_GetHardwareItems_Response>( packetMsg );
                    break;
            }
        }

        public override void HandleNotificationMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
        }
    }

}

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