PublishModulesPPE.ps1

# ----------------------------------------------------------------------------------
#
# Copyright Microsoft Corporation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ----------------------------------------------------------------------------------

param(
    [Parameter(Mandatory = $false, Position = 0)]
    [string] $buildConfig,
    [Parameter(Mandatory = $false, Position = 1)]
    [string] $scope,
    [Parameter(Mandatory = $false, Position = 2)]
    [string] $apiKey,
    [Parameter(Mandatory = $false, Position = 3)]
    [string] $repositoryLocation
)

if ([string]::IsNullOrEmpty($buildConfig))
{
    Write-Verbose "Setting build configuration to 'Release'"
    $buildConfig = "Release"
}

if ([string]::IsNullOrEmpty($repositoryLocation))
{
    Write-Verbose "Setting repository location to 'https://dtlgalleryint.cloudapp.net/api/v2/'"  
    $repositoryLocation = "https://dtlgalleryint.cloudapp.net/api/v2/"
}

if ([string]::IsNullOrEmpty($scope))
{
    Write-Verbose "Default scope to all"
    $scope = 'All'  
}

Write-Host "Publishing $scope package(and its dependencies)" 

$packageFolder = "$PSScriptRoot"

$repo = Get-PSRepository | where { $_.SourceLocation -eq $repositoryLocation }
if ($repo -ne $null) {
    $repoName = $repo.Name
} else {
    $repoName = $(New-Guid).ToString()
    Register-PSRepository -Name $repoName -SourceLocation $repositoryLocation -PublishLocation $repositoryLocation/package -InstallationPolicy Trusted
}

$resourceManagerRootFolder = "$packageFolder"
$publishToLocal = test-path $repositoryLocation
if (($scope -eq 'All') -or $publishToLocal ) {
    # If we publish 'All' or to local folder, publish AzureActiveDirectory first, becasue it is the common dependency
    Write-Host "Publishing profile module"
    Publish-Module -Name "$resourceManagerRootFolder\AzureAD.psd1" -NuGetApiKey $apiKey -Repository $repoName -Tags ("Azure") -LicenseUri "http://aka.ms/azps-license"
    Write-Host "Published active directory module"
}

