// <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_steamlearn.steamworkssdk.proto
// </auto-generated>

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnDataSourceDescElement : 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)]
        [global::System.ComponentModel.DefaultValue(ESteamLearnDataType.STEAMLEARN_DATATYPE_INVALID)]
        public ESteamLearnDataType data_type
        {
            get => __pbn__data_type ?? ESteamLearnDataType.STEAMLEARN_DATATYPE_INVALID;
            set => __pbn__data_type = value;
        }
        public bool ShouldSerializedata_type() => __pbn__data_type != null;
        public void Resetdata_type() => __pbn__data_type = null;
        private ESteamLearnDataType? __pbn__data_type;

        [global::ProtoBuf.ProtoMember(3)]
        public CMsgSteamLearnDataSourceDescObject @object { get; set; }

        [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.ProtoContract()]
    public partial class CMsgSteamLearnDataSource : 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 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(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name
        {
            get => __pbn__name ?? "";
            set => __pbn__name = value;
        }
        public bool ShouldSerializename() => __pbn__name != null;
        public void Resetname() => __pbn__name = null;
        private string __pbn__name;

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

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string source_description
        {
            get => __pbn__source_description ?? "";
            set => __pbn__source_description = value;
        }
        public bool ShouldSerializesource_description() => __pbn__source_description != null;
        public void Resetsource_description() => __pbn__source_description = null;
        private string __pbn__source_description;

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

        [global::ProtoBuf.ProtoMember(6)]
        public uint structure_crc
        {
            get => __pbn__structure_crc.GetValueOrDefault();
            set => __pbn__structure_crc = value;
        }
        public bool ShouldSerializestructure_crc() => __pbn__structure_crc != null;
        public void Resetstructure_crc() => __pbn__structure_crc = null;
        private uint? __pbn__structure_crc;

        [global::ProtoBuf.ProtoMember(7)]
        public uint cache_duration_seconds
        {
            get => __pbn__cache_duration_seconds.GetValueOrDefault();
            set => __pbn__cache_duration_seconds = value;
        }
        public bool ShouldSerializecache_duration_seconds() => __pbn__cache_duration_seconds != null;
        public void Resetcache_duration_seconds() => __pbn__cache_duration_seconds = null;
        private uint? __pbn__cache_duration_seconds;

    }

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

    }

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

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

        [global::ProtoBuf.ProtoMember(22)]
        public global::System.Collections.Generic.List<bool> data_bools { get; } = new global::System.Collections.Generic.List<bool>();

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

        [global::ProtoBuf.ProtoMember(24)]
        public global::System.Collections.Generic.List<CMsgSteamLearnDataObject> data_objects { get; } = new global::System.Collections.Generic.List<CMsgSteamLearnDataObject>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnData : 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 data_source_id
        {
            get => __pbn__data_source_id.GetValueOrDefault();
            set => __pbn__data_source_id = value;
        }
        public bool ShouldSerializedata_source_id() => __pbn__data_source_id != null;
        public void Resetdata_source_id() => __pbn__data_source_id = null;
        private uint? __pbn__data_source_id;

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

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

    }

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearn_RegisterDataSource_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 access_token
        {
            get => __pbn__access_token ?? "";
            set => __pbn__access_token = value;
        }
        public bool ShouldSerializeaccess_token() => __pbn__access_token != null;
        public void Resetaccess_token() => __pbn__access_token = null;
        private string __pbn__access_token;

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

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ESteammLearnRegisterDataSourceResult.STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR)]
        public ESteammLearnRegisterDataSourceResult result
        {
            get => __pbn__result ?? ESteammLearnRegisterDataSourceResult.STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private ESteammLearnRegisterDataSourceResult? __pbn__result;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearn_CacheData_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 access_token
        {
            get => __pbn__access_token ?? "";
            set => __pbn__access_token = value;
        }
        public bool ShouldSerializeaccess_token() => __pbn__access_token != null;
        public void Resetaccess_token() => __pbn__access_token = null;
        private string __pbn__access_token;

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

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ESteamLearnCacheDataResult.STEAMLEARN_CACHE_DATA_ERROR)]
        public ESteamLearnCacheDataResult cache_data_result
        {
            get => __pbn__cache_data_result ?? ESteamLearnCacheDataResult.STEAMLEARN_CACHE_DATA_ERROR;
            set => __pbn__cache_data_result = value;
        }
        public bool ShouldSerializecache_data_result() => __pbn__cache_data_result != null;
        public void Resetcache_data_result() => __pbn__cache_data_result = null;
        private ESteamLearnCacheDataResult? __pbn__cache_data_result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearn_SnapshotProject_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 access_token
        {
            get => __pbn__access_token ?? "";
            set => __pbn__access_token = value;
        }
        public bool ShouldSerializeaccess_token() => __pbn__access_token != null;
        public void Resetaccess_token() => __pbn__access_token = null;
        private string __pbn__access_token;

        [global::ProtoBuf.ProtoMember(3)]
        public uint project_id
        {
            get => __pbn__project_id.GetValueOrDefault();
            set => __pbn__project_id = value;
        }
        public bool ShouldSerializeproject_id() => __pbn__project_id != null;
        public void Resetproject_id() => __pbn__project_id = null;
        private uint? __pbn__project_id;

        [global::ProtoBuf.ProtoMember(7)]
        public uint published_version
        {
            get => __pbn__published_version.GetValueOrDefault();
            set => __pbn__published_version = value;
        }
        public bool ShouldSerializepublished_version() => __pbn__published_version != null;
        public void Resetpublished_version() => __pbn__published_version = null;
        private uint? __pbn__published_version;

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

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

        [global::ProtoBuf.ProtoMember(6)]
        public uint pending_data_limit_seconds
        {
            get => __pbn__pending_data_limit_seconds.GetValueOrDefault();
            set => __pbn__pending_data_limit_seconds = value;
        }
        public bool ShouldSerializepending_data_limit_seconds() => __pbn__pending_data_limit_seconds != null;
        public void Resetpending_data_limit_seconds() => __pbn__pending_data_limit_seconds = null;
        private uint? __pbn__pending_data_limit_seconds;

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ESteamLearnSnapshotProjectResult.STEAMLEARN_SNAPSHOT_PROJECT_ERROR)]
        public ESteamLearnSnapshotProjectResult snapshot_result
        {
            get => __pbn__snapshot_result ?? ESteamLearnSnapshotProjectResult.STEAMLEARN_SNAPSHOT_PROJECT_ERROR;
            set => __pbn__snapshot_result = value;
        }
        public bool ShouldSerializesnapshot_result() => __pbn__snapshot_result != null;
        public void Resetsnapshot_result() => __pbn__snapshot_result = null;
        private ESteamLearnSnapshotProjectResult? __pbn__snapshot_result;

    }

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

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

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

    }

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

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnAccessTokens : 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 register_data_source_access_token
        {
            get => __pbn__register_data_source_access_token ?? "";
            set => __pbn__register_data_source_access_token = value;
        }
        public bool ShouldSerializeregister_data_source_access_token() => __pbn__register_data_source_access_token != null;
        public void Resetregister_data_source_access_token() => __pbn__register_data_source_access_token = null;
        private string __pbn__register_data_source_access_token;

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

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

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

        [global::ProtoBuf.ProtoContract()]
        public partial class CacheDataAccessToken : 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 data_source_id
            {
                get => __pbn__data_source_id.GetValueOrDefault();
                set => __pbn__data_source_id = value;
            }
            public bool ShouldSerializedata_source_id() => __pbn__data_source_id != null;
            public void Resetdata_source_id() => __pbn__data_source_id = null;
            private uint? __pbn__data_source_id;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class SnapshotProjectAccessToken : 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 project_id
            {
                get => __pbn__project_id.GetValueOrDefault();
                set => __pbn__project_id = value;
            }
            public bool ShouldSerializeproject_id() => __pbn__project_id != null;
            public void Resetproject_id() => __pbn__project_id = null;
            private uint? __pbn__project_id;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class InferenceAccessToken : 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 project_id
            {
                get => __pbn__project_id.GetValueOrDefault();
                set => __pbn__project_id = value;
            }
            public bool ShouldSerializeproject_id() => __pbn__project_id != null;
            public void Resetproject_id() => __pbn__project_id = null;
            private uint? __pbn__project_id;

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

        }

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        public uint appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ESteamLearnGetAccessTokensResult.STEAMLEARN_GET_ACCESS_TOKENS_ERROR)]
        public ESteamLearnGetAccessTokensResult result
        {
            get => __pbn__result ?? ESteamLearnGetAccessTokensResult.STEAMLEARN_GET_ACCESS_TOKENS_ERROR;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private ESteamLearnGetAccessTokensResult? __pbn__result;

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearn_Inference_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 access_token
        {
            get => __pbn__access_token ?? "";
            set => __pbn__access_token = value;
        }
        public bool ShouldSerializeaccess_token() => __pbn__access_token != null;
        public void Resetaccess_token() => __pbn__access_token = null;
        private string __pbn__access_token;

        [global::ProtoBuf.ProtoMember(3)]
        public uint project_id
        {
            get => __pbn__project_id.GetValueOrDefault();
            set => __pbn__project_id = value;
        }
        public bool ShouldSerializeproject_id() => __pbn__project_id != null;
        public void Resetproject_id() => __pbn__project_id = null;
        private uint? __pbn__project_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint published_version
        {
            get => __pbn__published_version.GetValueOrDefault();
            set => __pbn__published_version = value;
        }
        public bool ShouldSerializepublished_version() => __pbn__published_version != null;
        public void Resetpublished_version() => __pbn__published_version = null;
        private uint? __pbn__published_version;

        [global::ProtoBuf.ProtoMember(5)]
        public uint override_train_id
        {
            get => __pbn__override_train_id.GetValueOrDefault();
            set => __pbn__override_train_id = value;
        }
        public bool ShouldSerializeoverride_train_id() => __pbn__override_train_id != null;
        public void Resetoverride_train_id() => __pbn__override_train_id = null;
        private uint? __pbn__override_train_id;

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearn_InferenceMetadata_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 access_token
        {
            get => __pbn__access_token ?? "";
            set => __pbn__access_token = value;
        }
        public bool ShouldSerializeaccess_token() => __pbn__access_token != null;
        public void Resetaccess_token() => __pbn__access_token = null;
        private string __pbn__access_token;

        [global::ProtoBuf.ProtoMember(3)]
        public uint project_id
        {
            get => __pbn__project_id.GetValueOrDefault();
            set => __pbn__project_id = value;
        }
        public bool ShouldSerializeproject_id() => __pbn__project_id != null;
        public void Resetproject_id() => __pbn__project_id = null;
        private uint? __pbn__project_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint published_version
        {
            get => __pbn__published_version.GetValueOrDefault();
            set => __pbn__published_version = value;
        }
        public bool ShouldSerializepublished_version() => __pbn__published_version != null;
        public void Resetpublished_version() => __pbn__published_version = null;
        private uint? __pbn__published_version;

        [global::ProtoBuf.ProtoMember(5)]
        public uint override_train_id
        {
            get => __pbn__override_train_id.GetValueOrDefault();
            set => __pbn__override_train_id = value;
        }
        public bool ShouldSerializeoverride_train_id() => __pbn__override_train_id != null;
        public void Resetoverride_train_id() => __pbn__override_train_id = null;
        private uint? __pbn__override_train_id;

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        public uint project_id
        {
            get => __pbn__project_id.GetValueOrDefault();
            set => __pbn__project_id = value;
        }
        public bool ShouldSerializeproject_id() => __pbn__project_id != null;
        public void Resetproject_id() => __pbn__project_id = null;
        private uint? __pbn__project_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint fetch_id
        {
            get => __pbn__fetch_id.GetValueOrDefault();
            set => __pbn__fetch_id = value;
        }
        public bool ShouldSerializefetch_id() => __pbn__fetch_id != null;
        public void Resetfetch_id() => __pbn__fetch_id = null;
        private uint? __pbn__fetch_id;

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ESteamLearnInferenceMetadataResult.STEAMLEARN_INFERENCE_METADATA_ERROR)]
        public ESteamLearnInferenceMetadataResult inference_metadata_result
        {
            get => __pbn__inference_metadata_result ?? ESteamLearnInferenceMetadataResult.STEAMLEARN_INFERENCE_METADATA_ERROR;
            set => __pbn__inference_metadata_result = value;
        }
        public bool ShouldSerializeinference_metadata_result() => __pbn__inference_metadata_result != null;
        public void Resetinference_metadata_result() => __pbn__inference_metadata_result = null;
        private ESteamLearnInferenceMetadataResult? __pbn__inference_metadata_result;

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

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

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

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

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<SequenceTable> sequence_tables { get; } = new global::System.Collections.Generic.List<SequenceTable>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<KMeans> kmeans { get; } = new global::System.Collections.Generic.List<KMeans>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<AppInfoEntry> app_info { get; } = new global::System.Collections.Generic.List<AppInfoEntry>();

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

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

            [global::ProtoBuf.ProtoMember(1)]
            public ulong min_row
            {
                get => __pbn__min_row.GetValueOrDefault();
                set => __pbn__min_row = value;
            }
            public bool ShouldSerializemin_row() => __pbn__min_row != null;
            public void Resetmin_row() => __pbn__min_row = null;
            private ulong? __pbn__min_row;

            [global::ProtoBuf.ProtoMember(2)]
            public ulong max_row
            {
                get => __pbn__max_row.GetValueOrDefault();
                set => __pbn__max_row = value;
            }
            public bool ShouldSerializemax_row() => __pbn__max_row != null;
            public void Resetmax_row() => __pbn__max_row = null;
            private ulong? __pbn__max_row;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Range : 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 data_element_path
            {
                get => __pbn__data_element_path ?? "";
                set => __pbn__data_element_path = value;
            }
            public bool ShouldSerializedata_element_path() => __pbn__data_element_path != null;
            public void Resetdata_element_path() => __pbn__data_element_path = null;
            private string __pbn__data_element_path;

            [global::ProtoBuf.ProtoMember(2)]
            public float min_value
            {
                get => __pbn__min_value.GetValueOrDefault();
                set => __pbn__min_value = value;
            }
            public bool ShouldSerializemin_value() => __pbn__min_value != null;
            public void Resetmin_value() => __pbn__min_value = null;
            private float? __pbn__min_value;

            [global::ProtoBuf.ProtoMember(3)]
            public float max_value
            {
                get => __pbn__max_value.GetValueOrDefault();
                set => __pbn__max_value = value;
            }
            public bool ShouldSerializemax_value() => __pbn__max_value != null;
            public void Resetmax_value() => __pbn__max_value = null;
            private float? __pbn__max_value;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class StdDev : 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 data_element_path
            {
                get => __pbn__data_element_path ?? "";
                set => __pbn__data_element_path = value;
            }
            public bool ShouldSerializedata_element_path() => __pbn__data_element_path != null;
            public void Resetdata_element_path() => __pbn__data_element_path = null;
            private string __pbn__data_element_path;

            [global::ProtoBuf.ProtoMember(2)]
            public float mean
            {
                get => __pbn__mean.GetValueOrDefault();
                set => __pbn__mean = value;
            }
            public bool ShouldSerializemean() => __pbn__mean != null;
            public void Resetmean() => __pbn__mean = null;
            private float? __pbn__mean;

            [global::ProtoBuf.ProtoMember(3)]
            public float std_dev
            {
                get => __pbn__std_dev.GetValueOrDefault();
                set => __pbn__std_dev = value;
            }
            public bool ShouldSerializestd_dev() => __pbn__std_dev != null;
            public void Resetstd_dev() => __pbn__std_dev = null;
            private float? __pbn__std_dev;

        }

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

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

            [global::ProtoBuf.ProtoContract()]
            public partial class Entry : 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 value
                {
                    get => __pbn__value.GetValueOrDefault();
                    set => __pbn__value = value;
                }
                public bool ShouldSerializevalue() => __pbn__value != null;
                public void Resetvalue() => __pbn__value = null;
                private uint? __pbn__value;

                [global::ProtoBuf.ProtoMember(2)]
                public uint mapping
                {
                    get => __pbn__mapping.GetValueOrDefault();
                    set => __pbn__mapping = value;
                }
                public bool ShouldSerializemapping() => __pbn__mapping != null;
                public void Resetmapping() => __pbn__mapping = null;
                private uint? __pbn__mapping;

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

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class MapValuesEntry : 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 key
                {
                    get => __pbn__key.GetValueOrDefault();
                    set => __pbn__key = value;
                }
                public bool ShouldSerializekey() => __pbn__key != null;
                public void Resetkey() => __pbn__key = null;
                private uint? __pbn__key;

                [global::ProtoBuf.ProtoMember(2)]
                public CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value { get; set; }

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class MapMappingsEntry : 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 key
                {
                    get => __pbn__key.GetValueOrDefault();
                    set => __pbn__key = value;
                }
                public bool ShouldSerializekey() => __pbn__key != null;
                public void Resetkey() => __pbn__key = null;
                private uint? __pbn__key;

                [global::ProtoBuf.ProtoMember(2)]
                public CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value { get; set; }

            }

        }

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

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

            [global::ProtoBuf.ProtoMember(4)]
            public ulong total_count
            {
                get => __pbn__total_count.GetValueOrDefault();
                set => __pbn__total_count = value;
            }
            public bool ShouldSerializetotal_count() => __pbn__total_count != null;
            public void Resettotal_count() => __pbn__total_count = null;
            private ulong? __pbn__total_count;

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

                [global::ProtoBuf.ProtoMember(2)]
                public uint crc
                {
                    get => __pbn__crc.GetValueOrDefault();
                    set => __pbn__crc = value;
                }
                public bool ShouldSerializecrc() => __pbn__crc != null;
                public void Resetcrc() => __pbn__crc = null;
                private uint? __pbn__crc;

                [global::ProtoBuf.ProtoMember(3)]
                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.ProtoContract()]
            public partial class MapValuesEntry : 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 key
                {
                    get => __pbn__key.GetValueOrDefault();
                    set => __pbn__key = value;
                }
                public bool ShouldSerializekey() => __pbn__key != null;
                public void Resetkey() => __pbn__key = null;
                private uint? __pbn__key;

                [global::ProtoBuf.ProtoMember(2)]
                public CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value { get; set; }

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class MapMappingsEntry : 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 key
                {
                    get => __pbn__key ?? "";
                    set => __pbn__key = value;
                }
                public bool ShouldSerializekey() => __pbn__key != null;
                public void Resetkey() => __pbn__key = null;
                private string __pbn__key;

                [global::ProtoBuf.ProtoMember(2)]
                public CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value { get; set; }

            }

        }

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

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

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

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

                [global::ProtoBuf.ProtoMember(3)]
                public float radius
                {
                    get => __pbn__radius.GetValueOrDefault();
                    set => __pbn__radius = value;
                }
                public bool ShouldSerializeradius() => __pbn__radius != null;
                public void Resetradius() => __pbn__radius = null;
                private float? __pbn__radius;

                [global::ProtoBuf.ProtoMember(4)]
                public float radius_75pct
                {
                    get => __pbn__radius_75pct.GetValueOrDefault();
                    set => __pbn__radius_75pct = value;
                }
                public bool ShouldSerializeradius_75pct() => __pbn__radius_75pct != null;
                public void Resetradius_75pct() => __pbn__radius_75pct = null;
                private float? __pbn__radius_75pct;

                [global::ProtoBuf.ProtoMember(5)]
                public float radius_50pct
                {
                    get => __pbn__radius_50pct.GetValueOrDefault();
                    set => __pbn__radius_50pct = value;
                }
                public bool ShouldSerializeradius_50pct() => __pbn__radius_50pct != null;
                public void Resetradius_50pct() => __pbn__radius_50pct = null;
                private float? __pbn__radius_50pct;

                [global::ProtoBuf.ProtoMember(6)]
                public float radius_25pct
                {
                    get => __pbn__radius_25pct.GetValueOrDefault();
                    set => __pbn__radius_25pct = value;
                }
                public bool ShouldSerializeradius_25pct() => __pbn__radius_25pct != null;
                public void Resetradius_25pct() => __pbn__radius_25pct = null;
                private float? __pbn__radius_25pct;

            }

        }

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

            [global::ProtoBuf.ProtoMember(1)]
            public float min_value
            {
                get => __pbn__min_value.GetValueOrDefault();
                set => __pbn__min_value = value;
            }
            public bool ShouldSerializemin_value() => __pbn__min_value != null;
            public void Resetmin_value() => __pbn__min_value = null;
            private float? __pbn__min_value;

            [global::ProtoBuf.ProtoMember(2)]
            public float max_value
            {
                get => __pbn__max_value.GetValueOrDefault();
                set => __pbn__max_value = value;
            }
            public bool ShouldSerializemax_value() => __pbn__max_value != null;
            public void Resetmax_value() => __pbn__max_value = null;
            private float? __pbn__max_value;

            [global::ProtoBuf.ProtoMember(3)]
            public uint num_buckets
            {
                get => __pbn__num_buckets.GetValueOrDefault();
                set => __pbn__num_buckets = value;
            }
            public bool ShouldSerializenum_buckets() => __pbn__num_buckets != null;
            public void Resetnum_buckets() => __pbn__num_buckets = null;
            private uint? __pbn__num_buckets;

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class AppInfo : 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_allow
            {
                get => __pbn__country_allow ?? "";
                set => __pbn__country_allow = value;
            }
            public bool ShouldSerializecountry_allow() => __pbn__country_allow != null;
            public void Resetcountry_allow() => __pbn__country_allow = null;
            private string __pbn__country_allow;

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

            [global::ProtoBuf.ProtoMember(3)]
            public bool platform_win
            {
                get => __pbn__platform_win.GetValueOrDefault();
                set => __pbn__platform_win = value;
            }
            public bool ShouldSerializeplatform_win() => __pbn__platform_win != null;
            public void Resetplatform_win() => __pbn__platform_win = null;
            private bool? __pbn__platform_win;

            [global::ProtoBuf.ProtoMember(4)]
            public bool platform_mac
            {
                get => __pbn__platform_mac.GetValueOrDefault();
                set => __pbn__platform_mac = value;
            }
            public bool ShouldSerializeplatform_mac() => __pbn__platform_mac != null;
            public void Resetplatform_mac() => __pbn__platform_mac = null;
            private bool? __pbn__platform_mac;

            [global::ProtoBuf.ProtoMember(5)]
            public bool platform_linux
            {
                get => __pbn__platform_linux.GetValueOrDefault();
                set => __pbn__platform_linux = value;
            }
            public bool ShouldSerializeplatform_linux() => __pbn__platform_linux != null;
            public void Resetplatform_linux() => __pbn__platform_linux = null;
            private bool? __pbn__platform_linux;

            [global::ProtoBuf.ProtoMember(6)]
            public bool adult_violence
            {
                get => __pbn__adult_violence.GetValueOrDefault();
                set => __pbn__adult_violence = value;
            }
            public bool ShouldSerializeadult_violence() => __pbn__adult_violence != null;
            public void Resetadult_violence() => __pbn__adult_violence = null;
            private bool? __pbn__adult_violence;

            [global::ProtoBuf.ProtoMember(7)]
            public bool adult_sex
            {
                get => __pbn__adult_sex.GetValueOrDefault();
                set => __pbn__adult_sex = value;
            }
            public bool ShouldSerializeadult_sex() => __pbn__adult_sex != null;
            public void Resetadult_sex() => __pbn__adult_sex = null;
            private bool? __pbn__adult_sex;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class AppInfoEntry : 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 key
            {
                get => __pbn__key.GetValueOrDefault();
                set => __pbn__key = value;
            }
            public bool ShouldSerializekey() => __pbn__key != null;
            public void Resetkey() => __pbn__key = null;
            private uint? __pbn__key;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgSteamLearn_InferenceMetadata_Response.AppInfo value { get; set; }

        }

    }

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

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

        }

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

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

        }

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

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

        }

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

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

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

        }

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

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

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

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Output : 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 CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput binary_crossentropy
            {
                get => __pbn__ResponseType.Is(1) ? ((CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput)__pbn__ResponseType.Object) : default;
                set => __pbn__ResponseType = new global::ProtoBuf.DiscriminatedUnionObject(1, value);
            }
            public bool ShouldSerializebinary_crossentropy() => __pbn__ResponseType.Is(1);
            public void Resetbinary_crossentropy() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__ResponseType, 1);

            private global::ProtoBuf.DiscriminatedUnionObject __pbn__ResponseType;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput categorical_crossentropy
            {
                get => __pbn__ResponseType.Is(2) ? ((CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput)__pbn__ResponseType.Object) : default;
                set => __pbn__ResponseType = new global::ProtoBuf.DiscriminatedUnionObject(2, value);
            }
            public bool ShouldSerializecategorical_crossentropy() => __pbn__ResponseType.Is(2);
            public void Resetcategorical_crossentropy() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__ResponseType, 2);

            [global::ProtoBuf.ProtoMember(3)]
            public CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput multi_binary_crossentropy
            {
                get => __pbn__ResponseType.Is(3) ? ((CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput)__pbn__ResponseType.Object) : default;
                set => __pbn__ResponseType = new global::ProtoBuf.DiscriminatedUnionObject(3, value);
            }
            public bool ShouldSerializemulti_binary_crossentropy() => __pbn__ResponseType.Is(3);
            public void Resetmulti_binary_crossentropy() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__ResponseType, 3);

            [global::ProtoBuf.ProtoMember(4)]
            public CMsgSteamLearn_InferenceBackend_Response.RegressionOutput regression
            {
                get => __pbn__ResponseType.Is(4) ? ((CMsgSteamLearn_InferenceBackend_Response.RegressionOutput)__pbn__ResponseType.Object) : default;
                set => __pbn__ResponseType = new global::ProtoBuf.DiscriminatedUnionObject(4, value);
            }
            public bool ShouldSerializeregression() => __pbn__ResponseType.Is(4);
            public void Resetregression() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__ResponseType, 4);

        }

    }

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

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ESteamLearnInferenceResult.STEAMLEARN_INFERENCE_ERROR)]
        public ESteamLearnInferenceResult inference_result
        {
            get => __pbn__inference_result ?? ESteamLearnInferenceResult.STEAMLEARN_INFERENCE_ERROR;
            set => __pbn__inference_result = value;
        }
        public bool ShouldSerializeinference_result() => __pbn__inference_result != null;
        public void Resetinference_result() => __pbn__inference_result = null;
        private ESteamLearnInferenceResult? __pbn__inference_result;

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

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

    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteamLearnDataType
    {
        STEAMLEARN_DATATYPE_INVALID = 0,
        STEAMLEARN_DATATYPE_INT32 = 1,
        STEAMLEARN_DATATYPE_FLOAT32 = 2,
        STEAMLEARN_DATATYPE_BOOL = 3,
        STEAMLEARN_DATATYPE_STRING = 4,
        STEAMLEARN_DATATYPE_OBJECT = 5,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteammLearnRegisterDataSourceResult
    {
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR = 0,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_CREATED = 1,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_FOUND = 2,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_GENERIC = 3,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_NAME = 4,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_VERSION = 5,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_CHANGED = 6,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_INVALID = 7,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_FORBIDDEN = 8,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_TIMESTAMP = 9,
        STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_DISABLED = 10,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteamLearnCacheDataResult
    {
        STEAMLEARN_CACHE_DATA_ERROR = 0,
        STEAMLEARN_CACHE_DATA_SUCCESS = 1,
        STEAMLEARN_CACHE_DATA_ERROR_UNKNOWN_DATA_SOURCE = 2,
        STEAMLEARN_CACHE_DATA_ERROR_UNCACHED_DATA_SOURCE = 3,
        STEAMLEARN_CACHE_DATA_ERROR_INVALID_KEYS = 4,
        STEAMLEARN_CACHE_DATA_ERROR_FORBIDDEN = 5,
        STEAMLEARN_CACHE_DATA_ERROR_INVALID_TIMESTAMP = 6,
        STEAMLEARN_CACHE_DATA_DISABLED = 7,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteamLearnSnapshotProjectResult
    {
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR = 0,
        STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_STORED = 1,
        STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_QUEUED = 2,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PROJECT_ID = 3,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_UNKNOWN_DATA_SOURCE = 4,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_DATA_SOURCE_KEY = 5,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_MISSING_CACHE_DURATION = 6,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_NO_PUBLISHED_CONFIG = 7,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_FORBIDDEN = 8,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_TIMESTAMP = 9,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INTERNAL_DATA_SOURCE_ERROR = 10,
        STEAMLEARN_SNAPSHOT_PROJECT_DISABLED = 11,
        STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PUBLISHED_VERSION = 12,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteamLearnGetAccessTokensResult
    {
        STEAMLEARN_GET_ACCESS_TOKENS_ERROR = 0,
        STEAMLEARN_GET_ACCESS_TOKENS_SUCCESS = 1,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteamLearnInferenceResult
    {
        STEAMLEARN_INFERENCE_ERROR = 0,
        STEAMLEARN_INFERENCE_SUCCESS = 1,
        STEAMLEARN_INFERENCE_ERROR_INVALID_PROJECT_ID = 2,
        STEAMLEARN_INFERENCE_ERROR_MISSING_CACHED_SCHEMA_DATA = 3,
        STEAMLEARN_INFERENCE_ERROR_NO_PUBLISHED_CONFIG = 4,
        STEAMLEARN_INFERENCE_ERROR_FORBIDDEN = 5,
        STEAMLEARN_INFERENCE_ERROR_INVALID_TIMESTAMP = 6,
        STEAMLEARN_INFERENCE_ERROR_INVALID_PUBLISHED_VERSION = 7,
        STEAMLEARN_INFERENCE_ERROR_NO_FETCH_ID_FOUND = 8,
        STEAMLEARN_INFERENCE_ERROR_TOO_BUSY = 9,
    }

    [global::ProtoBuf.ProtoContract()]
    public enum ESteamLearnInferenceMetadataResult
    {
        STEAMLEARN_INFERENCE_METADATA_ERROR = 0,
        STEAMLEARN_INFERENCE_METADATA_SUCCESS = 1,
        STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PROJECT_ID = 2,
        STEAMLEARN_INFERENCE_METADATA_ERROR_NO_PUBLISHED_CONFIG = 3,
        STEAMLEARN_INFERENCE_METADATA_ERROR_FORBIDDEN = 4,
        STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_TIMESTAMP = 5,
        STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PUBLISHED_VERSION = 6,
        STEAMLEARN_INFERENCE_METADATA_ERROR_NO_FETCH_ID_FOUND = 7,
    }

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

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_RegisterDataSource_Response>> RegisterDataSource( CMsgSteamLearn_RegisterDataSource_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_RegisterDataSource_Request, CMsgSteamLearn_RegisterDataSource_Response>( "SteamLearn.RegisterDataSource#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_CacheData_Response>> CacheData( CMsgSteamLearn_CacheData_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_CacheData_Request, CMsgSteamLearn_CacheData_Response>( "SteamLearn.CacheData#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_SnapshotProject_Response>> SnapshotProject( CMsgSteamLearn_SnapshotProject_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_SnapshotProject_Request, CMsgSteamLearn_SnapshotProject_Response>( "SteamLearn.SnapshotProject#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_BatchOperation_Response>> BatchOperation( CMsgSteamLearn_BatchOperation_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_BatchOperation_Request, CMsgSteamLearn_BatchOperation_Response>( "SteamLearn.BatchOperation#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_GetAccessTokens_Response>> GetAccessTokens( CMsgSteamLearn_GetAccessTokens_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_GetAccessTokens_Request, CMsgSteamLearn_GetAccessTokens_Response>( "SteamLearn.GetAccessTokens#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_Inference_Response>> Inference( CMsgSteamLearn_Inference_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_Inference_Request, CMsgSteamLearn_Inference_Response>( "SteamLearn.Inference#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CMsgSteamLearn_InferenceMetadata_Response>> InferenceMetadata( CMsgSteamLearn_InferenceMetadata_Request request )
        {
            return UnifiedMessages.SendMessage<CMsgSteamLearn_InferenceMetadata_Request, CMsgSteamLearn_InferenceMetadata_Response>( "SteamLearn.InferenceMetadata#1", request );
        }

        public override void HandleResponseMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
            switch ( methodName )
            {
                case "RegisterDataSource":
                    PostResponseMsg<CMsgSteamLearn_RegisterDataSource_Response>( packetMsg );
                    break;
                case "CacheData":
                    PostResponseMsg<CMsgSteamLearn_CacheData_Response>( packetMsg );
                    break;
                case "SnapshotProject":
                    PostResponseMsg<CMsgSteamLearn_SnapshotProject_Response>( packetMsg );
                    break;
                case "BatchOperation":
                    PostResponseMsg<CMsgSteamLearn_BatchOperation_Response>( packetMsg );
                    break;
                case "GetAccessTokens":
                    PostResponseMsg<CMsgSteamLearn_GetAccessTokens_Response>( packetMsg );
                    break;
                case "Inference":
                    PostResponseMsg<CMsgSteamLearn_Inference_Response>( packetMsg );
                    break;
                case "InferenceMetadata":
                    PostResponseMsg<CMsgSteamLearn_InferenceMetadata_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
