text:
namespace Google.Apis.RecaptchaEnterprise.v1
{
    /// The RecaptchaEnterprise Service.
    public class RecaptchaEnterpriseService : Google.Apis.Services.BaseClientService
    {
        /// The API version.
        public const string Version = "v1";

        /// The discovery version used to generate this service.
        public static Google.Apis.Discovery.DiscoveryVersion DiscoveryVersionUsed = Google.Apis.Discovery.DiscoveryVersion.Version_1_0;

        /// Constructs a new service.
        public RecaptchaEnterpriseService() : this(new Google.Apis.Services.BaseClientService.Initializer())
        {
        }

        /// Constructs a new service.
        /// <param name="initializer">The service initializer.</param>
        public RecaptchaEnterpriseService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer)
        {
            Projects = new ProjectsResource(this);
        }

        /// Gets the service supported features.
        public override System.Collections.Generic.IList<string> Features => new string[0];

        /// Gets the service name.
        public override string Name => "recaptchaenterprise";

        /// Gets the service base URI.
        public override string BaseUri =>
        #if NETSTANDARD1_3 || NETSTANDARD2_0 || NET45
            BaseUriOverride ?? "https://recaptchaenterprise.googleapis.com/";
        #else
            "https://recaptchaenterprise.googleapis.com/";
        #endif

        /// Gets the service base path.
        public override string BasePath => "";

        #if !NET40
        /// Gets the batch base URI; <c>null</c> if unspecified.
        public override string BatchUri => "https://recaptchaenterprise.googleapis.com/batch";

        /// Gets the batch base path; <c>null</c> if unspecified.
        public override string BatchPath => "batch";
        #endif

        /// Available OAuth 2.0 scopes for use with the reCAPTCHA Enterprise API.
        public class Scope
        {
            ///
            /// See, edit, configure, and delete your Google Cloud data and see the email address for your Google
            /// Account.
            ///
            public static string CloudPlatform = "https://www.googleapis.com/auth/cloud-platform";
        }

        /// Available OAuth 2.0 scope constants for use with the reCAPTCHA Enterprise API.
        public static class ScopeConstants
        {
            ///
            /// See, edit, configure, and delete your Google Cloud data and see the email address for your Google
            /// Account.
            ///
            public const string CloudPlatform = "https://www.googleapis.com/auth/cloud-platform";
        }

