@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [;
exports.WebApp = void 0;
const pulumi = require("@pulumi/pulumi");
const inputs = require("../types/input");
const utilities = require("../utilities");
/**
* A web app, a mobile app backend, or an API app.
*
* Uses Azure REST API version 2024-04-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.
*
* Other available API versions: 2016-08-01, 2018-02-01, 2018-11-01, 2019-08-01, 2020-06-01, 2020-09-01, 2020-10-01, 2020-12-01, 2021-01-01, 2021-01-15, 2021-02-01, 2021-03-01, 2022-03-01, 2022-09-01, 2023-01-01, 2023-12-01, 2024-11-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native web [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
*/
class WebApp extends pulumi.CustomResource {
/**
* Get an existing WebApp resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new WebApp(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of WebApp. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === WebApp.__pulumiType;
}
/**
* Create a WebApp resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
if (args?.resourceGroupName === undefined && !opts.urn) {
throw new Error("Missing required property 'resourceGroupName'");
}
resourceInputs["autoGeneratedDomainNameLabelScope"] = args?.autoGeneratedDomainNameLabelScope;
resourceInputs["clientAffinityEnabled"] = args?.clientAffinityEnabled;
resourceInputs["clientCertEnabled"] = args?.clientCertEnabled;
resourceInputs["clientCertExclusionPaths"] = args?.clientCertExclusionPaths;
resourceInputs["clientCertMode"] = args?.clientCertMode;
resourceInputs["cloningInfo"] = args?.cloningInfo;
resourceInputs["containerSize"] = args?.containerSize;
resourceInputs["customDomainVerificationId"] = args?.customDomainVerificationId;
resourceInputs["dailyMemoryTimeQuota"] = args?.dailyMemoryTimeQuota;
resourceInputs["daprConfig"] = args ? (args.daprConfig ? pulumi.output(args.daprConfig).apply(inputs.web.daprConfigArgsProvideDefaults) : undefined) : undefined;
resourceInputs["dnsConfiguration"] = args?.dnsConfiguration;
resourceInputs["enabled"] = args?.enabled;
resourceInputs["endToEndEncryptionEnabled"] = args?.endToEndEncryptionEnabled;
resourceInputs["extendedLocation"] = args?.extendedLocation;
resourceInputs["functionAppConfig"] = args?.functionAppConfig;
resourceInputs["hostNameSslStates"] = args?.hostNameSslStates;
resourceInputs["hostNamesDisabled"] = args?.hostNamesDisabled;
resourceInputs["hostingEnvironmentProfile"] = args?.hostingEnvironmentProfile;
resourceInputs["httpsOnly"] = args?.httpsOnly;
resourceInputs["hyperV"] = (args?.hyperV) ?? false;
resourceInputs["identity"] = args?.identity;
resourceInputs["ipMode"] = args?.ipMode;
resourceInputs["isXenon"] = (args?.isXenon) ?? false;
resourceInputs["keyVaultReferenceIdentity"] = args?.keyVaultReferenceIdentity;
resourceInputs["kind"] = args?.kind;
resourceInputs["location"] = args?.location;
resourceInputs["managedEnvironmentId"] = args?.managedEnvironmentId;
resourceInputs["name"] = args?.name;
resourceInputs["publicNetworkAccess"] = args?.publicNetworkAccess;
resourceInputs["redundancyMode"] = args?.redundancyMode;
resourceInputs["reserved"] = (args?.reserved) ?? false;
resourceInputs["resourceConfig"] = args?.resourceConfig;
resourceInputs["resourceGroupName"] = args?.resourceGroupName;
resourceInputs["scmSiteAlsoStopped"] = (args?.scmSiteAlsoStopped) ?? false;
resourceInputs["serverFarmId"] = args?.serverFarmId;
resourceInputs["siteConfig"] = args ? (args.siteConfig ? pulumi.output(args.siteConfig).apply(inputs.web.siteConfigArgsProvideDefaults) : undefined) : undefined;
resourceInputs["storageAccountRequired"] = args?.storageAccountRequired;
resourceInputs["tags"] = args?.tags;
resourceInputs["virtualNetworkSubnetId"] = args?.virtualNetworkSubnetId;
resourceInputs["vnetBackupRestoreEnabled"] = args?.vnetBackupRestoreEnabled;
resourceInputs["vnetContentShareEnabled"] = args?.vnetContentShareEnabled;
resourceInputs["vnetImagePullEnabled"] = args?.vnetImagePullEnabled;
resourceInputs["vnetRouteAllEnabled"] = args?.vnetRouteAllEnabled;
resourceInputs["workloadProfileName"] = args?.workloadProfileName;
resourceInputs["availabilityState"] = undefined /*out*/;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["defaultHostName"] = undefined /*out*/;
resourceInputs["enabledHostNames"] = undefined /*out*/;
resourceInputs["hostNames"] = undefined /*out*/;
resourceInputs["inProgressOperationId"] = undefined /*out*/;
resourceInputs["isDefaultContainer"] = undefined /*out*/;
resourceInputs["lastModifiedTimeUtc"] = undefined /*out*/;
resourceInputs["maxNumberOfWorkers"] = undefined /*out*/;
resourceInputs["outboundIpAddresses"] = undefined /*out*/;
resourceInputs["possibleOutboundIpAddresses"] = undefined /*out*/;
resourceInputs["repositorySiteName"] = undefined /*out*/;
resourceInputs["resourceGroup"] = undefined /*out*/;
resourceInputs["sku"] = undefined /*out*/;
resourceInputs["slotSwapStatus"] = undefined /*out*/;
resourceInputs["state"] = undefined /*out*/;
resourceInputs["suspendedTill"] = undefined /*out*/;
resourceInputs["targetSwapSlot"] = undefined /*out*/;
resourceInputs["trafficManagerHostNames"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
resourceInputs["usageState"] = undefined /*out*/;
}
else {
resourceInputs["autoGeneratedDomainNameLabelScope"] = undefined /*out*/;
resourceInputs["availabilityState"] = undefined /*out*/;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["clientAffinityEnabled"] = undefined /*out*/;
resourceInputs["clientCertEnabled"] = undefined /*out*/;
resourceInputs["clientCertExclusionPaths"] = undefined /*out*/;
resourceInputs["clientCertMode"] = undefined /*out*/;
resourceInputs["containerSize"] = undefined /*out*/;
resourceInputs["customDomainVerificationId"] = undefined /*out*/;
resourceInputs["dailyMemoryTimeQuota"] = undefined /*out*/;
resourceInputs["daprConfig"] = undefined /*out*/;
resourceInputs["defaultHostName"] = undefined /*out*/;
resourceInputs["dnsConfiguration"] = undefined /*out*/;
resourceInputs["enabled"] = undefined /*out*/;
resourceInputs["enabledHostNames"] = undefined /*out*/;
resourceInputs["endToEndEncryptionEnabled"] = undefined /*out*/;
resourceInputs["extendedLocation"] = undefined /*out*/;
resourceInputs["functionAppConfig"] = undefined /*out*/;
resourceInputs["hostNameSslStates"] = undefined /*out*/;
resourceInputs["hostNames"] = undefined /*out*/;
resourceInputs["hostNamesDisabled"] = undefined /*out*/;
resourceInputs["hostingEnvironmentProfile"] = undefined /*out*/;
resourceInputs["httpsOnly"] = undefined /*out*/;
resourceInputs["hyperV"] = undefined /*out*/;
resourceInputs["identity"] = undefined /*out*/;
resourceInputs["inProgressOperationId"] = undefined /*out*/;
resourceInputs["ipMode"] = undefined /*out*/;
resourceInputs["isDefaultContainer"] = undefined /*out*/;
resourceInputs["isXenon"] = undefined /*out*/;
resourceInputs["keyVaultReferenceIdentity"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["lastModifiedTimeUtc"] = undefined /*out*/;
resourceInputs["location"] = undefined /*out*/;
resourceInputs["managedEnvironmentId"] = undefined /*out*/;
resourceInputs["maxNumberOfWorkers"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["outboundIpAddresses"] = undefined /*out*/;
resourceInputs["possibleOutboundIpAddresses"] = undefined /*out*/;
resourceInputs["publicNetworkAccess"] = undefined /*out*/;
resourceInputs["redundancyMode"] = undefined /*out*/;
resourceInputs["repositorySiteName"] = undefined /*out*/;
resourceInputs["reserved"] = undefined /*out*/;
resourceInputs["resourceConfig"] = undefined /*out*/;
resourceInputs["resourceGroup"] = undefined /*out*/;
resourceInputs["scmSiteAlsoStopped"] = undefined /*out*/;
resourceInputs["serverFarmId"] = undefined /*out*/;
resourceInputs["siteConfig"] = undefined /*out*/;
resourceInputs["sku"] = undefined /*out*/;
resourceInputs["slotSwapStatus"] = undefined /*out*/;
resourceInputs["state"] = undefined /*out*/;
resourceInputs["storageAccountRequired"] = undefined /*out*/;
resourceInputs["suspendedTill"] = undefined /*out*/;
resourceInputs["tags"] = undefined /*out*/;
resourceInputs["targetSwapSlot"] = undefined /*out*/;
resourceInputs["trafficManagerHostNames"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
resourceInputs["usageState"] = undefined /*out*/;
resourceInputs["virtualNetworkSubnetId"] = undefined /*out*/;
resourceInputs["vnetBackupRestoreEnabled"] = undefined /*out*/;
resourceInputs["vnetContentShareEnabled"] = undefined /*out*/;
resourceInputs["vnetImagePullEnabled"] = undefined /*out*/;
resourceInputs["vnetRouteAllEnabled"] = undefined /*out*/;
resourceInputs["workloadProfileName"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "azure-native:web/v20150801:WebApp" }, { type: "azure-native:web/v20160801:WebApp" }, { type: "azure-native:web/v20180201:WebApp" }, { type: "azure-native:web/v20181101:WebApp" }, { type: "azure-native:web/v20190801:WebApp" }, { type: "azure-native:web/v20200601:WebApp" }, { type: "azure-native:web/v20200901:WebApp" }, { type: "azure-native:web/v20201001:WebApp" }, { type: "azure-native:web/v20201201:WebApp" }, { type: "azure-native:web/v20210101:WebApp" }, { type: "azure-native:web/v20210115:WebApp" }, { type: "azure-native:web/v20210201:WebApp" }, { type: "azure-native:web/v20210301:WebApp" }, { type: "azure-native:web/v20220301:WebApp" }, { type: "azure-native:web/v20220901:WebApp" }, { type: "azure-native:web/v20230101:WebApp" }, { type: "azure-native:web/v20231201:WebApp" }, { type: "azure-native:web/v20240401:WebApp" }, { type: "azure-native:web/v20241101:WebApp" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(WebApp.__pulumiType, name, resourceInputs, opts);
}
}
exports.WebApp = WebApp;
/** @internal */
WebApp.__pulumiType = 'azure-native:web:WebApp';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViQXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vd2ViL3dlYkFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0VBQXNFO0FBQ3RFLGlGQUFpRjs7O0FBRWpGLHlDQUF5QztBQUN6Qyx5Q0FBeUM7QUFHekMsMENBQTBDO0FBRTFDOzs7Ozs7R0FNRztBQUNILE1BQWEsTUFBTyxTQUFRLE1BQU0sQ0FBQyxjQUFjO0lBQzdDOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUEyQixFQUFFLElBQW1DO1FBQzVGLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQWdCLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBS0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN2RCxDQUFDO0lBdVFEOzs7Ozs7T0FNRztJQUNILFlBQVksSUFBWSxFQUFFLElBQWdCLEVBQUUsSUFBbUM7UUFDM0UsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksSUFBSSxFQUFFLGlCQUFpQixLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQzthQUNwRTtZQUNELGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxHQUFHLElBQUksRUFBRSxpQ0FBaUMsQ0FBQztZQUM5RixjQUFjLENBQUMsdUJBQXVCLENBQUMsR0FBRyxJQUFJLEVBQUUscUJBQXFCLENBQUM7WUFDdEUsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixDQUFDO1lBQzlELGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLElBQUksRUFBRSx3QkFBd0IsQ0FBQztZQUM1RSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLEVBQUUsY0FBYyxDQUFDO1lBQ3hELGNBQWMsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDO1lBQ2xELGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLEVBQUUsYUFBYSxDQUFDO1lBQ3RELGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLElBQUksRUFBRSwwQkFBMEIsQ0FBQztZQUNoRixjQUFjLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7WUFDcEUsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2pLLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksRUFBRSxnQkFBZ0IsQ0FBQztZQUM1RCxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQztZQUMxQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsR0FBRyxJQUFJLEVBQUUseUJBQXlCLENBQUM7WUFDOUUsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxFQUFFLGdCQUFnQixDQUFDO1lBQzVELGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksRUFBRSxpQkFBaUIsQ0FBQztZQUM5RCxjQUFjLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLEVBQUUsaUJBQWlCLENBQUM7WUFDOUQsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixDQUFDO1lBQzlELGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLElBQUksRUFBRSx5QkFBeUIsQ0FBQztZQUM5RSxjQUFjLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQztZQUM5QyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ25ELGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLEVBQUUsUUFBUSxDQUFDO1lBQzVDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLEVBQUUsTUFBTSxDQUFDO1lBQ3hDLGNBQWMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUM7WUFDckQsY0FBYyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsSUFBSSxFQUFFLHlCQUF5QixDQUFDO1lBQzlFLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3BDLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLEVBQUUsUUFBUSxDQUFDO1lBQzVDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLElBQUksRUFBRSxvQkFBb0IsQ0FBQztZQUNwRSxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQztZQUNwQyxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLENBQUM7WUFDbEUsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxFQUFFLGNBQWMsQ0FBQztZQUN4RCxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ3ZELGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksRUFBRSxjQUFjLENBQUM7WUFDeEQsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixDQUFDO1lBQzlELGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksS0FBSyxDQUFDO1lBQzNFLGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLEVBQUUsWUFBWSxDQUFDO1lBQ3BELGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqSyxjQUFjLENBQUMsd0JBQXdCLENBQUMsR0FBRyxJQUFJLEVBQUUsc0JBQXNCLENBQUM7WUFDeEUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsSUFBSSxFQUFFLHNCQUFzQixDQUFDO1lBQ3hFLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLElBQUksRUFBRSx3QkFBd0IsQ0FBQztZQUM1RSxjQUFjLENBQUMseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsdUJBQXVCLENBQUM7WUFDMUUsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxFQUFFLG9CQUFvQixDQUFDO1lBQ3BFLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLElBQUksRUFBRSxtQkFBbUIsQ0FBQztZQUNsRSxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLENBQUM7WUFDbEUsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN4RCxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3RELGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDdEQsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN2RCxjQUFjLENBQUMsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNoRCxjQUFjLENBQUMsdUJBQXVCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzVELGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDekQsY0FBYyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMxRCxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3pELGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDMUQsY0FBYyxDQUFDLDZCQUE2QixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNsRSxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3pELGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3BELGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDckQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDNUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDcEQsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNyRCxjQUFjLENBQUMseUJBQXlCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzlELGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzNDLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1NBQ3BEO2FBQU07WUFDSCxjQUFjLENBQUMsbUNBQW1DLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3hFLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDeEQsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN0RCxjQUFjLENBQUMsdUJBQXVCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzVELGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDeEQsY0FBYyxDQUFDLDBCQUEwQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMvRCxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3JELGNBQWMsQ0FBQyxlQUFlLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3BELGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDakUsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMzRCxjQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNqRCxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3RELGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDdkQsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDOUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN2RCxjQUFjLENBQUMsMkJBQTJCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ2hFLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDdkQsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN4RCxjQUFjLENBQUMsbUJBQW1CLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3hELGNBQWMsQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ2hELGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDeEQsY0FBYyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNoRSxjQUFjLENBQUMsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNoRCxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUM3QyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMvQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzVELGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzdDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDekQsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDOUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNoRSxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzFELGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQy9DLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0QsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUN6RCxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzFELGNBQWMsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDbEUsY0FBYyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMxRCxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3JELGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDekQsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDL0MsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNyRCxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNwRCxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3pELGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ25ELGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ2pELGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDckQsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDNUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUM3RCxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNwRCxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3JELGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDOUQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDakQsY0FBYyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUM3RCxjQUFjLENBQUMsMEJBQTBCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQy9ELGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFDOUQsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUMzRCxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQzFELGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDN0Q7UUFDRCxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRSxNQUFNLFNBQVMsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzc1QixJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDNUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDOztBQXBiTCx3QkFxYkM7QUF4YUcsZ0JBQWdCO0FBQ08sbUJBQVksR0FBRyx5QkFBeUIsQ0FBQyJ9