AzureRM.Sql.psm1

#
# Script module for module 'AzureRM.Sql' that is executed when 'AzureRM.Sql' is imported in a PowerShell session.
#
# Generated by: Microsoft Corporation
#
# Generated on: 10/19/2018 23:35:54
#

$PSDefaultParameterValues.Clear()
Set-StrictMode -Version Latest

$preloadPath = (Join-Path $PSScriptRoot -ChildPath "PreloadAssemblies")
if($PSEdition -eq 'Desktop' -and (Test-Path $preloadPath))
{
    try
    {
        Get-ChildItem -Path $preloadPath -Filter "*.dll" | ForEach-Object {
            Add-Type -Path $_.FullName -ErrorAction Ignore | Out-Null
        }
    }
    catch {}
}

$netCorePath = (Join-Path $PSScriptRoot -ChildPath "NetCoreAssemblies")
if($PSEdition -eq 'Core' -and (Test-Path $netCorePath))
{
    try
    {
        $loadedAssemblies = ([System.AppDomain]::CurrentDomain.GetAssemblies() | %{New-Object -TypeName System.Reflection.AssemblyName -ArgumentList $_.FullName} )
        Get-ChildItem -Path $netCorePath -Filter "*.dll" | ForEach-Object {
            $assemblyName = ([System.Reflection.AssemblyName]::GetAssemblyName($_.FullName))
            $matches = ($loadedAssemblies | Where-Object {$_.Name -eq $assemblyName.Name})
            if (-not $matches)
            {
                Add-Type -Path $_.FullName -ErrorAction Ignore | Out-Null
            }
        }
    }
    catch {}
}


$module = Get-Module AzureRM.Profile 
if ($module -ne $null -and $module.Version.ToString().CompareTo("5.6.0") -lt 0) 
{ 
    Write-Error "This module requires AzureRM.Profile version 5.6.0. An earlier version of AzureRM.Profile is imported in the current PowerShell session. Please open a new session before importing this module. This error could indicate that multiple incompatible versions of the Azure PowerShell cmdlets are installed on your system. Please see https://aka.ms/azps-version-error for troubleshooting information." -ErrorAction Stop 
} 
elseif ($module -eq $null) 
{ 
    Import-Module AzureRM.Profile -MinimumVersion 5.6.0 -Scope Global 
}
Import-Module (Join-Path -Path $PSScriptRoot -ChildPath Microsoft.Azure.Commands.Sql.dll)


if (Test-Path -Path "$PSScriptRoot\StartupScripts")
{
    Get-ChildItem "$PSScriptRoot\StartupScripts" | ForEach-Object {
        . $_.FullName
    }
}