        /// Gets the Projects resource.
        public virtual ProjectsResource Projects { get; }
    }

    /// A base abstract class for RecaptchaEnterprise requests.
    public abstract class RecaptchaEnterpriseBaseServiceRequest<TResponse> : Google.Apis.Requests.ClientServiceRequest<TResponse>
    {
        /// Constructs a new RecaptchaEnterpriseBaseServiceRequest instance.
        protected RecaptchaEnterpriseBaseServiceRequest(Google.Apis.Services.IClientService service) : base(service)
        {
        }

        /// V1 error format.
        [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)]
        public virtual System.Nullable<XgafvEnum> Xgafv { get; set; }

        /// V1 error format.
        public enum XgafvEnum
        {
            /// v1 error format
            [Google.Apis.Util.StringValueAttribute("1")]
            Value1 = 0,

            /// v2 error format
            [Google.Apis.Util.StringValueAttribute("2")]
            Value2 = 1,
        }

        /// OAuth access token.
        [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string AccessToken { get; set; }

        /// Data format for response.
        [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)]
        public virtual System.Nullable<AltEnum> Alt { get; set; }

        /// Data format for response.
        public enum AltEnum
        {
            /// Responses with Content-Type of application/json
            [Google.Apis.Util.StringValueAttribute("json")]
            Json = 0,

            /// Media download with context-dependent Content-Type
            [Google.Apis.Util.StringValueAttribute("media")]
            Media = 1,

            /// Responses with Content-Type of application/x-protobuf
            [Google.Apis.Util.StringValueAttribute("proto")]
            Proto = 2,
        }

        /// JSONP
        [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string Callback { get; set; }

        /// Selector specifying which fields to include in a partial response.
        [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string Fields { get; set; }

        ///
        /// API key. Your API key identifies your project and provides you with API access, quota, and reports. Required
        /// unless you provide an OAuth 2.0 token.
        ///
        [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string Key { get; set; }

        /// OAuth 2.0 token for the current user.
        [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string OauthToken { get; set; }

        /// Returns response with indentations and line breaks.
        [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)]
        public virtual System.Nullable<bool> PrettyPrint { get; set; }

        ///
        /// Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a
        /// user, but should not exceed 40 characters.
        ///
        [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string QuotaUser { get; set; }

        /// Legacy upload protocol for media (e.g. "media", "multipart").
        [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string UploadType { get; set; }

        /// Upload protocol for media (e.g. "raw", "multipart").
        [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)]
        public virtual string UploadProtocol { get; set; }

        /// Initializes RecaptchaEnterprise parameter list.
        protected override void InitParameters()
        {
            base.InitParameters();
            RequestParameters.Add("$.xgafv", new Google.Apis.Discovery.Parameter
            {
                Name = "$.xgafv",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("access_token", new Google.Apis.Discovery.Parameter
            {
                Name = "access_token",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("alt", new Google.Apis.Discovery.Parameter
            {
                Name = "alt",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = "json",
                Pattern = null,
            });
            RequestParameters.Add("callback", new Google.Apis.Discovery.Parameter
            {
                Name = "callback",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("fields", new Google.Apis.Discovery.Parameter
            {
                Name = "fields",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("key", new Google.Apis.Discovery.Parameter
            {
                Name = "key",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("oauth_token", new Google.Apis.Discovery.Parameter
            {
                Name = "oauth_token",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("prettyPrint", new Google.Apis.Discovery.Parameter
            {
                Name = "prettyPrint",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = "true",
                Pattern = null,
            });
            RequestParameters.Add("quotaUser", new Google.Apis.Discovery.Parameter
            {
                Name = "quotaUser",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("uploadType", new Google.Apis.Discovery.Parameter
            {
                Name = "uploadType",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
            RequestParameters.Add("upload_protocol", new Google.Apis.Discovery.Parameter
            {
                Name = "upload_protocol",
                IsRequired = false,
                ParameterType = "query",
                DefaultValue = null,
                Pattern = null,
            });
        }
    }

    /// The "projects" collection of methods.
    public class ProjectsResource
    {
        private const string Resource = "projects";

        /// The service which this resource belongs to.
        private readonly Google.Apis.Services.IClientService service;

        /// Constructs a new resource.
        public ProjectsResource(Google.Apis.Services.IClientService service)
        {
            this.service = service;
            Assessments = new AssessmentsResource(service);
            Keys = new KeysResource(service);
            Relatedaccountgroupmemberships = new RelatedaccountgroupmembershipsResource(service);
            Relatedaccountgroups = new RelatedaccountgroupsResource(service);
        }

        /// Gets the Assessments resource.
        public virtual AssessmentsResource Assessments { get; }

        /// The "assessments" collection of methods.
        public class AssessmentsResource
        {
            private const string Resource = "assessments";

            /// The service which this resource belongs to.
            private readonly Google.Apis.Services.IClientService service;

            /// Constructs a new resource.
            public AssessmentsResource(Google.Apis.Services.IClientService service)
            {
                this.service = service;
            }

            ///
            /// Annotates a previously created Assessment to provide additional information on whether the event turned
            /// out to be authentic or fraudulent.
            ///
            /// <param name="body">The body of the request.</param>
            /// <param name="name">
            /// Required. The resource name of the Assessment, in the format
            /// "projects/{project}/assessments/{assessment}".
            /// </param>
            public virtual AnnotateRequest Annotate(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest body, string name)
            {
                return new AnnotateRequest(service, body, name);
            }

            ///
            /// Annotates a previously created Assessment to provide additional information on whether the event turned
            /// out to be authentic or fraudulent.
            ///
            public class AnnotateRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse>
            {
                /// Constructs a new Annotate request.
                public AnnotateRequest(Google.Apis.Services.IClientService service, Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest body, string name) : base(service)
                {
                    Name = name;
                    Body = body;
                    InitParameters();
                }

                ///
                /// Required. The resource name of the Assessment, in the format
                /// "projects/{project}/assessments/{assessment}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Name { get; private set; }

                /// Gets or sets the body of this request.
                Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest Body { get; set; }

                /// Returns the body of the request.
                protected override object GetBody() => Body;

                /// Gets the method name.
                public override string MethodName => "annotate";

                /// Gets the HTTP method.
                public override string HttpMethod => "POST";

                /// Gets the REST path.
                public override string RestPath => "v1/{+name}:annotate";

                /// Initializes Annotate parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
                    {
                        Name = "name",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+/assessments/[^/]+$",
                    });
                }
            }

            /// Creates an Assessment of the likelihood an event is legitimate.
            /// <param name="body">The body of the request.</param>
            /// <param name="parent">
            /// Required. The name of the project in which the assessment will be created, in the format
            /// "projects/{project}".
            /// </param>
            public virtual CreateRequest Create(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Assessment body, string parent)
            {
                return new CreateRequest(service, body, parent);
            }

            /// Creates an Assessment of the likelihood an event is legitimate.
            public class CreateRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Assessment>
            {
                /// Constructs a new Create request.
                public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Assessment body, string parent) : base(service)
                {
                    Parent = parent;
                    Body = body;
                    InitParameters();
                }

                ///
                /// Required. The name of the project in which the assessment will be created, in the format
                /// "projects/{project}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Parent { get; private set; }

                /// Gets or sets the body of this request.
                Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Assessment Body { get; set; }

                /// Returns the body of the request.
                protected override object GetBody() => Body;

                /// Gets the method name.
                public override string MethodName => "create";

                /// Gets the HTTP method.
                public override string HttpMethod => "POST";

                /// Gets the REST path.
                public override string RestPath => "v1/{+parent}/assessments";

                /// Initializes Create parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
                    {
                        Name = "parent",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+$",
                    });
                }
            }
        }

        /// Gets the Keys resource.
        public virtual KeysResource Keys { get; }

        /// The "keys" collection of methods.
        public class KeysResource
        {
            private const string Resource = "keys";

            /// The service which this resource belongs to.
            private readonly Google.Apis.Services.IClientService service;

            /// Constructs a new resource.
            public KeysResource(Google.Apis.Services.IClientService service)
            {
                this.service = service;
            }

            /// Creates a new reCAPTCHA Enterprise key.
            /// <param name="body">The body of the request.</param>
            /// <param name="parent">
            /// Required. The name of the project in which the key will be created, in the format "projects/{project}".
            /// </param>
            public virtual CreateRequest Create(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key body, string parent)
            {
                return new CreateRequest(service, body, parent);
            }

            /// Creates a new reCAPTCHA Enterprise key.
            public class CreateRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key>
            {
                /// Constructs a new Create request.
                public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key body, string parent) : base(service)
                {
                    Parent = parent;
                    Body = body;
                    InitParameters();
                }

                ///
                /// Required. The name of the project in which the key will be created, in the format
                /// "projects/{project}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Parent { get; private set; }

                /// Gets or sets the body of this request.
                Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key Body { get; set; }

                /// Returns the body of the request.
                protected override object GetBody() => Body;

                /// Gets the method name.
                public override string MethodName => "create";

                /// Gets the HTTP method.
                public override string HttpMethod => "POST";

                /// Gets the REST path.
                public override string RestPath => "v1/{+parent}/keys";

                /// Initializes Create parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
                    {
                        Name = "parent",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+$",
                    });
                }
            }

            /// Deletes the specified key.
            /// <param name="name">
            /// Required. The name of the key to be deleted, in the format "projects/{project}/keys/{key}".
            /// </param>
            public virtual DeleteRequest Delete(string name)
            {
                return new DeleteRequest(service, name);
            }

            /// Deletes the specified key.
            public class DeleteRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleProtobufEmpty>
            {
                /// Constructs a new Delete request.
                public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service)
                {
                    Name = name;
                    InitParameters();
                }

                ///
                /// Required. The name of the key to be deleted, in the format "projects/{project}/keys/{key}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Name { get; private set; }

                /// Gets the method name.
                public override string MethodName => "delete";

                /// Gets the HTTP method.
                public override string HttpMethod => "DELETE";

                /// Gets the REST path.
                public override string RestPath => "v1/{+name}";

                /// Initializes Delete parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
                    {
                        Name = "name",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+/keys/[^/]+$",
                    });
                }
            }

            /// Returns the specified key.
            /// <param name="name">
            /// Required. The name of the requested key, in the format "projects/{project}/keys/{key}".
            /// </param>
            public virtual GetRequest Get(string name)
            {
                return new GetRequest(service, name);
            }

            /// Returns the specified key.
            public class GetRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key>
            {
                /// Constructs a new Get request.
                public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service)
                {
                    Name = name;
                    InitParameters();
                }

                ///
                /// Required. The name of the requested key, in the format "projects/{project}/keys/{key}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Name { get; private set; }

                /// Gets the method name.
                public override string MethodName => "get";

                /// Gets the HTTP method.
                public override string HttpMethod => "GET";

                /// Gets the REST path.
                public override string RestPath => "v1/{+name}";

                /// Initializes Get parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
                    {
                        Name = "name",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+/keys/[^/]+$",
                    });
                }
            }

            /// Get some aggregated metrics for a Key. This data can be used to build dashboards.
            /// <param name="name">
            /// Required. The name of the requested metrics, in the format "projects/{project}/keys/{key}/metrics".
            /// </param>
            public virtual GetMetricsRequest GetMetrics(string name)
            {
                return new GetMetricsRequest(service, name);
            }

            /// Get some aggregated metrics for a Key. This data can be used to build dashboards.
            public class GetMetricsRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Metrics>
            {
                /// Constructs a new GetMetrics request.
                public GetMetricsRequest(Google.Apis.Services.IClientService service, string name) : base(service)
                {
                    Name = name;
                    InitParameters();
                }

                ///
                /// Required. The name of the requested metrics, in the format "projects/{project}/keys/{key}/metrics".
                ///
                [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Name { get; private set; }

                /// Gets the method name.
                public override string MethodName => "getMetrics";

                /// Gets the HTTP method.
                public override string HttpMethod => "GET";

                /// Gets the REST path.
                public override string RestPath => "v1/{+name}";

                /// Initializes GetMetrics parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
                    {
                        Name = "name",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+/keys/[^/]+/metrics$",
                    });
                }
            }

            /// Returns the list of all keys that belong to a project.
            /// <param name="parent">
            /// Required. The name of the project that contains the keys that will be listed, in the format
            /// "projects/{project}".
            /// </param>
            public virtual ListRequest List(string parent)
            {
                return new ListRequest(service, parent);
            }

            /// Returns the list of all keys that belong to a project.
            public class ListRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1ListKeysResponse>
            {
                /// Constructs a new List request.
                public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service)
                {
                    Parent = parent;
                    InitParameters();
                }

                ///
                /// Required. The name of the project that contains the keys that will be listed, in the format
                /// "projects/{project}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Parent { get; private set; }

                /// Optional. The maximum number of keys to return. Default is 10. Max limit is 1000.
                [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)]
                public virtual System.Nullable<int> PageSize { get; set; }

                ///
                /// Optional. The next_page_token value returned from a previous. ListKeysRequest, if any.
                ///
                [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)]
                public virtual string PageToken { get; set; }

                /// Gets the method name.
                public override string MethodName => "list";

                /// Gets the HTTP method.
                public override string HttpMethod => "GET";

                /// Gets the REST path.
                public override string RestPath => "v1/{+parent}/keys";

                /// Initializes List parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
                    {
                        Name = "parent",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+$",
                    });
                    RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter
                    {
                        Name = "pageSize",
                        IsRequired = false,
                        ParameterType = "query",
                        DefaultValue = null,
                        Pattern = null,
                    });
                    RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter
                    {
                        Name = "pageToken",
                        IsRequired = false,
                        ParameterType = "query",
                        DefaultValue = null,
                        Pattern = null,
                    });
                }
            }

            ///
            /// Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used
            /// from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated
            /// as one of the current owners of the reCAPTCHA Site Key, and your user must have the reCAPTCHA Enterprise
            /// Admin IAM role in the destination project.
            ///
            /// <param name="body">The body of the request.</param>
            /// <param name="name">
            /// Required. The name of the key to be migrated, in the format "projects/{project}/keys/{key}".
            /// </param>
            public virtual MigrateRequest Migrate(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest body, string name)
            {
                return new MigrateRequest(service, body, name);
            }

            ///
            /// Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used
            /// from either product. SiteVerify requests are billed as CreateAssessment calls. You must be authenticated
            /// as one of the current owners of the reCAPTCHA Site Key, and your user must have the reCAPTCHA Enterprise
            /// Admin IAM role in the destination project.
            ///
            public class MigrateRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key>
            {
                /// Constructs a new Migrate request.
                public MigrateRequest(Google.Apis.Services.IClientService service, Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest body, string name) : base(service)
                {
                    Name = name;
                    Body = body;
                    InitParameters();
                }

                ///
                /// Required. The name of the key to be migrated, in the format "projects/{project}/keys/{key}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Name { get; private set; }

                /// Gets or sets the body of this request.
                Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest Body { get; set; }

                /// Returns the body of the request.
                protected override object GetBody() => Body;

                /// Gets the method name.
                public override string MethodName => "migrate";

                /// Gets the HTTP method.
                public override string HttpMethod => "POST";

                /// Gets the REST path.
                public override string RestPath => "v1/{+name}:migrate";

                /// Initializes Migrate parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
                    {
                        Name = "name",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+/keys/[^/]+$",
                    });
                }
            }

            /// Updates the specified key.
            /// <param name="body">The body of the request.</param>
            /// <param name="name">The resource name for the Key in the format "projects/{project}/keys/{key}".</param>
            public virtual PatchRequest Patch(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key body, string name)
            {
                return new PatchRequest(service, body, name);
            }

            /// Updates the specified key.
            public class PatchRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key>
            {
                /// Constructs a new Patch request.
                public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key body, string name) : base(service)
                {
                    Name = name;
                    Body = body;
                    InitParameters();
                }

                /// The resource name for the Key in the format "projects/{project}/keys/{key}".
                [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Name { get; private set; }

                ///
                /// Optional. The mask to control which fields of the key get updated. If the mask is not present, all
                /// fields will be updated.
                ///
                [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)]
                public virtual object UpdateMask { get; set; }

                /// Gets or sets the body of this request.
                Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key Body { get; set; }

                /// Returns the body of the request.
                protected override object GetBody() => Body;

                /// Gets the method name.
                public override string MethodName => "patch";

                /// Gets the HTTP method.
                public override string HttpMethod => "PATCH";

                /// Gets the REST path.
                public override string RestPath => "v1/{+name}";

                /// Initializes Patch parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("name", new Google.Apis.Discovery.Parameter
                    {
                        Name = "name",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+/keys/[^/]+$",
                    });
                    RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter
                    {
                        Name = "updateMask",
                        IsRequired = false,
                        ParameterType = "query",
                        DefaultValue = null,
                        Pattern = null,
                    });
                }
            }
        }

        /// Gets the Relatedaccountgroupmemberships resource.
        public virtual RelatedaccountgroupmembershipsResource Relatedaccountgroupmemberships { get; }

        /// The "relatedaccountgroupmemberships" collection of methods.
        public class RelatedaccountgroupmembershipsResource
        {
            private const string Resource = "relatedaccountgroupmemberships";

            /// The service which this resource belongs to.
            private readonly Google.Apis.Services.IClientService service;

            /// Constructs a new resource.
            public RelatedaccountgroupmembershipsResource(Google.Apis.Services.IClientService service)
            {
                this.service = service;
            }

            /// Search group memberships related to a given account.
            /// <param name="body">The body of the request.</param>
            /// <param name="project">
            /// Required. The name of the project to search related account group memberships from, in the format
            /// "projects/{project}".
            /// </param>
            public virtual SearchRequest Search(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest body, string project)
            {
                return new SearchRequest(service, body, project);
            }

            /// Search group memberships related to a given account.
            public class SearchRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse>
            {
                /// Constructs a new Search request.
                public SearchRequest(Google.Apis.Services.IClientService service, Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest body, string project) : base(service)
                {
                    Project = project;
                    Body = body;
                    InitParameters();
                }

                ///
                /// Required. The name of the project to search related account group memberships from, in the format
                /// "projects/{project}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Project { get; private set; }

                /// Gets or sets the body of this request.
                Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest Body { get; set; }

                /// Returns the body of the request.
                protected override object GetBody() => Body;

                /// Gets the method name.
                public override string MethodName => "search";

                /// Gets the HTTP method.
                public override string HttpMethod => "POST";

                /// Gets the REST path.
                public override string RestPath => "v1/{+project}/relatedaccountgroupmemberships:search";

                /// Initializes Search parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("project", new Google.Apis.Discovery.Parameter
                    {
                        Name = "project",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+$",
                    });
                }
            }
        }

        /// Gets the Relatedaccountgroups resource.
        public virtual RelatedaccountgroupsResource Relatedaccountgroups { get; }

        /// The "relatedaccountgroups" collection of methods.
        public class RelatedaccountgroupsResource
        {
            private const string Resource = "relatedaccountgroups";

            /// The service which this resource belongs to.
            private readonly Google.Apis.Services.IClientService service;

            /// Constructs a new resource.
            public RelatedaccountgroupsResource(Google.Apis.Services.IClientService service)
            {
                this.service = service;
                Memberships = new MembershipsResource(service);
            }

            /// Gets the Memberships resource.
            public virtual MembershipsResource Memberships { get; }

            /// The "memberships" collection of methods.
            public class MembershipsResource
            {
                private const string Resource = "memberships";

                /// The service which this resource belongs to.
                private readonly Google.Apis.Services.IClientService service;

                /// Constructs a new resource.
                public MembershipsResource(Google.Apis.Services.IClientService service)
                {
                    this.service = service;
                }

                /// Get the memberships in a group of related accounts.
                /// <param name="parent">
                /// Required. The resource name for the related account group in the format
                /// `projects/{project}/relatedaccountgroups/{relatedaccountgroup}`.
                /// </param>
                public virtual ListRequest List(string parent)
                {
                    return new ListRequest(service, parent);
                }

                /// Get the memberships in a group of related accounts.
                public class ListRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse>
                {
                    /// Constructs a new List request.
                    public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service)
                    {
                        Parent = parent;
                        InitParameters();
                    }

                    ///
                    /// Required. The resource name for the related account group in the format
                    /// `projects/{project}/relatedaccountgroups/{relatedaccountgroup}`.
                    ///
                    [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
                    public virtual string Parent { get; private set; }

                    ///
                    /// Optional. The maximum number of accounts to return. The service may return fewer than this
                    /// value. If unspecified, at most 50 accounts will be returned. The maximum value is 1000; values
                    /// above 1000 will be coerced to 1000.
                    ///
                    [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)]
                    public virtual System.Nullable<int> PageSize { get; set; }

                    ///
                    /// Optional. A page token, received from a previous `ListRelatedAccountGroupMemberships` call. When
                    /// paginating, all other parameters provided to `ListRelatedAccountGroupMemberships` must match the
                    /// call that provided the page token.
                    ///
                    [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)]
                    public virtual string PageToken { get; set; }

                    /// Gets the method name.
                    public override string MethodName => "list";

                    /// Gets the HTTP method.
                    public override string HttpMethod => "GET";

                    /// Gets the REST path.
                    public override string RestPath => "v1/{+parent}/memberships";

                    /// Initializes List parameter list.
                    protected override void InitParameters()
                    {
                        base.InitParameters();
                        RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
                        {
                            Name = "parent",
                            IsRequired = true,
                            ParameterType = "path",
                            DefaultValue = null,
                            Pattern = @"^projects/[^/]+/relatedaccountgroups/[^/]+$",
                        });
                        RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter
                        {
                            Name = "pageSize",
                            IsRequired = false,
                            ParameterType = "query",
                            DefaultValue = null,
                            Pattern = null,
                        });
                        RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter
                        {
                            Name = "pageToken",
                            IsRequired = false,
                            ParameterType = "query",
                            DefaultValue = null,
                            Pattern = null,
                        });
                    }
                }
            }

            /// List groups of related accounts.
            /// <param name="parent">
            /// Required. The name of the project to list related account groups from, in the format
            /// "projects/{project}".
            /// </param>
            public virtual ListRequest List(string parent)
            {
                return new ListRequest(service, parent);
            }

            /// List groups of related accounts.
            public class ListRequest : RecaptchaEnterpriseBaseServiceRequest<Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse>
            {
                /// Constructs a new List request.
                public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service)
                {
                    Parent = parent;
                    InitParameters();
                }

                ///
                /// Required. The name of the project to list related account groups from, in the format
                /// "projects/{project}".
                ///
                [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)]
                public virtual string Parent { get; private set; }

                ///
                /// Optional. The maximum number of groups to return. The service may return fewer than this value. If
                /// unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will
                /// be coerced to 1000.
                ///
                [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)]
                public virtual System.Nullable<int> PageSize { get; set; }

                ///
                /// Optional. A page token, received from a previous `ListRelatedAccountGroups` call. Provide this to
                /// retrieve the subsequent page. When paginating, all other parameters provided to
                /// `ListRelatedAccountGroups` must match the call that provided the page token.
                ///
                [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)]
                public virtual string PageToken { get; set; }

                /// Gets the method name.
                public override string MethodName => "list";

                /// Gets the HTTP method.
                public override string HttpMethod => "GET";

                /// Gets the REST path.
                public override string RestPath => "v1/{+parent}/relatedaccountgroups";

                /// Initializes List parameter list.
                protected override void InitParameters()
                {
                    base.InitParameters();
                    RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter
                    {
                        Name = "parent",
                        IsRequired = true,
                        ParameterType = "path",
                        DefaultValue = null,
                        Pattern = @"^projects/[^/]+$",
                    });
                    RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter
                    {
                        Name = "pageSize",
                        IsRequired = false,
                        ParameterType = "query",
                        DefaultValue = null,
                        Pattern = null,
                    });
                    RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter
                    {
                        Name = "pageToken",
                        IsRequired = false,
                        ParameterType = "query",
                        DefaultValue = null,
                        Pattern = null,
                    });
                }
            }
        }
    }
}
namespace Google.Apis.RecaptchaEnterprise.v1.Data
{
    /// Account Defender risk assessment.
    public class GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Labels for this request.
        [Newtonsoft.Json.JsonPropertyAttribute("labels")]
        public virtual System.Collections.Generic.IList<string> Labels { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Settings specific to keys that can be used by Android apps.
    public class GoogleCloudRecaptchaenterpriseV1AndroidKeySettings : Google.Apis.Requests.IDirectResponseSchema
    {
        /// If set to true, allowed_package_names are not enforced.
        [Newtonsoft.Json.JsonPropertyAttribute("allowAllPackageNames")]
        public virtual System.Nullable<bool> AllowAllPackageNames { get; set; }

        /// Android package names of apps allowed to use the key. Example: 'com.companyname.appname'
        [Newtonsoft.Json.JsonPropertyAttribute("allowedPackageNames")]
        public virtual System.Collections.Generic.IList<string> AllowedPackageNames { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// The request message to annotate an Assessment.
    public class GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Optional. The annotation that will be assigned to the Event. This field can be left empty to provide reasons
        /// that apply to an event without concluding whether the event is legitimate or fraudulent.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("annotation")]
        public virtual string Annotation { get; set; }

        ///
        /// Optional. Optional unique stable hashed user identifier to apply to the assessment. This is an alternative
        /// to setting the hashed_account_id in CreateAssessment, for example when the account identifier is not yet
        /// known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable
        /// secret.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("hashedAccountId")]
        public virtual string HashedAccountId { get; set; }

        /// Optional. Optional reasons for the annotation that will be assigned to the Event.
        [Newtonsoft.Json.JsonPropertyAttribute("reasons")]
        public virtual System.Collections.Generic.IList<string> Reasons { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Empty response for AnnotateAssessment.
    public class GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse : Google.Apis.Requests.IDirectResponseSchema
    {
        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// A recaptcha assessment resource.
    public class GoogleCloudRecaptchaenterpriseV1Assessment : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Assessment returned by Account Defender when a hashed_account_id is provided.
        [Newtonsoft.Json.JsonPropertyAttribute("accountDefenderAssessment")]
        public virtual GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment AccountDefenderAssessment { get; set; }

        /// The event being assessed.
        [Newtonsoft.Json.JsonPropertyAttribute("event")]
        public virtual GoogleCloudRecaptchaenterpriseV1Event Event__ { get; set; }

        ///
        /// Output only. The resource name for the Assessment in the format
        /// "projects/{project}/assessments/{assessment}".
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("name")]
        public virtual string Name { get; set; }

        /// Output only. The risk analysis result for the event being assessed.
        [Newtonsoft.Json.JsonPropertyAttribute("riskAnalysis")]
        public virtual GoogleCloudRecaptchaenterpriseV1RiskAnalysis RiskAnalysis { get; set; }

        /// Output only. Properties of the provided event token.
        [Newtonsoft.Json.JsonPropertyAttribute("tokenProperties")]
        public virtual GoogleCloudRecaptchaenterpriseV1TokenProperties TokenProperties { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Metrics related to challenges.
    public class GoogleCloudRecaptchaenterpriseV1ChallengeMetrics : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Count of submitted challenge solutions that were incorrect or otherwise deemed suspicious such that a
        /// subsequent challenge was triggered.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("failedCount")]
        public virtual System.Nullable<long> FailedCount { get; set; }

        /// Count of nocaptchas (successful verification without a challenge) issued.
        [Newtonsoft.Json.JsonPropertyAttribute("nocaptchaCount")]
        public virtual System.Nullable<long> NocaptchaCount { get; set; }

        ///
        /// Count of reCAPTCHA checkboxes or badges rendered. This is mostly equivalent to a count of pageloads for
        /// pages that include reCAPTCHA.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("pageloadCount")]
        public virtual System.Nullable<long> PageloadCount { get; set; }

        ///
        /// Count of nocaptchas (successful verification without a challenge) plus submitted challenge solutions that
        /// were correct and resulted in verification.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("passedCount")]
        public virtual System.Nullable<long> PassedCount { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    public class GoogleCloudRecaptchaenterpriseV1Event : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Optional. The expected action for this type of event. This should be the same action provided at token
        /// generation time on client-side platforms already integrated with recaptcha enterprise.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("expectedAction")]
        public virtual string ExpectedAction { get; set; }

        ///
        /// Optional. Optional unique stable hashed user identifier for the request. The identifier should ideally be
        /// hashed using sha256 with stable secret.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("hashedAccountId")]
        public virtual string HashedAccountId { get; set; }

        ///
        /// Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("siteKey")]
        public virtual string SiteKey { get; set; }

        ///
        /// Optional. The user response token provided by the reCAPTCHA client-side integration on your site.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("token")]
        public virtual string Token { get; set; }

        ///
        /// Optional. The user agent present in the request from the user's device related to this event.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("userAgent")]
        public virtual string UserAgent { get; set; }

        /// Optional. The IP address in the request from the user's device related to this event.
        [Newtonsoft.Json.JsonPropertyAttribute("userIpAddress")]
        public virtual string UserIpAddress { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Settings specific to keys that can be used by iOS apps.
    public class GoogleCloudRecaptchaenterpriseV1IOSKeySettings : Google.Apis.Requests.IDirectResponseSchema
    {
        /// If set to true, allowed_bundle_ids are not enforced.
        [Newtonsoft.Json.JsonPropertyAttribute("allowAllBundleIds")]
        public virtual System.Nullable<bool> AllowAllBundleIds { get; set; }

        ///
        /// iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("allowedBundleIds")]
        public virtual System.Collections.Generic.IList<string> AllowedBundleIds { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    ///
    /// A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
    ///
    public class GoogleCloudRecaptchaenterpriseV1Key : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Settings for keys that can be used by Android apps.
        [Newtonsoft.Json.JsonPropertyAttribute("androidSettings")]
        public virtual GoogleCloudRecaptchaenterpriseV1AndroidKeySettings AndroidSettings { get; set; }

        /// The timestamp corresponding to the creation of this Key.
        [Newtonsoft.Json.JsonPropertyAttribute("createTime")]
        public virtual object CreateTime { get; set; }

        /// Human-readable display name of this key. Modifiable by user.
        [Newtonsoft.Json.JsonPropertyAttribute("displayName")]
        public virtual string DisplayName { get; set; }

        /// Settings for keys that can be used by iOS apps.
        [Newtonsoft.Json.JsonPropertyAttribute("iosSettings")]
        public virtual GoogleCloudRecaptchaenterpriseV1IOSKeySettings IosSettings { get; set; }

        /// See Creating and managing labels.
        [Newtonsoft.Json.JsonPropertyAttribute("labels")]
        public virtual System.Collections.Generic.IDictionary<string, string> Labels { get; set; }

        /// The resource name for the Key in the format "projects/{project}/keys/{key}".
        [Newtonsoft.Json.JsonPropertyAttribute("name")]
        public virtual string Name { get; set; }

        /// Options for user acceptance testing.
        [Newtonsoft.Json.JsonPropertyAttribute("testingOptions")]
        public virtual GoogleCloudRecaptchaenterpriseV1TestingOptions TestingOptions { get; set; }

        /// Settings for WAF
        [Newtonsoft.Json.JsonPropertyAttribute("wafSettings")]
        public virtual GoogleCloudRecaptchaenterpriseV1WafSettings WafSettings { get; set; }

        /// Settings for keys that can be used by websites.
        [Newtonsoft.Json.JsonPropertyAttribute("webSettings")]
        public virtual GoogleCloudRecaptchaenterpriseV1WebKeySettings WebSettings { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Response to request to list keys in a project.
    public class GoogleCloudRecaptchaenterpriseV1ListKeysResponse : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Key details.
        [Newtonsoft.Json.JsonPropertyAttribute("keys")]
        public virtual System.Collections.Generic.IList<GoogleCloudRecaptchaenterpriseV1Key> Keys { get; set; }

        ///
        /// Token to retrieve the next page of results. It is set to empty if no keys remain in results.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")]
        public virtual string NextPageToken { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// The response to a `ListRelatedAccountGroupMemberships` call.
    public class GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no
        /// subsequent pages.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")]
        public virtual string NextPageToken { get; set; }

        /// The memberships listed by the query.
        [Newtonsoft.Json.JsonPropertyAttribute("relatedAccountGroupMemberships")]
        public virtual System.Collections.Generic.IList<GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership> RelatedAccountGroupMemberships { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// The response to a `ListRelatedAccountGroups` call.
    public class GoogleCloudRecaptchaenterpriseV1ListRelatedAccountGroupsResponse : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no
        /// subsequent pages.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")]
        public virtual string NextPageToken { get; set; }

        /// The groups of related accounts listed by the query.
        [Newtonsoft.Json.JsonPropertyAttribute("relatedAccountGroups")]
        public virtual System.Collections.Generic.IList<GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup> RelatedAccountGroups { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Metrics for a single Key.
    public class GoogleCloudRecaptchaenterpriseV1Metrics : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Metrics will be continuous and in order by dates, and in the granularity of day. Only challenge-based keys
        /// (CHECKBOX, INVISIBLE), will have challenge-based data.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("challengeMetrics")]
        public virtual System.Collections.Generic.IList<GoogleCloudRecaptchaenterpriseV1ChallengeMetrics> ChallengeMetrics { get; set; }

        ///
        /// Output only. The name of the metrics, in the format "projects/{project}/keys/{key}/metrics".
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("name")]
        public virtual string Name { get; set; }

        ///
        /// Metrics will be continuous and in order by dates, and in the granularity of day. All Key types should have
        /// score-based data.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("scoreMetrics")]
        public virtual System.Collections.Generic.IList<GoogleCloudRecaptchaenterpriseV1ScoreMetrics> ScoreMetrics { get; set; }

        /// Inclusive start time aligned to a day (UTC).
        [Newtonsoft.Json.JsonPropertyAttribute("startTime")]
        public virtual object StartTime { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// The migrate key request message.
    public class GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest : Google.Apis.Requests.IDirectResponseSchema
    {
        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// A group of related accounts.
    public class GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Required. The resource name for the related account group in the format
        /// `projects/{project}/relatedaccountgroups/{related_account_group}`.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("name")]
        public virtual string Name { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// A membership in a group of related accounts.
    public class GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id`
        /// provided in a previous CreateAssessment or AnnotateAssessment call.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("hashedAccountId")]
        public virtual string HashedAccountId { get; set; }

        ///
        /// Required. The resource name for this membership in the format
        /// `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("name")]
        public virtual string Name { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Risk analysis result for an event.
    public class GoogleCloudRecaptchaenterpriseV1RiskAnalysis : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Reasons contributing to the risk analysis verdict.
        [Newtonsoft.Json.JsonPropertyAttribute("reasons")]
        public virtual System.Collections.Generic.IList<string> Reasons { get; set; }

        ///
        /// Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very
        /// likely non-legitimate traffic).
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("score")]
        public virtual System.Nullable<float> Score { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Score distribution.
    public class GoogleCloudRecaptchaenterpriseV1ScoreDistribution : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Map key is score value multiplied by 100. The scores are discrete values between [0, 1]. The maximum number
        /// of buckets is on order of a few dozen, but typically much lower (ie. 10).
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("scoreBuckets")]
        public virtual System.Collections.Generic.IDictionary<string, System.Nullable<long>> ScoreBuckets { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Metrics related to scoring.
    public class GoogleCloudRecaptchaenterpriseV1ScoreMetrics : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Action-based metrics. The map key is the action name which specified by the site owners at time of the
        /// "execute" client-side call. Populated only for SCORE keys.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("actionMetrics")]
        public virtual System.Collections.Generic.IDictionary<string, GoogleCloudRecaptchaenterpriseV1ScoreDistribution> ActionMetrics { get; set; }

        /// Aggregated score metrics for all traffic.
        [Newtonsoft.Json.JsonPropertyAttribute("overallMetrics")]
        public virtual GoogleCloudRecaptchaenterpriseV1ScoreDistribution OverallMetrics { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// The request message to search related account group memberships.
    public class GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// Optional. The unique stable hashed user identifier we should search connections to. The identifier should
        /// correspond to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("hashedAccountId")]
        public virtual string HashedAccountId { get; set; }

        ///
        /// Optional. The maximum number of groups to return. The service may return fewer than this value. If
        /// unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will be
        /// coerced to 1000.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("pageSize")]
        public virtual System.Nullable<int> PageSize { get; set; }

        ///
        /// Optional. A page token, received from a previous `SearchRelatedAccountGroupMemberships` call. Provide this
        /// to retrieve the subsequent page. When paginating, all other parameters provided to
        /// `SearchRelatedAccountGroupMemberships` must match the call that provided the page token.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("pageToken")]
        public virtual string PageToken { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// The response to a `SearchRelatedAccountGroupMemberships` call.
    public class GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no
        /// subsequent pages.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")]
        public virtual string NextPageToken { get; set; }

        /// The queried memberships.
        [Newtonsoft.Json.JsonPropertyAttribute("relatedAccountGroupMemberships")]
        public virtual System.Collections.Generic.IList<GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership> RelatedAccountGroupMemberships { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Options for user acceptance testing.
    public class GoogleCloudRecaptchaenterpriseV1TestingOptions : Google.Apis.Requests.IDirectResponseSchema
    {
        ///
        /// For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return
        /// nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("testingChallenge")]
        public virtual string TestingChallenge { get; set; }

        ///
        /// All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely
        /// legitimate) inclusive.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("testingScore")]
        public virtual System.Nullable<float> TestingScore { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    public class GoogleCloudRecaptchaenterpriseV1TokenProperties : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Action name provided at token generation.
        [Newtonsoft.Json.JsonPropertyAttribute("action")]
        public virtual string Action { get; set; }

        /// The timestamp corresponding to the generation of the token.
        [Newtonsoft.Json.JsonPropertyAttribute("createTime")]
        public virtual object CreateTime { get; set; }

        /// The hostname of the page on which the token was generated.
        [Newtonsoft.Json.JsonPropertyAttribute("hostname")]
        public virtual string Hostname { get; set; }

        /// Reason associated with the response when valid = false.
        [Newtonsoft.Json.JsonPropertyAttribute("invalidReason")]
        public virtual string InvalidReason { get; set; }

        ///
        /// Whether the provided user response token is valid. When valid = false, the reason could be specified in
        /// invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the
        /// sitekey used to generate the token was different than the one specified in the assessment).
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("valid")]
        public virtual System.Nullable<bool> Valid { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Settings specific to keys that can be used for WAF (Web Application Firewall).
    public class GoogleCloudRecaptchaenterpriseV1WafSettings : Google.Apis.Requests.IDirectResponseSchema
    {
        /// Required. The WAF feature for which this key is enabled.
        [Newtonsoft.Json.JsonPropertyAttribute("wafFeature")]
        public virtual string WafFeature { get; set; }

        /// Required. The WAF service that uses this key.
        [Newtonsoft.Json.JsonPropertyAttribute("wafService")]
        public virtual string WafService { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    /// Settings specific to keys that can be used by websites.
    public class GoogleCloudRecaptchaenterpriseV1WebKeySettings : Google.Apis.Requests.IDirectResponseSchema
    {
        /// If set to true, it means allowed_domains will not be enforced.
        [Newtonsoft.Json.JsonPropertyAttribute("allowAllDomains")]
        public virtual System.Nullable<bool> AllowAllDomains { get; set; }

        ///
        /// If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. This is supported only for
        /// the SCORE integration type.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("allowAmpTraffic")]
        public virtual System.Nullable<bool> AllowAmpTraffic { get; set; }

        ///
        /// Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are
        /// automatically allowed. A valid domain requires a host and must not include any path, port, query or
        /// fragment. Examples: 'example.com' or 'subdomain.example.com'
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("allowedDomains")]
        public virtual System.Collections.Generic.IList<string> AllowedDomains { get; set; }

        ///
        /// Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be
        /// specified for IntegrationTypes CHECKBOX and INVISIBLE.
        ///
        [Newtonsoft.Json.JsonPropertyAttribute("challengeSecurityPreference")]
        public virtual string ChallengeSecurityPreference { get; set; }

        /// Required. Describes how this key is integrated with the website.
        [Newtonsoft.Json.JsonPropertyAttribute("integrationType")]
        public virtual string IntegrationType { get; set; }

        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }

    ///
    /// A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical
    /// example is to use it as the request or the response type of an API method. For instance: service Foo { rpc
    /// Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
    ///
    public class GoogleProtobufEmpty : Google.Apis.Requests.IDirectResponseSchema
    {
        /// The ETag of the item.
        public virtual string ETag { get; set; }
    }
}


text:
using System;

namespace AggregateSource.Testing
{
    /// <summary>
    /// The given none state within the test specification building process.
    /// </summary>
    public interface IAggregateQueryGivenNoneStateBuilder<out TAggregateRoot> where TAggregateRoot : IAggregateRootEntity
    {
        /// <summary>
        /// When a query occurs.
        /// </summary>
        /// <param name="query">The query method invocation on the sut.</param>
        /// <returns>A builder continuation.</returns>
        IAggregateQueryWhenStateBuilder<TResult> When<TResult>(Func<TAggregateRoot, TResult> query);
    }
}

redpajama_set_name: RedPajamaGithub


text:
/**
 * main.css
 *
 * CSS that does not specifically override or apply to elements handled by
 * jQuery or plugin CSS (e.g., uploader and SlickGrid).
 */
@import url("header.css");
@import url("footer.css");
@import url("clearfix.css");
@import url("nav.css");
@import url("lists.css");
@import url("tables.css");
@import url("jQuery/custom.css");
@import url("SlickGrid/custom.css");

/* document body */
body {
  font-size: 10pt;
  font-family: 'Source Sans Pro', sans-serif;
}

h3 {
  margin: 8px 0 10px 0;
}

h4, h5 {
  margin: 0 0 10px 0;
  padding: 0;
  color: #666666;
}

/* link decoration */
a[href$='.nc'] {
  padding-left: 18px;
  line-height: 18px;
  background: transparent url('../img/icon/netcdf.png') center left no-repeat;
}

a[href$='.template'] {
  padding-left: 18px;
  line-height: 18px;
  background: transparent url('../img/icon/rosetta-12x12.png') center left no-repeat;
}

main {
  width: 100%;
  float: left;
  clear: left;
  margin: 10px 0;
}

section {
  padding-left: 10px;
  float: left;
  width: 75%;
  border-left: 1px solid #CFCFCF;
}

section.user {
  width: 95%;
  border: none;
}

/* some divs to format a page into left & right */
.left, .right {
  padding: 10px;
  margin: 10px 0;
  width: 45%; /*56%; */
  float: left;
  top: 0;
  height: 100%;
  border: none !important;
  background: none !important;
  border-radius: 0px;
}

.right {
  width: 43%;
  float: right;
  clear: right;
}

/* form */
fieldset {
  margin: 10px 0;
  padding-left: 10px;
  border: none;
  border-left: 1px solid #CFCFCF;
  min-height: 200px;
}

fieldset legend {
  position: relative;
  top: 5px;
  padding: 0;
  font-size: 1.5em;
}

button,
.button {
  background: #f2f6f8; /* Old browsers */
  background: -moz-linear-gradient(top, #f2f6f8 0%, #d8e1e7 49%, #d8e1e7 49%, #b5c6d0 100%, #e0eff9 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f2f6f8 0%, #d8e1e7 49%, #d8e1e7 49%, #b5c6d0 100%, #e0eff9 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f2f6f8 0%, #d8e1e7 49%, #d8e1e7 49%, #b5c6d0 100%, #e0eff9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f6f8', endColorstr='#e0eff9', GradientType=0); /* IE6-9 */
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  font-size: 9pt;
  padding: 6px;
  margin-left: 0;
}

button.clearFileUpload {
  background: none;
  padding: 3px 5px !important;
  margin-left: 20px;
  border-radius: 0 !important;
  font-size: 8pt;
}

input[type="submit"] {
  margin: 1em 0 1em 10px;
}

input[type="submit"].noformat {
  margin: 1em 0;
}

label,
.profileKey {
  vertical-align: middle;
  width: 100%;
  line-height: 25px;
  float: left;
  margin-top: 10px;
}

.profileValue {
  font-size: 9pt;
  width: 200px;
  color: #696969;
  line-height: 25px;
  padding: 0;
  float: left;
}

.disabled {
  color: #CFCFCF;
  background: #F8F8F8; /* Old browsers */
  background: -moz-linear-gradient(top, #F8F8F8 -1%, #F9F9F9 0%, #F6F6F6 0%, #F6F6F6 0%, #F8F8F8 2%, #F8F8F8 4%, #ffffff 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #F8F8F8 -1%, #F9F9F9 0%, #F6F6F6 0%, #F6F6F6 0%, #F8F8F8 2%, #F8F8F8 4%, #ffffff 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #F8F8F8 -1%, #F9F9F9 0%, #F6F6F6 0%, #F6F6F6 0%, #F8F8F8 2%, #F8F8F8 4%, #ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#ffffff', GradientType=0); /* IE6-9 */
  border: 1px solid #F8F8F8;
}

label.format {
  display: block;
}

/* commonly used class used to hide elements */
.hideMe {
  display: none !important;
}

/* formats script-generated notices that are not errors */
.notice {
  color: #0000FF !important;
}

/* global format for error messages */
.error {
  display: block;
  margin: 10px 0;
  padding: 0;
  color: #FF0000;
}

label.noHeaderLines {
  margin-bottom: 10px;
  width: 100%;
  float: left;
  clear: left;
  font-family: "Courier New", Courier, monospace;
}

/* List of radio buttons  for template selection */
ul.template {
  list-style: none;
  margin: 0 0 15px 0;
  padding: 0;
  float: left;
  width: 100%;
}

/* Image format (help icon)*/
ul li label img {
  width: 10px;
  height: 10px;
  margin: 0;
  padding: 0;
}

/**
 * CF type step of wizard.
 */
#cfType {
  width: 100%;
}

/* tabs */
#cfType ul {
  width: 100%;
  list-style: none;
  margin: 0 0 10px 0;
  padding: 0;
  float: left;
}

#cfType ul li {
  display: inline;
  margin: 0 5px 0 0;
  padding: 0;
  float: left;
  position: relative;
  bottom: 0;
}

#cfType ul li.cfTypeSpecified {
  margin: 0;
  float: right;
}

#cfType ul li.cfTypeSpecified small {
  font-size: 7pt;
}

/* platform display */
#cfType ul.platforms {
  margin: 0;
  padding: 0;
}

#cfType ul.platforms li {
  display: inline;
  margin: 0 10px 10px 0;
  padding: 0;
  float: left;
  font-size: 9pt;
  text-align: center;
  background: #FFFFFF;
}

#cfType ul.platforms li.ui-selected {
  background-color: #F39814;
}

#cfType ul.platforms li img {
  width: 75px;
  height: 75px;
  margin: 0 0 10px 0px;
  padding: 10px;
  display: block;
}

#cfType ul.platforms li small {
  display: block;
  margin: 0 0 5px 0;
}

#cfType ul.platforms li input {
  display: none;
}

/* metadata profile selection */
#cfType #metadataProfile {
  margin-top: 20px;
}

/**
 * File upload step of wizard.
 */
#fileUpload #upload {
  margin: 10px 0;
  padding: 0;
}

#fileUpload #upload .files {
  margin: 10px 10px 20px 10px;
}

.fileType {
  display:inline !important;
  text-transform: capitalize;
}

/**
 * Custom file attributes step of wizard.
 */
#customFileTypeAttributes #delimiters {
  display: block;
  float: left;
  width: 100%;
}

/* The delimiter list needs this to have decimal separator selection placed properly */
ul#delimiterList {
  width: 100%;
  list-style: none;
  position: relative;
  margin-bottom: 10px;
}

ul#delimiterList li {
  width: 20%;
  display: inline;
  margin: 0 15px 10px 0;
  padding: 0;
  float: left;
  position: relative;
  bottom: 0;
}

.buttonNav {
  display: block;
  float: left;
  width: 100%;
}

/**
 * Variable metadata collection step of the wizard.
 */
/*variable dialog box  */
.ui-dialog #dialog {
  font-size: 9pt;
  margin: 5px;
  padding: 10px;
  border: 1px solid #AAAAAA;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px;
}

/* dialog box section titles */
#dialog h3 {
  min-width: 450px;
  font-size: 10pt;
  padding: 0;
  margin: 0;
  border-bottom: 1px dotted #000000;
}

/* dialog box form labels */
#dialog label {
  font-size: 8pt;
  margin: 0;
  padding: 0 10px 0 0;
}

/* dialog box image formatting */
#dialog img {
  margin: 0 10px 0 0;
  padding: 0;
}

/* dialog box error formatting */
#dialog .error {
  display: block;
  margin: 0 0 8px 0;
  padding: 0;
}

/* hiding inactive elements in the dialog box */
#dialog .inactive {
  display: none;
}

