exports/latest-2019-04-30/Restore-AzWebAppFromBackupBlob.ps1
<# .Synopsis Restores an app from a backup blob in Azure Storage. .Description Restores an app from a backup blob in Azure Storage. .Example To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.appservice/restore-azwebappfrombackupblob .Inputs Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.Api20180201.IRestoreRequest .Inputs Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.IAppServiceIdentity .Outputs System.Boolean .Notes COMPLEX PARAMETER PROPERTIES To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. DATABASE <IDatabaseBackupSetting[]>: Collection of databases which should be restored. This list has to match the list of databases included in the backup. DatabaseType <DatabaseType>: Database type (e.g. SqlAzure / MySql). [ConnectionString <String>]: Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. [ConnectionStringName <String>]: Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. This is used during restore with overwrite connection strings options. [Name <String>]: INPUTOBJECT <IAppServiceIdentity>: Identity Parameter [AnalysisName <String>]: Analysis Name [ApiName <String>]: The managed API name. [BackupId <String>]: ID of the backup. [BaseAddress <String>]: Module base address. [CertificateOrderName <String>]: Name of the certificate order. [ConnectionName <String>]: The connection name. [DeletedSiteId <String>]: The numeric ID of the deleted app, e.g. 12345 [DetectorName <String>]: Detector Resource Name [DiagnosticCategory <String>]: Diagnostic Category [DiagnosticsName <String>]: Name of the diagnostics item. [DomainName <String>]: Name of the domain. [DomainOwnershipIdentifierName <String>]: Name of domain ownership identifier. [EntityName <String>]: Name of the hybrid connection. [FunctionName <String>]: Function name. [GatewayName <String>]: Name of the gateway. Only the 'primary' gateway is supported. [HostName <String>]: Hostname in the hostname binding. [HostingEnvironmentName <String>]: Name of the hosting environment. [Id <String>]: Resource identity path [Instance <String>]: Name of the instance in the multi-role pool. [InstanceId <String>]: ID of web app instance. [Location <String>]: [Name <String>]: Name of the certificate. [NamespaceName <String>]: Name of the Service Bus namespace. [OperationId <String>]: GUID of the operation. [PremierAddOnName <String>]: Add-on name. [ProcessId <String>]: PID. [PublicCertificateName <String>]: Public certificate name. [RelayName <String>]: Name of the Service Bus relay. [ResourceGroupName <String>]: Name of the resource group to which the resource belongs. [RouteName <String>]: Name of the Virtual Network route. [SiteExtensionId <String>]: Site extension name. [SiteName <String>]: Site Name [Slot <String>]: Name of web app slot. If not specified then will default to production slot. [SnapshotId <String>]: The ID of the snapshot to read. [SourceControlType <String>]: Type of source control [SubscriptionId <String>]: Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). [ThreadId <String>]: TID. [View <String>]: The type of view. This can either be "summary" or "detailed". [VnetName <String>]: Name of the Virtual Network. [WebJobName <String>]: Name of Web Job. [WorkerName <String>]: Name of worker machine, which typically starts with RD. [WorkerPoolName <String>]: Name of the worker pool. REQUEST <IRestoreRequest>: Description of a restore request. Overwrite <Boolean>: <code>true</code> if the restore operation can overwrite target app; otherwise, <code>false</code>. <code>true</code> is needed if trying to restore over an existing app. StorageAccountUrl <String>: SAS URL to the container. [Kind <String>]: Kind of resource. [AdjustConnectionString <Boolean?>]: <code>true</code> if SiteConfig.ConnectionStrings should be set in new app; otherwise, <code>false</code>. [AppServicePlan <String>]: Specify app service plan that will own restored site. [BlobName <String>]: Name of a blob which contains the backup. [Database <IDatabaseBackupSetting[]>]: Collection of databases which should be restored. This list has to match the list of databases included in the backup. DatabaseType <DatabaseType>: Database type (e.g. SqlAzure / MySql). [ConnectionString <String>]: Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. [ConnectionStringName <String>]: Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. This is used during restore with overwrite connection strings options. [Name <String>]: [HostingEnvironment <String>]: App Service Environment name, if needed (only when restoring an app to an App Service Environment). [IgnoreConflictingHostName <Boolean?>]: Changes a logic when restoring an app with custom domains. <code>true</code> to remove custom domains automatically. If <code>false</code>, custom domains are added to the app's object when it is being restored, but that might fail due to conflicts during the operation. [IgnoreDatabase <Boolean?>]: Ignore the databases and only restore the site content [OperationType <BackupRestoreOperationType?>]: Operation type. [SiteName <String>]: Name of an app. .Link https://docs.microsoft.com/en-us/powershell/module/az.appservice/restore-azwebappfrombackupblob #> function Restore-AzWebAppFromBackupBlob { [OutputType([System.Boolean])] [CmdletBinding(DefaultParameterSetName='RestoreExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Profile('latest-2019-04-30')] param( [Parameter(ParameterSetName='Restore', Mandatory)] [Parameter(ParameterSetName='RestoreExpanded', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [System.String] # Name of the app. ${Name}, [Parameter(ParameterSetName='Restore', Mandatory)] [Parameter(ParameterSetName='RestoreExpanded', Mandatory)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [System.String] # Name of the resource group to which the resource belongs. ${ResourceGroupName}, [Parameter(ParameterSetName='Restore')] [Parameter(ParameterSetName='RestoreExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')] [System.String] # Your Azure subscription ID. # This is a GUID-formatted string (e.g. # 00000000-0000-0000-0000-000000000000). ${SubscriptionId}, [Parameter(ParameterSetName='RestoreViaIdentity', Mandatory, ValueFromPipeline)] [Parameter(ParameterSetName='RestoreViaIdentityExpanded', Mandatory, ValueFromPipeline)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Path')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.IAppServiceIdentity] # Identity Parameter # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. ${InputObject}, [Parameter(ParameterSetName='Restore', Mandatory, ValueFromPipeline)] [Parameter(ParameterSetName='RestoreViaIdentity', Mandatory, ValueFromPipeline)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.Api20180201.IRestoreRequest] # Description of a restore request. # To construct, see NOTES section for REQUEST properties and create a hash table. ${Request}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # <code>true</code> if SiteConfig.ConnectionStrings should be set in new app; otherwise, <code>false</code>. ${AdjustConnectionString}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Specify app service plan that will own restored site. ${AppServicePlan}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Name of a blob which contains the backup. ${BlobName}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Models.Api20160801.IDatabaseBackupSetting[]] # Collection of databases which should be restored. # This list has to match the list of databases included in the backup. # To construct, see NOTES section for DATABASE properties and create a hash table. ${Database}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # App Service Environment name, if needed (only when restoring an app to an App Service Environment). ${HostingEnvironment}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # Changes a logic when restoring an app with custom domains. # <code>true</code> to remove custom domains automatically. # If <code>false</code>, custom domains are added to the app's object when it is being restored, but that might fail due to conflicts during the operation. ${IgnoreConflictingHostName}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # Ignore the databases and only restore the site content ${IgnoreDatabase}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Kind of resource. ${Kind}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.AppService.Support.BackupRestoreOperationType])] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Support.BackupRestoreOperationType] # Operation type. ${OperationType}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.Management.Automation.SwitchParameter] # <code>true</code> if the restore operation can overwrite target app; otherwise, <code>false</code>. # <code>true</code> is needed if trying to restore over an existing app. ${Overwrite}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # Name of an app. ${SiteName}, [Parameter(ParameterSetName='RestoreExpanded')] [Parameter(ParameterSetName='RestoreViaIdentityExpanded')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Body')] [System.String] # SAS URL to the container. ${StorageAccountUrl}, [Parameter()] [Alias('AzureRMContext', 'AzureCredential')] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Azure')] [System.Management.Automation.PSObject] # The credentials, account, tenant, and subscription used for communication with Azure. ${DefaultProfile}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Run the command as a job ${AsJob}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Wait for .NET debugger to attach ${Break}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be appended to the front of the pipeline ${HttpPipelineAppend}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be prepended to the front of the pipeline ${HttpPipelinePrepend}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Run the command asynchronously ${NoWait}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Returns true when the command succeeds ${PassThru}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Uri] # The URI for the proxy server to use ${Proxy}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.PSCredential] # Credentials for a proxy server to use for the remote call ${ProxyCredential}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.AppService.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) begin { try { $outBuffer = $null if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) { $PSBoundParameters['OutBuffer'] = 1 } $parameterSet = $PSCmdlet.ParameterSetName $mapping = @{ Restore = 'Az.AppService.private\Restore-AzWebAppFromBackupBlob_Restore'; RestoreExpanded = 'Az.AppService.private\Restore-AzWebAppFromBackupBlob_RestoreExpanded'; RestoreViaIdentity = 'Az.AppService.private\Restore-AzWebAppFromBackupBlob_RestoreViaIdentity'; RestoreViaIdentityExpanded = 'Az.AppService.private\Restore-AzWebAppFromBackupBlob_RestoreViaIdentityExpanded'; } if (('Restore', 'RestoreExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) { $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id } $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet) $scriptCmd = {& $wrappedCmd @PSBoundParameters} $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin) $steppablePipeline.Begin($PSCmdlet) } catch { throw } } process { try { $steppablePipeline.Process($_) } catch { throw } } end { try { $steppablePipeline.End() } catch { throw } } } # SIG # Begin signature block # MIIjhAYJKoZIhvcNAQcCoIIjdTCCI3ECAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBY9f9jrbTLpcN6 # vBXYzyU3C7kBJK7UJhB7gegwEW5n4qCCDYEwggX/MIID56ADAgECAhMzAAABUZ6N # j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p # bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB # AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1 # oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os # +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU # 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg # B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ # IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w # UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 # ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu # ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu # bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w # Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx # MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A # rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS # se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf # NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL # crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs # 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF # sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD # 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK # YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j # 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu # Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY # HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS # AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 # ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla # MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT # H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB # AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG # OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S # 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz # y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 # 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u # M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 # X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl # XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP # 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB # l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF # RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM # CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ # BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud # DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO # 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 # LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y # Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y # Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw # cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA # XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY # 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj # 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd # d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ # Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf # wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ # aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j # NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B # xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 # eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 # r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I # RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWTCCFVUCAQEwgZUwfjELMAkG # A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx # HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z # b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN # BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgH8UZZZBB # Kw8ejJYoPJqEQTQZdcQQqddCU2n5FPqGIFYwQgYKKwYBBAGCNwIBDDE0MDKgFIAS # AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN # BgkqhkiG9w0BAQEFAASCAQB46YB7QyeV6qU66oPxDqkOwnLm+SqsjihZ6UM6Y67h # LjmiGIBgwAFr7rAMZSY6nH+hHp8qhl3jdiu21zxVj/XJMuGCZqsUvHLnkWOEjPrg # 4lEUqCX61HvWn2KhOlrMdyAarO7sLB+vp6rbY1/bvrowiUJFAUi0DR3eFXP7ErkB # 2GL4DvjlK0SYEHysbBSjQJ6PwTJaxrWqaqLQOKKdU6i48VF857xdZWro0ecZIbwp # AGh8AJsE6ccexSFYRQ6nUbt+k3Agslj+IAIEbBtz13an8ApR91+2uSl0jTDThl3g # VryjmLM31DFe2a8T10AH2w+5VhGDDAz8QFc7n0CHaNfPoYIS4zCCEt8GCisGAQQB # gjcDAwExghLPMIISywYJKoZIhvcNAQcCoIISvDCCErgCAQMxDzANBglghkgBZQME # AgEFADCCAU8GCyqGSIb3DQEJEAEEoIIBPgSCATowggE2AgEBBgorBgEEAYRZCgMB # MDEwDQYJYIZIAWUDBAIBBQAEIGmDzmbP9DWcfY4bTLL/hlyZyrwDMM6fFi7Vw/eX # lauuAgZdjfvd2m4YETIwMTkxMDA4MTI0OTQwLjVaMASAAgH0oIHQpIHNMIHKMQsw # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNy # b3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVT # TjoxQThGLUUzQzMtRDY5RDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg # U2VydmljZaCCDjwwggTxMIID2aADAgECAhMzAAAA8nYN/Aox6uAiAAAAAADyMA0G # CSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u # MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp # b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTE4 # MTAyNDIxMTQyNFoXDTIwMDExMDIxMTQyNFowgcoxCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9w # ZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjFBOEYtRTNDMy1ENjlE # MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkq # hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtiWv6a/D9ss3wGh0k99dbVurZMzmD+1U # UhhAzPw2FYrj8tIXQDNwAo2bcJsjm07DtmYaUMwL1TfYGHV/NPEfxxgs8uFYhXzS # B10XMb+gSd6FqKeGrXPXLI9rJ79DD6wL7+t8R6UpLsdSnjWba1yeTzfUGuqmPKKZ # /Dry8Dk9PEpuQxmUQSgz7erAkdkpmGG4UVxZfkZ7Xjb4lzzPa+TmjsP4QZ2/mHMp # 2ItXJN0CMUAxjchpVjxswpNPEkOzU8jfDXNOToZLQE32diNZVaR0nfCvXmt41+1O # z0GJu2B8MsDXbyo+lcURPykOSMzHsv5gUn0IJj+n85RHiKJLs51bOwIDAQABo4IB # GzCCARcwHQYDVR0OBBYEFLj+3DxadJeD8mvLBe5h7FuSsXLJMB8GA1UdIwQYMBaA # FNVjOlyKMZDzQ3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9j # cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1RpbVN0YVBDQV8y # MDEwLTA3LTAxLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6 # Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3RhUENBXzIwMTAt # MDctMDEuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJ # KoZIhvcNAQELBQADggEBAJr2jS/a2azSsfCAXS3o9dxHwuRVHmXyD4207Zi/Y6bk # ikM/Yi4jJQRRazdZf89KkNLcG+zpwJYkkpA7l/983KWdrl2/RSM14XQvrooKWIlc # bDE0cJtxYioBKbrUaB4T8NvJfDf4V4rk5Sp7FxhE0vy7dlkgklXXi+xRlQFFono2 # sw1gJEk80zclE0j19LFkVoa70pb8aC7JgG+pSq9hBNe8cxdImyp0yIi6lMU/aAN4 # GCjBBj65wkTCK4iamC1llfmiDL5PPoJD7R6H7/eVUw4pC/K0XxOOLRZyamUWfSVz # nG9QCSARBO0f4E8Uo2rIQkok9kvnrKZNSndfrwWV7AswggZxMIIEWaADAgECAgph # CYEqAAAAAAACMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UE # CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z # b2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp # Y2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0xMDA3MDEyMTM2NTVaFw0yNTA3MDEyMTQ2 # NTVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH # EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV # BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0B # AQEFAAOCAQ8AMIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mUa3RUENWlCgCChfvt # fGhLLF/Fw+Vhwna3PmYrW/AVUycEMR9BGxqVHc4JE458YTBZsTBED/FgiIRUQwzX # Tbg4CLNC3ZOs1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4YyhB50YWeRX4FUsc+T # TJLBxKZd0WETbijGGvmGgLvfYfxGwScdJGcSchohiq9LZIlQYrFd/XcfPfBXday9 # ikJNQFHRD5wGPmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDaTgaRtogINeh4HLDp # mc085y9Euqf03GS9pAHBIAmTeM38vMDJRF1eFpwBBU8iTQIDAQABo4IB5jCCAeIw # EAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDzQ3t8RhvFM2hahW1V # MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMB # Af8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1Ud # HwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3By # b2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO # MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2Vy # dHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGgBgNVHSABAf8EgZUwgZIw # gY8GCSsGAQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3dy5taWNyb3Nv # ZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggrBgEFBQcCAjA0HjIg # HQBMAGUAZwBhAGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBtAGUAbgB0AC4g # HTANBgkqhkiG9w0BAQsFAAOCAgEAB+aIUQ3ixuCYP4FxAz2do6Ehb7Prpsz1Mb7P # BeKp/vpXbRkws8LFZslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GCRBL7uVOMzPRgEop2 # zEBAQZvcXBf/XPleFzWYJFZLdO9CEMivv3/Gf/I3fVo/HPKZeUqRUgCvOA8X9S95 # gWXZqbVr5MfO9sp6AG9LMEQkIjzP7QOllo9ZKby2/QThcJ8ySif9Va8v/rbljjO7 # Yl+a21dA6fHOmWaQjP9qYn/dxUoLkSbiOewZSnFjnXshbcOco6I8+n99lmqQeKZt # 0uGc+R38ONiU9MalCpaGpL2eGq4EQoO4tYCbIjggtSXlZOz39L9+Y1klD3ouOVd2 # onGqBooPiRa6YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSYIghh2rBQHm+98eEA # 3+cxB6STOvdlR3jo+KhIq/fecn5ha293qYHLpwmsObvsxsvYgrRyzR30uIUBHoD7 # G4kqVDmyW9rIDVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98isTtoouLGp25ayp0Ki # yc8ZQU3ghvkqmqMRZjDTu3QyS99je/WZii8bxyGvWbWu3EQ8l1Bx16HSxVXjad5X # wdHeMMD9zOZN+w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzVs341Hgi62jbb01+P # 3nSISRKhggLOMIICNwIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMCVVMxEzARBgNV # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv # c29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3Bl # cmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MUE4Ri1FM0MzLUQ2OUQx # JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUr # DgMCGgMVADbJYsMNKXyarQj2980wvhGNuu6joIGDMIGApH4wfDELMAkGA1UEBhMC # VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV # BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp # bWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDhRvqtMCIYDzIwMTkx # MDA4MjAwODEzWhgPMjAxOTEwMDkyMDA4MTNaMHcwPQYKKwYBBAGEWQoEATEvMC0w # CgIFAOFG+q0CAQAwCgIBAAICJckCAf8wBwIBAAICEYIwCgIFAOFITC0CAQAwNgYK # KwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgCAQAC # AwGGoDANBgkqhkiG9w0BAQUFAAOBgQCKoFpP8pzPyhZw7d3b3YrTAMYj2zHLjdP4 # q4JH98ereel3rcs0zDJbKN1OkWl3OS76ORWQCzr/YqNExL4MPyo8JPbc7r0GUnv0 # JIsKK2uDeWu4m9S/bb4t85AhzcOTq/qE11mMLSX2qKuJ2aIDvQ3qAuIvSusgqxqJ # Jatj3yyxAjGCAw0wggMJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX # YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg # Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy # MDEwAhMzAAAA8nYN/Aox6uAiAAAAAADyMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkq # hkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIKM79whS/TKe # keaC8psDAys/VpuzALxQI/fOElOdluk8MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB # 5DCBvQQgya/3zXx8EDzqvPG7Y/Jfj/3DCuNpFE8bSTBMTwtXUkUwgZgwgYCkfjB8 # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N # aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAPJ2DfwKMergIgAAAAAA # 8jAiBCAaAxhzQS/lY+8K73SI1N7LefPuVmJjaP+MhF3yDpSLyDANBgkqhkiG9w0B # AQsFAASCAQCR9kG/TkrONugBSvuT8NO8eYgVffOuU+ju5K3ezOnCZuFzzaG7w0mq # 66CLYZdSbhYrdsVrktIAah6mJWOHQh/PlP5FNyZEngJBb2r0m8qC5X7J26WWkRbi # jPC0eFYENxLI129iehb6HNm8+HVk9pAq3a0QO8X/kM7sSZZua/gI1V3vdaIVS4LJ # H4REi7iHYjBotp+ATpDLlT888Ett/DLyfKxNk+6d5LSTEi+8J/Q042eKwCW7WEZC # qvMk6B0HfXU+cUQdRsV0QIh6NrqSVJGO0dZ6W1c0JDxGGlm4TI4wA/JaizV+Xt3l # s7L1bOHsQspwbeNZFLcnjU7R5Urbm6/c # SIG # End signature block |