# SIG # Begin signature block
# MIIkGAYJKoZIhvcNAQcCoIIkCTCCJAUCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDpRyOXgy7F3fIX
# L9iGnoJLLwwdxtRvMoSwPMibCJ1Em6CCDY4wggYMMIID9KADAgECAhMzAAAAUIdr
# 9343iErHAAAAAABQMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMTUwNTA1MjAxOTA0WhcNMTYwODA1MjAxOTA0WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCaIoYmGMao9+4o9C5pYpDSaOU1vM5aOB726p+Fz6HmQrSv9P2/WhemKYpX/H2t
# +g0SjGG/GuZ7aJQvk6Bjs+roneH8aqR1vNs5AuivwJTET1wcRQhiba2ThELg/p81
# PwZudPtH94kUikbrLQ8fp8IBMUPTpONPG7xwSZK+3zWLoMy7UcCTXdKq2IojIHN0
# SqKRltQMXuAxQndcJDevnaVL+uUAA5yu1BxtLmRTumcbYM9rZCbLg3n1yRiLAgEv
# Su0iZ/dSU4Hkfm6G8K61lgYhhzU9255p0+qafmXssedwnHNShNRUQqUMEzmKIMGV
# /fQ43zpGoouwcaxi3KDYtk1bAgMBAAGjggGLMIIBhzArBgNVHSUEJDAiBggrBgEF
# BQcDAwYKKwYBBAGCN0wIAQYKKwYBBAGCN0wTATAdBgNVHQ4EFgQUlaRuhqyxAVqM
# 0OtUyvQIL2BnhnUwUQYDVR0RBEowSKRGMEQxDTALBgNVBAsTBE1PUFIxMzAxBgNV
# BAUTKjU0ODE2KzFmODQ4NWU1LWY5YzUtNDRmZC04Y2U3LTlmZDFmODVjYzM3ZDAf
# BgNVHSMEGDAWgBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BF
# hkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQ
# Q0EyMDExXzIwMTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcw
# AoZFaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RT
# aWdQQ0EyMDExXzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcN
# AQELBQADggIBAKI24bgJ1nULmiTYNSzydzSEniceVdoCZpXUpdjuql17KkehUjXY
# lXd4pCLhSzaRi6Jhu+ZblU4t0Eqp0fvW4nFq+qxoMSrgkGy8B+uSHvgggXBIazvZ
# 6HqDEapUYIqn3rxBUiZQEVRAhRK0uaVJ18RT5zHkn0pKsPM2Hs3E3JmHyt0sZLnq
# UKYsgibrsfJxLh5BuY+BdGX7xXo0Ev5bqTJbPYQSwa46TqdWJu0sGg/nnZ9R5KNj
# pYlXVDtYFD7UGvTdnfzd8NSdGOv8lPqLISnYjAD0QwRYWkVxn+Dlkfog+QAgStpP
# SUJvHUg3d7GjIkoMnkoLqq3SmYa5hwLTi2/modvW+s3cViCnCYA6XXwSs71dX6HW
# 36EkukWbkUJA8C3Ww92Lqnd2QWXoUZPCUKoG65PEHVaWynuC0gMastTN/IIVFTg0
# KYprflx1qGelPmHzL70xYNiZ0OaFEp3Lv5M+YgOeS3xo8AxoqjT1hug2zJxAL8ai
# GEMXnaOflgxAzxFyXZpkeuxTuYZICMPq/whS39FVR7ix1DjcDtkNNn6H46q/xxOf
# JXtkBZ6TayIGaXvzve3c2+HhQASPJdTeburaygIvYQLPKHUNKBtdkWZJCwvSiAxd
# +kQ96ZaAC7v+nDJ77h3FPMsin54kI80J8ZXMePgX4obfJpkuXbjUA2piMIIHejCC
# BWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJv
# b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcN
# MjYwNzA4MjEwOTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
# bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIIC
# IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2
# WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSH
# fpRgJGyvnkmc6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQ
# z7NEt13YxC4Ddato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHml
# SSnnDb6gE3e+lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3o
# iU+EGvKhL1nkkDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6
# nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6ep
# ZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf
# 28AVs70b1FVL5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCn
# q47f7Fufr/zdsGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx
# 7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O
# 9JawvEagbJjS4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0G
# A1UdDgQWBBRIbmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMA
# dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAW
# gBRyLToCMZBDuRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8v
# Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQy
# MDExXzIwMTFfMDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZC
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQy
# MDExXzIwMTFfMDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCB
# gzA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9k
# b2NzL3ByaW1hcnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABf
# AHAAbwBsAGkAYwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEB
# CwUAA4ICAQBn8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LR
# bYP+vj/oCso7v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r
# 4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb
# 7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6v
# mSiXmE0OPQvyCInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/
# sfQn+N4sOiBpmLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad2
# 5UAqZaPDXVJihsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUf
# FL5hYbXw3MYbBL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWx
# m6U/RXceNcbSoqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMj
# aHXmr/r8i+sLgOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7
# qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFeAwghXc
# AgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAm
# BgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAABQh2v3
# fjeISscAAAAAAFAwDQYJYIZIAWUDBAIBBQCggcwwGQYJKoZIhvcNAQkDMQwGCisG
# AQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcN
# AQkEMSIEIKEXXkVO3Dqa6ZWx/b2IewwvtJwxENZcx5prqouIbkY4MGAGCisGAQQB
# gjcCAQwxUjBQoCyAKgBQAHUAYgBsAGkAcwBoAE0AbwBkAHUAbABlAHMAUABQAEUA
# LgBwAHMAMaEggB5odHRwOi8vd3d3Lk1pY3Jvc29mdE9ubGluZS5jb20wDQYJKoZI
# hvcNAQEBBQAEggEAdlmqn/C6gamrEvdxd0bh2QDFNXS789hHO+eIP+4aNW+yEpgZ
# Kzi83z567fKeIIDYz1tWPn9el0GQ5YFUjkdlZCNB49Q4aW1vPXMC8LriKk0DD2M9
# rKSJbK0OMLJIfYwXpUdXupgV+se2kAGMOra6FFRoBy1/V6vNuRMW9sDw9bEr1Cuh
# rjNpwl9YP1YkGs16BDlm+duZPL4VHyuq3SQomvUIPBq0dmmL9/0ZuNhqqw3x58X6
# cszGK1QI9zfmWgh/MLhjRx20qyvQOJ21uMh01SuqIuWKQbV521SXX+UJmBzN7Gha
# Go1Lp26fmSfdYaEaUAThwaE1Ha6yh8RwhdsXQKGCE0wwghNIBgorBgEEAYI3AwMB
# MYITODCCEzQGCSqGSIb3DQEHAqCCEyUwghMhAgEDMQ8wDQYJYIZIAWUDBAIBBQAw
# ggE8BgsqhkiG9w0BCRABBKCCASsEggEnMIIBIwIBAQYKKwYBBAGEWQoDATAxMA0G
# CWCGSAFlAwQCAQUABCDA9VfGdBaI8/rwSkTrzsSG4IB6LKsvtt6N0AxvEt7iIgIG
# VnMEtOJ4GBIyMDE2MDEyMjAxMzkyNS4zNlowBwIBAYACAfSggbmkgbYwgbMxCzAJ
# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIx
# JzAlBgNVBAsTHm5DaXBoZXIgRFNFIEVTTjpDMEY0LTMwODYtREVGODElMCMGA1UE
# AxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCCDtAwggZxMIIEWaADAgEC
# AgphCYEqAAAAAAACMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0
# aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0xMDA3MDEyMTM2NTVaFw0yNTA3MDEy
# MTQ2NTVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk
# BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIBIjANBgkqhkiG
# 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mUa3RUENWlCgCC
# hfvtfGhLLF/Fw+Vhwna3PmYrW/AVUycEMR9BGxqVHc4JE458YTBZsTBED/FgiIRU
# QwzXTbg4CLNC3ZOs1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4YyhB50YWeRX4FU
# sc+TTJLBxKZd0WETbijGGvmGgLvfYfxGwScdJGcSchohiq9LZIlQYrFd/XcfPfBX
# day9ikJNQFHRD5wGPmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDaTgaRtogINeh4
# HLDpmc085y9Euqf03GS9pAHBIAmTeM38vMDJRF1eFpwBBU8iTQIDAQABo4IB5jCC
# AeIwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDzQ3t8RhvFM2ha
# hW1VMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNV
# HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYG
# A1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3Js
# L3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcB
# AQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kv
# Y2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGgBgNVHSABAf8EgZUw
# gZIwgY8GCSsGAQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3dy5taWNy
# b3NvZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggrBgEFBQcCAjA0
# HjIgHQBMAGUAZwBhAGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBtAGUAbgB0
# AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAB+aIUQ3ixuCYP4FxAz2do6Ehb7Prpsz1
# Mb7PBeKp/vpXbRkws8LFZslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GCRBL7uVOMzPRg
# Eop2zEBAQZvcXBf/XPleFzWYJFZLdO9CEMivv3/Gf/I3fVo/HPKZeUqRUgCvOA8X
# 9S95gWXZqbVr5MfO9sp6AG9LMEQkIjzP7QOllo9ZKby2/QThcJ8ySif9Va8v/rbl
# jjO7Yl+a21dA6fHOmWaQjP9qYn/dxUoLkSbiOewZSnFjnXshbcOco6I8+n99lmqQ
# eKZt0uGc+R38ONiU9MalCpaGpL2eGq4EQoO4tYCbIjggtSXlZOz39L9+Y1klD3ou
# OVd2onGqBooPiRa6YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSYIghh2rBQHm+9
# 8eEA3+cxB6STOvdlR3jo+KhIq/fecn5ha293qYHLpwmsObvsxsvYgrRyzR30uIUB
# HoD7G4kqVDmyW9rIDVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98isTtoouLGp25ay
# p0Kiyc8ZQU3ghvkqmqMRZjDTu3QyS99je/WZii8bxyGvWbWu3EQ8l1Bx16HSxVXj
# ad5XwdHeMMD9zOZN+w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzVs341Hgi62jbb
# 01+P3nSISRIwggTaMIIDwqADAgECAhMzAAAAcTJFPHbHYvzoAAAAAABxMA0GCSqG
# SIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTE1MTAw
# NzE4MTczN1oXDTE3MDEwNzE4MTczN1owgbMxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIxJzAlBgNVBAsTHm5DaXBoZXIg
# RFNFIEVTTjpDMEY0LTMwODYtREVGODElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
# U3RhbXAgU2VydmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKj
# rWi9L5cSfN30tiilz+CvaqSbXcwRRdY3xbL94xLFvT+nEExGLw+8UX1QRuFnZwty
# sFBgUAV90zyIoppe8xpJR03VoXBtpEm9oGLt/X5ziqGyulcxnIEaFVZOTS4N1MVZ
# Kia8/BbUazm972j0u2mReF76lIEyvzlAIReSTqTRvCy2Zl1quObmOeA3ViO8mk61
# HdBL0eHqj/xCYbfTNA1rXDbK8ADzPn8EKeD3r+eca4EPR5SD82FrLKzIiIxswNI7
# +g7Xp1kCGmKbdAZUW0eD8kAWu/+4AHxpRR0y4blkBaPSLrj4YPv2p3M/VEs9GPX2
# nE9qhQ0NqB6I4plSJOUCAwEAAaOCARswggEXMB0GA1UdDgQWBBTbTHGFb5a7tkIA
# sE5Rx/a22aVAaDAfBgNVHSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNV
# HR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9w
# cm9kdWN0cy9NaWNUaW1TdGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEE
# TjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
# cnRzL01pY1RpbVN0YVBDQV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMG
# A1UdJQQMMAoGCCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4IBAQCAahEGwEFpAgdG
# YwQZeCvRlU4KE1u6eRsPHqm6ajdlwRIOrJIfdUGQz13BpEdKQSWBPUV1eCy628bn
# 5+fsQOb5C4DWvHk+JUOjzokMVy+mFCNX3NaVPojBZrFS8BqdYrkgG9Rjf3NKyRfk
# hGrGr5au6Svd9kkOEghIVJOAjTPx/ViW+khbLjjQy9S0yzBTo1U8H6ExSu6Jcv8J
# PYWAARE5TylZUHq15e1bvZo6xHjsHYh1mzTRlgXcyAs3rKkeqQVHT/pLyROke3n0
# Kegnzrub4BWjdqStP69Cz8Y9v75MVsx2NK5JsgaMPhDnmZRzmMeTrmpF+qpecZTL
# AxsuqSbSoYIDeTCCAmECAQEwgeOhgbmkgbYwgbMxCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1PUFIxJzAlBgNVBAsTHm5DaXBo
# ZXIgRFNFIEVTTjpDMEY0LTMwODYtREVGODElMCMGA1UEAxMcTWljcm9zb2Z0IFRp
# bWUtU3RhbXAgU2VydmljZaIlCgEBMAkGBSsOAwIaBQADFQA4M9Lea2GQNBgDN+WV
# 1g5uhmCx4KCBwjCBv6SBvDCBuTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
# b3JhdGlvbjENMAsGA1UECxMETU9QUjEnMCUGA1UECxMebkNpcGhlciBOVFMgRVNO
# OjU3RjYtQzFFMC01NTRDMSswKQYDVQQDEyJNaWNyb3NvZnQgVGltZSBTb3VyY2Ug
# TWFzdGVyIENsb2NrMA0GCSqGSIb3DQEBBQUAAgUA2kvpuTAiGA8yMDE2MDEyMTIz
# MzUyMVoYDzIwMTYwMTIyMjMzNTIxWjB3MD0GCisGAQQBhFkKBAExLzAtMAoCBQDa
# S+m5AgEAMAoCAQACAguMAgH/MAcCAQACAhhtMAoCBQDaTTs5AgEAMDYGCisGAQQB
# hFkKBAIxKDAmMAwGCisGAQQBhFkKAwGgCjAIAgEAAgMW42ChCjAIAgEAAgMHoSAw
# DQYJKoZIhvcNAQEFBQADggEBALavgI/1CY4fZ1UXkkpGx7UevV6s6s4rSc3Hlsvl
# 5QT79I5lu+Qva6xwdT/UktaMZSGvtsO7owipOfd2yMR0Tgz4ZIZ8vzA7m3Nca6tc
# o1j1UN+NUyfMMV++Kk34nXxW+SvRd2YT2TTGsTFdsoe5nZplQLisnX6qukdgj7aC
# D7cQdo+eAfuukNNYQdMIdNDj62tDK2+AjVayfwd0pYQDLDh/xQvpzdyBdLqQmS/g
# vLOX3OlUg4D1qQu9wa/cAZyny3KdEKKa/X5IdI7+IUwcNQK/1ng8cLHGQnQ0CcRV
# 3giShLJTlnIObOjmXDcPaqGRQHMKIQJo3aFtYYhhKbecB6gxggL1MIIC8QIBATCB
# kzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAHEyRTx2x2L86AAA
# AAAAcTANBglghkgBZQMEAgEFAKCCATIwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJ
# EAEEMC8GCSqGSIb3DQEJBDEiBCAaLgRmOFnsLy7rrGgEdoGYul5lbSkM2d3+HEPI
# s637hzCB4gYLKoZIhvcNAQkQAgwxgdIwgc8wgcwwgbEEFDgz0t5rYZA0GAM35ZXW
# Dm6GYLHgMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMA
# AABxMkU8dsdi/OgAAAAAAHEwFgQUTLlBpg70kTeSQAr+rb0Eg5U7VVEwDQYJKoZI
# hvcNAQELBQAEggEAA1o+gpjHzO/lGWTbZP3oc19tcP04QQ8+c2CM9WVuwB10lOSc
# K+UBilcDph37yCIPC/F4OLoPy48+ftefu1CXhWMqfRG25u+ENY1e9KXQnXDASk3h
# 8WLHJCEqXBnvblwPWT3MmCl7kky9+hd3ZaChuUlVcA5KaA+E0i/uN+nFJx32pUBt
# 6Waebk6/bqdFv6hzQPLUvl1Qd02P8znJZM+3NpZ8AUorhlNQUkZ1dBjav5rkMPIO
# zbstPLEYbrhy8JDa+S9itYHK9lKezwFpqYN+hSmH9aw/8L9eE+//5hqNaiJmKf5V
# m2fqVC8u6mAAh9Y7cPvVYbdToIyhy/0K+AM9dw==
# SIG # End signature block