/* dialog box section formatting */
#dialog #variableNameTypeAssignment,
#dialog #variableAttributes {
  width: 100%;
  float: left;
  clear: left;
}

#dialog #variableNameSelected {
  height: 16px;
}

#dialog #requiredMetadataAssignment,
#dialog #additionalMetadataAssignment,
#dialog #recommendedMetadataAssignment {
  width: 80%;
}

#dialog #variableAttributes div {
  float: left;
  clear: left;
  padding: 0;
  margin: 0 0 10px 0;
}

/* dialog box section input tag formatting */
#dialog #variableNameAssignment input {
  padding: 0;
  margin: 5px 0 10px 25px;
  height: 16px;
}

#dialog #requiredMetadataAssignment input,
#dialog #requiredMetadataAssignment select,
#dialog #additionalMetadataAssignment input,
#dialog #recommendedMetadataAssignment input {
  float: right;
  clear: right;
  padding: 0;
  margin: 0 0 10px 0;
}

#dialog #metadataTypeStructureAssignment select {
  margin: 0 0 20px 0;
}

/* Dialog box unit builder formatting */
#dialog #unitBuilder,
#dialog #existingMetadataImporter {
  width: 100%;
  padding: 5px !important;
  margin: 0;
  border: 1px solid #AAAAAA;
  background-color: #EFEFEF;
}