$FilteredCommands = @('Get-AzureRmSqlServerVirtualNetworkRule:ResourceGroupName','New-AzureRmSqlServerVirtualNetworkRule:ResourceGroupName','Remove-AzureRmSqlServerVirtualNetworkRule:ResourceGroupName','Set-AzureRmSqlServerVirtualNetworkRule:ResourceGroupName','Add-AzureRmSqlServerKeyVaultKey:ResourceGroupName','Get-AzureRmSqlServerKeyVaultKey:ResourceGroupName','Remove-AzureRmSqlServerKeyVaultKey:ResourceGroupName','Get-AzureRmSqlDatabaseUpgradeHint:ResourceGroupName','Get-AzureRmSqlServerUpgradeHint:ResourceGroupName','Get-AzureRmSqlServerServiceObjective:ResourceGroupName','Get-AzureRmSqlServerUpgrade:ResourceGroupName','Start-AzureRmSqlServerUpgrade:ResourceGroupName','Stop-AzureRmSqlServerUpgrade:ResourceGroupName','Get-AzureRmSqlServerActiveDirectoryAdministrator:ResourceGroupName','Remove-AzureRmSqlServerActiveDirectoryAdministrator:ResourceGroupName','Set-AzureRmSqlServerActiveDirectoryAdministrator:ResourceGroupName','New-AzureRmSqlServer:ResourceGroupName','Remove-AzureRmSqlServer:ResourceGroupName','Set-AzureRmSqlServer:ResourceGroupName','Get-AzureRmSqlServerCommunicationLink:ResourceGroupName','New-AzureRmSqlServerCommunicationLink:ResourceGroupName','Remove-AzureRmSqlServerCommunicationLink:ResourceGroupName','Get-AzureRmSqlDatabaseSecureConnectionPolicy:ResourceGroupName','Get-AzureRmSqlDatabaseReplicationLink:ResourceGroupName','New-AzureRmSqlDatabaseCopy:ResourceGroupName','New-AzureRmSqlDatabaseSecondary:ResourceGroupName','Remove-AzureRmSqlDatabaseSecondary:ResourceGroupName','Set-AzureRmSqlDatabaseSecondary:ResourceGroupName','Get-AzureRmSqlElasticPoolRecommendation:ResourceGroupName','Get-AzureRmSqlDatabaseIndexRecommendations:ResourceGroupName','Start-AzureRmSqlDatabaseExecuteIndexRecommendation:ResourceGroupName','Stop-AzureRmSqlDatabaseExecuteIndexRecommendation:ResourceGroupName','Get-AzureRmSqlServerFirewallRule:ResourceGroupName','New-AzureRmSqlServerFirewallRule:ResourceGroupName','Remove-AzureRmSqlServerFirewallRule:ResourceGroupName','Set-AzureRmSqlServerFirewallRule:ResourceGroupName','Get-AzureRmSqlServerDisasterRecoveryConfiguration:ResourceGroupName','Get-AzureRmSqlServerDisasterRecoveryConfigurationActivity:ResourceGroupName','New-AzureRmSqlServerDisasterRecoveryConfiguration:ResourceGroupName','Remove-AzureRmSqlServerDisasterRecoveryConfiguration:ResourceGroupName','Set-AzureRmSqlServerDisasterRecoveryConfiguration:ResourceGroupName','Resume-AzureRmSqlDatabase:ResourceGroupName','Suspend-AzureRmSqlDatabase:ResourceGroupName','Get-AzureRmSqlDatabaseDataMaskingPolicy:ResourceGroupName','Get-AzureRmSqlDatabaseDataMaskingRule:ResourceGroupName','New-AzureRmSqlDatabaseDataMaskingRule:ResourceGroupName','Remove-AzureRmSqlDatabaseDataMaskingRule:ResourceGroupName','Set-AzureRmSqlDatabaseDataMaskingPolicy:ResourceGroupName','Set-AzureRmSqlDatabaseDataMaskingRule:ResourceGroupName','Get-AzureRmSqlDatabaseVulnerabilityAssessmentSettings:ResourceGroupName','Clear-AzureRmSqlDatabaseVulnerabilityAssessmentSettings:ResourceGroupName','Update-AzureRmSqlDatabaseVulnerabilityAssessmentSettings:ResourceGroupName','Start-AzureRmSqlDatabaseVulnerabilityAssessmentScan:ResourceGroupName','Convert-AzureRmSqlDatabaseVulnerabilityAssessmentScan:ResourceGroupName','Get-AzureRmSqlDatabaseVulnerabilityAssessmentScanRecord:ResourceGroupName','Get-AzureRmSqlDatabaseVulnerabilityAssessmentRuleBaseline:ResourceGroupName','Clear-AzureRmSqlDatabaseVulnerabilityAssessmentRuleBaseline:ResourceGroupName','Set-AzureRmSqlDatabaseVulnerabilityAssessmentRuleBaseline:ResourceGroupName','Get-AzureRmSqlDatabaseTransparentDataEncryption:ResourceGroupName','Get-AzureRmSqlDatabaseTransparentDataEncryptionActivity:ResourceGroupName','Set-AzureRmSqlDatabaseTransparentDataEncryption:ResourceGroupName','Get-AzureRmSqlServerTransparentDataEncryptionProtector:ResourceGroupName','Set-AzureRmSqlServerTransparentDataEncryptionProtector:ResourceGroupName','Get-AzureRmSqlServerThreatDetectionPolicy:ResourceGroupName','Remove-AzureRmSqlServerThreatDetectionPolicy:ResourceGroupName','Set-AzureRmSqlServerThreatDetectionPolicy:ResourceGroupName','Get-AzureRmSqlDatabaseThreatDetectionPolicy:ResourceGroupName','Set-AzureRmSqlDatabaseThreatDetectionPolicy:ResourceGroupName','Remove-AzureRmSqlDatabaseThreatDetectionPolicy:ResourceGroupName','Get-AzureRmSqlServerDnsAlias:ResourceGroupName','Set-AzureRmSqlServerDnsAlias:ResourceGroupName','New-AzureRmSqlServerDnsAlias:ResourceGroupName','New-AzureRmSqlDatabaseExport:ResourceGroupName','New-AzureRmSqlDatabaseImport:ResourceGroupName','Get-AzureRmSqlSyncAgent:ResourceGroupName','Get-AzureRmSqlSyncAgentLinkedDatabase:ResourceGroupName','Get-AzureRmSqlSyncGroup:ResourceGroupName','Get-AzureRmSqlSyncGroupLog:ResourceGroupName','Get-AzureRmSqlSyncMember:ResourceGroupName','Get-AzureRmSqlSyncSchema:ResourceGroupName','New-AzureRmSqlSyncAgent:ResourceGroupName','New-AzureRmSqlSyncAgentKey:ResourceGroupName','New-AzureRmSqlSyncGroup:ResourceGroupName','New-AzureRmSqlSyncMember:ResourceGroupName','Remove-AzureRmSqlSyncAgent:ResourceGroupName','Remove-AzureRmSqlSyncGroup:ResourceGroupName','Remove-AzureRmSqlSyncMember:ResourceGroupName','Update-AzureRmSqlSyncGroup:ResourceGroupName','Update-AzureRmSqlSyncMember:ResourceGroupName','Start-AzureRmSqlSyncGroupSync:ResourceGroupName','Update-AzureRmSqlSyncSchema:ResourceGroupName','Stop-AzureRmSqlSyncGroupSync:ResourceGroupName','Get-AzureRmSqlDatabaseRecommendedAction:ResourceGroupName','Get-AzureRmSqlElasticPoolRecommendedAction:ResourceGroupName','Get-AzureRmSqlServerRecommendedAction:ResourceGroupName','Set-AzureRmSqlDatabaseRecommendedActionState:ResourceGroupName','Set-AzureRmSqlElasticPoolRecommendedActionState:ResourceGroupName','Set-AzureRmSqlServerRecommendedActionState:ResourceGroupName','New-AzureRmSqlManagedInstance:ResourceGroupName','Get-AzureRmSqlDatabaseInstanceFailoverGroup:ResourceGroupName','New-AzureRmSqlDatabaseInstanceFailoverGroup:ResourceGroupName','Add-AzureRmSqlDatabaseToFailoverGroup:ResourceGroupName','Get-AzureRmSqlDatabaseFailoverGroup:ResourceGroupName','New-AzureRmSqlDatabaseFailoverGroup:ResourceGroupName','Remove-AzureRmSqlDatabaseFromFailoverGroup:ResourceGroupName','Remove-AzureRmSqlDatabaseFailoverGroup:ResourceGroupName','Set-AzureRmSqlDatabaseFailoverGroup:ResourceGroupName','Switch-AzureRmSqlDatabaseFailoverGroup:ResourceGroupName','Stop-AzureRmSqlElasticPoolActivity:ResourceGroupName','Get-AzureRmSqlElasticPool:ResourceGroupName','Get-AzureRmSqlElasticPoolActivity:ResourceGroupName','Get-AzureRmSqlElasticPoolDatabase:ResourceGroupName','New-AzureRmSqlElasticPool:ResourceGroupName','Remove-AzureRmSqlElasticPool:ResourceGroupName','Set-AzureRmSqlElasticPool:ResourceGroupName','Stop-AzureRmSqlDatabaseActivity:ResourceGroupName','Get-AzureRmSqlDatabase:ResourceGroupName','Get-AzureRmSqlDatabaseActivity:ResourceGroupName','Get-AzureRmSqlDatabaseExpanded:ResourceGroupName','New-AzureRmSqlDatabase:ResourceGroupName','Remove-AzureRmSqlDatabase:ResourceGroupName','Set-AzureRmSqlDatabase:ResourceGroupName','Get-AzureRmSqlDatabaseGeoBackupPolicy:ResourceGroupName','Set-AzureRmSqlDatabaseGeoBackupPolicy:ResourceGroupName','Get-AzureRmSqlDeletedDatabaseBackup:ResourceGroupName','Get-AzureRmSqlDatabaseGeoBackup:ResourceGroupName','Get-AzureRmSqlDatabaseBackupLongTermRetentionPolicy:ResourceGroupName','Get-AzureRmSqlServerBackupLongTermRetentionVault:ResourceGroupName','Restore-AzureRmSqlDatabase:ResourceGroupName','Set-AzureRmSqlDatabaseBackupLongTermRetentionPolicy:ResourceGroupName','Set-AzureRmSqlServerBackupLongTermRetentionVault:ResourceGroupName','Get-AzureRmSqlDatabaseRestorePoints:ResourceGroupName','New-AzureRmSqlDatabaseRestorePoint:ResourceGroupName','Remove-AzureRmSqlDatabaseRestorePoint:ResourceGroupName','Remove-AzureRmSqlDatabaseLongTermRetentionBackup:ResourceGroupName','Get-AzureRmSqlDatabaseLongTermRetentionBackup:ResourceGroupName','Get-AzureRmSqlDatabaseAuditing:ResourceGroupName','Get-AzureRmSqlServerAuditing:ResourceGroupName','Set-AzureRmSqlDatabaseAuditing:ResourceGroupName','Set-AzureRmSqlServerAuditing:ResourceGroupName','Get-AzureRmSqlDatabaseAuditingPolicy:ResourceGroupName','Get-AzureRmSqlServerAuditingPolicy:ResourceGroupName','Remove-AzureRmSqlDatabaseAuditing:ResourceGroupName','Remove-AzureRmSqlServerAuditing:ResourceGroupName','Set-AzureRmSqlDatabaseAuditingPolicy:ResourceGroupName','Set-AzureRmSqlServerAuditingPolicy:ResourceGroupName','Use-AzureRmSqlServerAuditingPolicy:ResourceGroupName','Get-AzureRmSqlElasticPoolAdvisor:ResourceGroupName','Get-AzureRmSqlServerAdvisor:ResourceGroupName','Set-AzureRmSqlElasticPoolAdvisorAutoExecuteStatus:ResourceGroupName','Set-AzureRmSqlServerAdvisorAutoExecuteStatus:ResourceGroupName','Get-AzureRmSqlDatabaseAdvisor:ResourceGroupName','Set-AzureRmSqlDatabaseAdvisorAutoExecuteStatus:ResourceGroupName','Disable-AzureRmSqlServerAdvancedThreatProtection:ResourceGroupName','Enable-AzureRmSqlServerAdvancedThreatProtection:ResourceGroupName','Get-AzureRmSqlServerAdvancedThreatProtectionPolicy:ResourceGroupName')