/* Dialog box unit builder label formatting */
#dialog #unitBuilder label,
#dialog #existingMetadataImporter label {
  padding: 0;
  margin: 5px;
  width: 95%;
}

#dialog #unitBuilder span {
  display: block;
  float: left;
  margin-left: 10px;
}

/* Dialog box unit builder label formatting for show unit builder section */
#dialog label.unitBuilder,
#dialog label.existingMetadataImporter {
  margin: 10px 0;
  display: block;
  line-height: 10px;
}

/* Dialog box unit builder label formatting for data type section */
#dialog #unitBuilder label.whole,
#dialog label.existingMetadataImporter label.whole {
  display: block;
}

/* Dialog box unit builder input tag formatting */
#dialog label.unitBuilder input,
#dialog label.existingMetadataImporter input,
#dialog #unitBuilder input
#dialog #existingMetadataImporter input {
  float: left !important;
  clear: left !important;
  padding: 0 !important;
  margin: 0 10px 0 0 !important;
}

/* unordered lists are used to display/format form items in the dialog box */
#dialog ul {
  width: 100%;
  list-style: none;
  margin: 0 0 10px 0;
  padding: 0;
  float: left;
  position: relative;
}

/* li has width of 100% */
#dialog ul li {
  width: 100%;
  display: inline;
  margin: 2px 0 0 0;
  padding: 0;
  float: left;
}

/* li has half width */
#dialog ul.half li {
  width: 45%;
}

/* li has third width */
#dialog ul.third li {
  width: 33%;
}

/* li has quarter width */
#dialog ul.quarter li {
  width: 25%;
}

/**
 * Global metadata collection step of the wizard.
 */

#globalMetadata h5.toggle {
  height: 25px !important;
  margin: 10px 0 0 0;
  padding: 0 0 0 20px;
  text-align: left;
  font-size: 10pt;
  width: 100%;
  border-bottom: 1px solid #CFCFCF;
}

#globalMetadata .category {
  width: 100%;
  list-style: none;
  margin: 0 0 10px 0;
  padding: 10px;
  float: left;
  background: #F8F8F8; /* Old browsers */
  background: -moz-linear-gradient(bottom, #F8F8F8 -1%, #F9F9F9 0%, #F6F6F6 0%, #F6F6F6 0%, #F8F8F8 2%, #F8F8F8 4%, #ffffff 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(bottom, #F8F8F8 -1%, #F9F9F9 0%, #F6F6F6 0%, #F6F6F6 0%, #F8F8F8 2%, #F8F8F8 4%, #ffffff 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to top, #F8F8F8 -1%, #F9F9F9 0%, #F6F6F6 0%, #F6F6F6 0%, #F8F8F8 2%, #F8F8F8 4%, #ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#ffffff', GradientType=0); /* IE6-9 */
}

#globalMetadata b {
  margin: 20px 0 0 0;
  padding: 0 0 10px 20px;
  display: block;
  float:left;
  width: 100%;
}

#globalMetadata ul li {
  width: 30%;
  display: inline;
  margin: 0 15px 10px 0;
  padding: 0;
  float: left;
  position: relative;
  bottom: 0;
}

#globalMetadata ul li label {
  margin: 0;
  padding: 0;
  text-align: left;
}

#globalMetadata ul#additional,
#globalMetadata ul#recommended,
#globalMetadata ul#required {
  border-left: 1px solid #A2B1C9;
  width:100%;
  margin:0 0 10px 4px;
  padding-top: 20px;
  float:left;
}

#globalMetadata p {
  width:100%;
  float:left;
}

#globalMetadata ul#required li .required {
  border: 1px solid #FF0000;
}

/**
 * Convert * Download Step
 */
ul#download {
  width: 100%;
  list-style: none;
  margin: 0 0 10px 0;
  padding: 0;
  float: left;
  position: relative;
}

/* li has width of 100% */
ul#download li {
  width: 100%;
  display: inline;
  margin: 10px 0 0 10px;
  padding: 0;
  float: left;
}