if ($Env:ACC_CLOUD -eq $null)
{
    $FilteredCommands | ForEach-Object {

        $existingDefault = $false
        foreach ($key in $global:PSDefaultParameterValues.Keys)
        {
            if ($_ -like "$key")
                {
                $existingDefault = $true
                }
        }

        if (!$existingDefault)
        {
            $global:PSDefaultParameterValues.Add($_,
                {
                    if ((Get-Command Get-AzContext -ErrorAction Ignore) -eq $null)
                    {
                        $context = Get-AzureRmContext
                    }
                    else
                    {
                        $context = Get-AzContext
                    }
                    if (($context -ne $null) -and $context.ExtendedProperties.ContainsKey("Default Resource Group")) {
                        $context.ExtendedProperties["Default Resource Group"]
                    }
                })
        }
    }
}

# SIG # Begin signature block
# MIIjpAYJKoZIhvcNAQcCoIIjlTCCI5ECAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDYy0O8hvssf7lT
# W4g73o2ZYynZo4y1G7PkASwlWnaz06CCDYEwggX/MIID56ADAgECAhMzAAABA14l
# HJkfox64AAAAAAEDMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMTgwNzEyMjAwODQ4WhcNMTkwNzI2MjAwODQ4WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDRlHY25oarNv5p+UZ8i4hQy5Bwf7BVqSQdfjnnBZ8PrHuXss5zCvvUmyRcFrU5
# 3Rt+M2wR/Dsm85iqXVNrqsPsE7jS789Xf8xly69NLjKxVitONAeJ/mkhvT5E+94S
# nYW/fHaGfXKxdpth5opkTEbOttU6jHeTd2chnLZaBl5HhvU80QnKDT3NsumhUHjR
# hIjiATwi/K+WCMxdmcDt66VamJL1yEBOanOv3uN0etNfRpe84mcod5mswQ4xFo8A
# DwH+S15UD8rEZT8K46NG2/YsAzoZvmgFFpzmfzS/p4eNZTkmyWPU78XdvSX+/Sj0
# NIZ5rCrVXzCRO+QUauuxygQjAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUR77Ay+GmP/1l1jjyA123r3f3QP8w
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDM3OTY1MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAn/XJ
# Uw0/DSbsokTYDdGfY5YGSz8eXMUzo6TDbK8fwAG662XsnjMQD6esW9S9kGEX5zHn
# wya0rPUn00iThoj+EjWRZCLRay07qCwVlCnSN5bmNf8MzsgGFhaeJLHiOfluDnjY
# DBu2KWAndjQkm925l3XLATutghIWIoCJFYS7mFAgsBcmhkmvzn1FFUM0ls+BXBgs
# 1JPyZ6vic8g9o838Mh5gHOmwGzD7LLsHLpaEk0UoVFzNlv2g24HYtjDKQ7HzSMCy
# RhxdXnYqWJ/U7vL0+khMtWGLsIxB6aq4nZD0/2pCD7k+6Q7slPyNgLt44yOneFuy
# bR/5WcF9ttE5yXnggxxgCto9sNHtNr9FB+kbNm7lPTsFA6fUpyUSj+Z2oxOzRVpD
# MYLa2ISuubAfdfX2HX1RETcn6LU1hHH3V6qu+olxyZjSnlpkdr6Mw30VapHxFPTy
# 2TUxuNty+rR1yIibar+YRcdmstf/zpKQdeTr5obSyBvbJ8BblW9Jb1hdaSreU0v4
# 6Mp79mwV+QMZDxGFqk+av6pX3WDG9XEg9FGomsrp0es0Rz11+iLsVT9qGTlrEOla
# P470I3gwsvKmOMs1jaqYWSRAuDpnpAdfoP7YO0kT+wzh7Qttg1DO8H8+4NkI6Iwh
# SkHC3uuOW+4Dwx1ubuZUNWZncnwa6lL2IsRyP64wggd6MIIFYqADAgECAgphDpDS
# 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/BvW1taslScxMNelDNMYIVeTCCFXUCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAQNeJRyZH6MeuAAAAAABAzAN
# BglghkgBZQMEAgEFAKCBzDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgVMBs/E5+
# Oyjmy2Xj9R4m1QyG+L5hr8iC7XTWpcikVRQwYAYKKwYBBAGCNwIBDDFSMFCgNoA0
# AE0AaQBjAHIAbwBzAG8AZgB0ACAAQQB6AHUAcgBlACAAUABvAHcAZQByAFMAaABl
# AGwAbKEWgBRodHRwOi8vQ29kZVNpZ25JbmZvIDANBgkqhkiG9w0BAQEFAASCAQBE
# p0IPiGT6Vl9N8SuEz/PbaXS+Sz+ew77AqgBp+CpEZFZNLg/DGecBn9KSnnEE9PwK
# 9fffSiEBNVnSQGwjkEMPsN83Jn2AIttItaU5qnbrxRKKzbJOkOA64hwwH5ccS36o
# MKK4v2XLCl39N3h48DrzQ4wNEQqzwHigLg0Yhfi3OWgdVwYxWXpivlpvRGkt1JxL
# AD2DIVIB4/AfAS7XZbcUXmA5ZbqN9aEf6ebyjy5Tj/wsTudQiizXK3KM2Y3lYghB
# iAiy3FAPpqzUiP5YITeeBjiPUKBYsDRYB4JkZctlyHdGR3pD6ZlJgcNDtZwimxfm
# oTgWk/Tb3ktlA1TXANq8oYIS5TCCEuEGCisGAQQBgjcDAwExghLRMIISzQYJKoZI
# hvcNAQcCoIISvjCCEroCAQMxDzANBglghkgBZQMEAgEFADCCAVEGCyqGSIb3DQEJ
# EAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMBMDEwDQYJYIZIAWUDBAIBBQAE
# ICc9wquIv/EgTG3W/Itwqva6L5NHf85Q0Jh1IbgnTkTMAgZbtMJ2CyoYEzIwMTgx
# MDE5MjMzODM3Ljc0N1owBIACAfSggdCkgc0wgcoxCzAJBgNVBAYTAlVTMQswCQYD
# VQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
# cnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25z
# IExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjA4NDItNEJFNi1DMjlB
# MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBzZXJ2aWNloIIOPDCCBPEw
# ggPZoAMCAQICEzMAAADYGuTMP3oR+uEAAAAAANgwDQYJKoZIhvcNAQELBQAwfDEL
# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj
# cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMTgwODIzMjAyNjUxWhcNMTkx
# MTIzMjAyNjUxWjCByjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNV
# BAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UE
# CxMdVGhhbGVzIFRTUyBFU046MDg0Mi00QkU2LUMyOUExJTAjBgNVBAMTHE1pY3Jv
# c29mdCBUaW1lLVN0YW1wIHNlcnZpY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
# ggEKAoIBAQCUHjDkh1r1sGi48zCSTVJSLXVD5jFUXiSAruKahoBAeXEFg3XtdL97
# JewT2vEmLeGEPSdc5norl6+e6ZohVj/88wKR+w0l/AXEbbg2gM8g7XZ7UoGBBYj3
# fTJbNLk9BoAI4Q0+CyCLsJEUNxvXBJkX0KheXr3IptpDZoagBlk/T3UaFHmTOfG6
# Yce5zRJ5LHQyvE0O9RnJDJMN5DoR5/zMZX7A2FF0DHXf4C/AWQQPYHQOV1fmNufx
# BlSwD4GFbOu1R8dL+SzNUze77HpTqg+6eLTUSsHNeVr4YKzrN81vmCx6aIu5iuWw
# cUWxwx7TgbqGr2ddg/V49W8iu9UsMvVDAgMBAAGjggEbMIIBFzAdBgNVHQ4EFgQU
# n7ZWSx7uFNXfinZ6moMa55DjZuQwHwYDVR0jBBgwFoAU1WM6XIoxkPNDe3xGG8Uz
# aFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29t
# L3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENBXzIwMTAtMDctMDEuY3JsMFoG
# CCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAxMC0wNy0wMS5jcnQwDAYDVR0T
# AQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAQEA
# DlJwdt7IPyC1NLe7AZze8No7Mnd84D5SMHfxiRpLeOYXz+bgZ+I/b8Bn6bCg2XoS
# 7UKbf0aeouUqu/TckDsOC6+fko0uW1LpOROUpCvc9WTGv0VXj/oJAuXZRJTR3qeZ
# HOgiYZ0qCyJShOyIImJKb43Ygz4t0k/JA0q5E+z2W/D2nKDVV+zTnK8SnROQ55WK
# eoJq9pBcJjd1nf7HvYd1MlyFhF3OwdCPFrM/FtscLO6GKVBivXpe03K9I2KsogJh
# 27sCKXd07TN1hqUOVM54sVJbZofPnJEwig+NOhYSRijhS4T/fRa1VcLQ2rwhNMyQ
# c9U++Q+W3+I2K8aDm0lOsTCCBnEwggRZoAMCAQICCmEJgSoAAAAAAAIwDQYJKoZI
# hvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAy
# MDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIxNDY1NVowfDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
# bWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF++18aEssX8XD5WHCdrc+Zitb
# 8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zWczBXJoKj
# RQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNuKMYa+YaA
# u99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1rL2KQk1AUdEPnAY+Z3/1ZsAD
# lkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16HgcsOmZzTznL0S6p/TcZL2kAcEg
# CZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3FQEEAwIB
# ADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGCNxQCBAwe
# CgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
# BBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0
# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2Vy
# QXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRf
# MjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGCNy4DMIGB
# MD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJL2RvY3Mv
# Q1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAFAA
# bwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUA
# A4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUxvs8F4qn++ldtGTCzwsVmyWrf
# 9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GASinbMQEBBm9xcF/9c+V4XNZgk
# Vkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1L3mBZdmptWvkx872ynoAb0sw
# RCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6ZZpCM/2pi
# f93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4pm3S4Zz5Hfw42JT0xqUKloak
# vZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45V3aicaoGig+JFrphpxHLmtgO
# R5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x4QDf5zEHpJM692VHeOj4qEir
# 995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEegPsbiSpUObJb2sgNVZl6h3M7
# COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKnQqLJzxlBTeCG+SqaoxFmMNO7
# dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp3lfB0d4wwP3M5k37Db9dT+md
# Hhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvTX4/edIhJEqGCAs4wggI3AgEB
# MIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcT
# B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UE
# CxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQL
# Ex1UaGFsZXMgVFNTIEVTTjowODQyLTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgc2VydmljZaIjCgEBMAcGBSsOAwIaAxUAZTHB3RFeHZDs
# jSiiSRUIWWArIoGggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
# aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
# cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAx
# MDANBgkqhkiG9w0BAQUFAAIFAN90WJEwIhgPMjAxODEwMTkyMTIwMTdaGA8yMDE4
# MTAyMDIxMjAxN1owdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA33RYkQIBADAKAgEA
# AgIjXAIB/zAHAgEAAgIRETAKAgUA33WqEQIBADA2BgorBgEEAYRZCgQCMSgwJjAM
# BgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEB
# BQUAA4GBAAVCpYRnkZGk86Dj6gRZSRsWQ/sodzyCrvADyFFrHZWiKK91mWkWhz+C
# VVwxRO+IsqjbTRb3eeL/BmiFYNk1T+D9FKqPS3P3obnr46VrJtDe+K57OY1QFRel
# 8DJFCBoxw/PIro2IFGu6qQMOBp9ao52gYFV/ZvG+RVMQ/C3QGITXMYIDDTCCAwkC
# AQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAADYGuTMP3oR
# +uEAAAAAANgwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG
# 9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgBqdmS/ZX6haV/XTAEWfOldJpjeh7ML3O
# 5rD9fLDB/40wgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCBzO53HeFzo83Yp
# /++Elao9KUDRbwoE/yBrzBOfQS7YLTCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0
# YW1wIFBDQSAyMDEwAhMzAAAA2BrkzD96EfrhAAAAAADYMCIEIHuVbEsAwCtRYxBH
# HVu+tTBee8TkvM+zFMViulf6YzH+MA0GCSqGSIb3DQEBCwUABIIBAFlI5Tt09LXd
# iR0xgtFo2ebDQdUj6SRdZr6rLz0dHMmmSBS1/agkV9kEEfv/n9LYm3+2gI2CJawV
# nhqt2+IJOSLddMs8JDxLL/rDzoSLe4JoXB5La5nx+jwYDT8o2nj0rIM/8Vfth65c
# 3ttlYqePzevupXUYH2AipBHP2CfiVUJA8j27CcRaaHGct2qANNtCpRiuyPZz9z7E
# ZhaabQ3Z39Wi8PChIqU1DCqJeks0QvoKYcZG5psT1w2holOGZltitkdmut9jee/0
# lmW06uGn0kZ7wHrRHC/iImMNqnRZdeSMeOpsXG9Cf77X/Ja577T+MzZmhRiHbwib
# EZe4rQZf87A=
# SIG # End signature block