# Copyright (c) Mondoo, Inc. # SPDX-License-Identifier: BUSL-1.1 #Requires -Version 5 <# .SYNOPSIS # Automatic Mondoo downloader to be used with # [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex (new-object net.webclient).downloadstring('https://mondoo.com/download.ps1') .PARAMETER Product Set 'cnspec' (default) to download and extract the 'zip', possible values: 'cnquery', 'cnspec', 'mondoo' .PARAMETER Version If provided, tries to download the specific version instead of the latest .EXAMPLE download.ps1 -Product cnspec download.ps1 -Version 6.14.0 download.ps1 -Path 'C:\Users\Administrator\mondoo' #> Param( [string] $Product = 'cnspec', [string] $Path = '', [string] $Version = '' ) function fail($msg) { Write-Error -ErrorAction Stop -Message $msg } function info($msg) { $host.ui.RawUI.ForegroundColor = "white" Write-Output $msg } function success($msg) { $host.ui.RawUI.ForegroundColor = "darkgreen" Write-Output $msg } function purple($msg) { $host.ui.RawUI.ForegroundColor = "magenta" Write-Output $msg } function Get-UserAgent() { return "MondooDownloadScript/1.0 (+https://mondoo.com/) PowerShell/$($PSVersionTable.PSVersion.Major).$($PSVersionTable.PSVersion.Minor) (Windows NT $([System.Environment]::OSVersion.Version.Major).$([System.Environment]::OSVersion.Version.Minor);$PSEdition)" } function download($url,$to) { $wc = New-Object Net.Webclient $wc.Headers.Add('User-Agent', (Get-UserAgent)) $wc.downloadFile($url,$to) } function getenv($name,$global) { $target = 'User'; if($global) {$target = 'Machine'} [System.Environment]::GetEnvironmentVariable($name,$target) } function setenv($name,$value,$global) { $target = 'User'; if($global) {$target = 'Machine'} [System.Environment]::SetEnvironmentVariable($name,$value,$target) } purple "$Product Binary Download Script" purple " .-. : : ,-.,-.,-. .--. ,-.,-. .-`' : .--. .--. : ,. ,. :`' .; :: ,. :`' .; :`' .; :`' .; : :_;:_;:_;``.__.`':_;:_;``.__.`'``.__.`'``.__. " info "Welcome to the $Product Binary Download Script. It downloads the $Product binary for Windows into $ENV:UserProfile\$Product and adds the path to the user's environment PATH. If you are experiencing any issues, please do not hesitate to reach out: * Mondoo Community GitHub Discussions https://github.com/orgs/mondoohq/discussions This script source is available at: https://github.com/mondoohq/installer " # Any subsequent commands which fails will stop the execution of the shell script $previous_erroractionpreference = $erroractionpreference $erroractionpreference = 'stop' # verify powershell pre-conditions If (($PSVersionTable.PSVersion.Major) -lt 5) { fail " The install script requires PowerShell 5 or later. To upgrade PowerShell, visit https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows " } # show notification to change execution policy: If ((Get-ExecutionPolicy) -gt 'RemoteSigned' -or (Get-ExecutionPolicy) -eq 'ByPass') { fail " PowerShell requires an execution policy of 'RemoteSigned'. Please change the policy by running: Set-ExecutionPolicy RemoteSigned -scope CurrentUser " } # check if we are on either a 64-bit intel or 64-bit arm system: If ($env:PROCESSOR_ARCHITECTURE -ne 'AMD64' -and $env:PROCESSOR_ARCHITECTURE -ne 'ARM64') { fail " Your processor architecture $env:PROCESSOR_ARCHITECTURE is not supported yet. Please come join us in our Mondoo Community GitHub Discussions https://github.com/orgs/mondoohq/discussions or email us at hello@mondoo.com " } info "Arguments:" info (" Product: {0}" -f $Product) info (" Path: {0}" -f $Path) info (" Version: {0}" -f $Version) info "" # set download location If ([string]::IsNullOrEmpty($Path)) { $path = Get-Location } Else { # Check if Path exists $path = $Path.trim('\') If (!(Test-Path $path)) {New-Item -Path $path -ItemType Directory} } $filetype = 'zip' $arch = $($env:PROCESSOR_ARCHITECTURE).ToLower() $releaseurl = '' If ([string]::IsNullOrEmpty($version)) { # latest release $releaseurl = "https://install.mondoo.com/package/${product}/windows/${arch}/${filetype}/latest/download" } Else { # specific version $releaseurl = "https://install.mondoo.com/package/${product}/windows/${arch}/${filetype}/${Version}/download" } # download windows binary zip $downloadlocation = "$path\$Product.$filetype" info " * Downloading $Product from $releaseurl to $downloadlocation" download $releaseurl $downloadlocation # build checksum URL $checksumurl = $releaseurl -replace "download$", "sha256" $checksumfile = "$downloadlocation.sha256" info " * Downloading checksum from $checksumurl to $checksumfile" download $checksumurl $checksumfile # read expected hash from file (it's usually in the format: " ") $expectedHash = (Get-Content $checksumfile).Split(" ")[0].Trim() # compute actual file hash $actualHash = (Get-FileHash -Algorithm SHA256 -Path $downloadlocation).Hash.ToLower() info " * Validating checksum..." if ($expectedHash.ToLower() -ne $actualHash) { Write-Error " x SHA256 checksum mismatch! Expected: $expectedHash, Got: $actualHash" exit 1 } info ' + Checksum validated successfully!' info ' * Extracting zip...' # remove older version if it is still there Remove-Item "$path\$Product.exe" -Force -ErrorAction Ignore Add-Type -Assembly "System.IO.Compression.FileSystem" [IO.Compression.ZipFile]::ExtractToDirectory($downloadlocation,$path) Remove-Item $downloadlocation -Force Remove-Item $checksumfile -Force success " * $Product was downloaded successfully!" # Display final message info "Thank you for downloading $Product!" info " If you have any questions, please come join us in our Mondoo Community on GitHub Discussions: * https://github.com/orgs/mondoohq/discussions " # reset erroractionpreference $erroractionpreference = $previous_erroractionpreference # SIG # Begin signature block # MII6oAYJKoZIhvcNAQcCoII6kTCCOo0CAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD/dTyzbHEFj2kH # ZAEUCCZH86yH/LeXIbYaEktFJLb29aCCIqQwggXMMIIDtKADAgECAhBUmNLR1FsZ # lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu # dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy # MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv # c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo # b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD # Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH # or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD # PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV # qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70 # ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1 # vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3 # W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK # xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg # trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj # O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7 # swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ # T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn # LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c # Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF # xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx # AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8 # FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY # lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2 # 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY # uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al # GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk # ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T # 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggbmMIIEzqADAgECAhMzAATtZCOV # 68urMW47AAAABO1kMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDEwHhcNMjUwODEwMTI1MDE4WhcNMjUwODEz # MTI1MDE4WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmEx # DTALBgNVBAcTBENhcnkxFTATBgNVBAoTDE1vbmRvbywgSW5jLjEVMBMGA1UEAxMM # TW9uZG9vLCBJbmMuMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAi7If # Hu/he5k6RQ8cvyD6PosoLIV7gxGLvEE/+lleJhp+DvQk/y2JkixxPWQphHmcxuBz # +7onTR0UNIfnla1xhQ06NWKjcjm09d9gJeof7iBcwN50rvH1J64DTR6vsb0o997z # s9JpctejbGTQAfVsUbHf9fixdZLZx5Pupu8fJOoqsvGCa2W7KTGPbfHp+bnMrTZN # 4v5aXfRG+cbvMrhbQcwdD62bGFWRlcdcRqtkSAzNaXTY8r+DEgvJ2VC8j63NO16o # 1OApmFxd6Vq3kptoxXQIKAfzmlQwLns2UKLuDTr3Am5LExZLxeB2iNZeB6x5rJn+ # nbfoKUwt3DToHE2eHip22cCdHvo1VtbXxGdLF3QdaTGsIr7/0joH5EZb+NHFDTh+ # 7DACftokZRaR8gTVCiOfCFDNgHFIA420P9ru3VrLaQPnti+oEl079BnarityAZ1s # Jw4jqQbuntUmIzxXV+xacDkk9fQnLJ3rbxBG2xbs+iOfNp/ualz/WdDMlf35AgMB # AAGjggIaMIICFjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA9BgNVHSUE # NjA0BgorBgEEAYI3YQEABggrBgEFBQcDAwYcKwYBBAGCN2GCqd2RVoKnluRSgZGY # /W+D3NurKjAdBgNVHQ4EFgQUADOjkxiTBIouRs0KupDNZbm3slIwHwYDVR0jBBgw # FoAU6IPEM9fcnwycdpoKptTfh6ZeWO4wZwYDVR0fBGAwXjBcoFqgWIZWaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSUQlMjBW # ZXJpZmllZCUyMENTJTIwQU9DJTIwQ0ElMjAwMS5jcmwwgaUGCCsGAQUFBwEBBIGY # MIGVMGQGCCsGAQUFBzAChlhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz # L2NlcnRzL01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEFPQyUyMENB # JTIwMDEuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQu # Y29tL29jc3AwZgYDVR0gBF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcC # ARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRv # cnkuaHRtMAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEArjYHbDl1f/lV4Zz3 # B9jyRt+wK44aIB5rqUrdjLMtIbC4VtUhGK143yQe2Z5mx5+jdo7hg5vq+W7NeOMy # 4YTseirVuW272rqzNhq1JNLpYz911aXqE/V2qoHMP4MAEt0pH0ugYdFC8s+l+2UF # rBI5shuut0dYM4yF98dl1IU/0KX/EI7jMXQp6U92hwfKly37RVrGVrT+r34fFXly # vDffr9i03bHbId0fMtPKVpYlGaGbkE+vt4xOjda1XWE/f4dDeZPO9Yq0fMGivQJQ # w0s6QFySBzIezDLDn21KQvF4mz7FwrpLWsFYbI0DT47yiEAfzd+thbU4VUgsU9XX # Mck6yPw1aYgEQfs8eJrQVcC/RaqaxhFl28Ei5/MyYrufCYLvENa2m73bNzSh01Du # zaIOqQjqLcNScd56iZ2IjfPAC7hmU24JcQ4cujOkf0CwHvfR6rsYKmkrfwPxxEly # /RXF+zz3G4vsOxkY+VaogrwP+ZHuIFM+VcnMu4JlN0blEgP/OOw6YKgp/MV3Wu4f # 2N+fJhzWP9gXV7wWWfoQe2D4WClGjPpvrxBn/zHugBjLmiGo7kRrMNZx0p06ykML # 3KEAvnl779pdXQDmoho0VToVz96E4cLxMo1YbeRjIts7KultRfRh3/scHRrRWcF9 # wnWmQggHSQ+R6e/AD1fCEkPbbOkwggbmMIIEzqADAgECAhMzAATtZCOV68urMW47 # AAAABO1kMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJRCBWZXJp # ZmllZCBDUyBBT0MgQ0EgMDEwHhcNMjUwODEwMTI1MDE4WhcNMjUwODEzMTI1MDE4 # WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDTALBgNV # BAcTBENhcnkxFTATBgNVBAoTDE1vbmRvbywgSW5jLjEVMBMGA1UEAxMMTW9uZG9v # LCBJbmMuMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAi7IfHu/he5k6 # RQ8cvyD6PosoLIV7gxGLvEE/+lleJhp+DvQk/y2JkixxPWQphHmcxuBz+7onTR0U # NIfnla1xhQ06NWKjcjm09d9gJeof7iBcwN50rvH1J64DTR6vsb0o997zs9Jpctej # bGTQAfVsUbHf9fixdZLZx5Pupu8fJOoqsvGCa2W7KTGPbfHp+bnMrTZN4v5aXfRG # +cbvMrhbQcwdD62bGFWRlcdcRqtkSAzNaXTY8r+DEgvJ2VC8j63NO16o1OApmFxd # 6Vq3kptoxXQIKAfzmlQwLns2UKLuDTr3Am5LExZLxeB2iNZeB6x5rJn+nbfoKUwt # 3DToHE2eHip22cCdHvo1VtbXxGdLF3QdaTGsIr7/0joH5EZb+NHFDTh+7DACftok # ZRaR8gTVCiOfCFDNgHFIA420P9ru3VrLaQPnti+oEl079BnarityAZ1sJw4jqQbu # ntUmIzxXV+xacDkk9fQnLJ3rbxBG2xbs+iOfNp/ualz/WdDMlf35AgMBAAGjggIa # MIICFjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA9BgNVHSUENjA0Bgor # BgEEAYI3YQEABggrBgEFBQcDAwYcKwYBBAGCN2GCqd2RVoKnluRSgZGY/W+D3Nur # KjAdBgNVHQ4EFgQUADOjkxiTBIouRs0KupDNZbm3slIwHwYDVR0jBBgwFoAU6IPE # M9fcnwycdpoKptTfh6ZeWO4wZwYDVR0fBGAwXjBcoFqgWIZWaHR0cDovL3d3dy5t # aWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmll # ZCUyMENTJTIwQU9DJTIwQ0ElMjAwMS5jcmwwgaUGCCsGAQUFBwEBBIGYMIGVMGQG # CCsGAQUFBzAChlhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRz # L01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEFPQyUyMENBJTIwMDEu # Y3J0MC0GCCsGAQUFBzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQuY29tL29j # c3AwZgYDVR0gBF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0 # cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt # MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEArjYHbDl1f/lV4Zz3B9jyRt+w # K44aIB5rqUrdjLMtIbC4VtUhGK143yQe2Z5mx5+jdo7hg5vq+W7NeOMy4YTseirV # uW272rqzNhq1JNLpYz911aXqE/V2qoHMP4MAEt0pH0ugYdFC8s+l+2UFrBI5shuu # t0dYM4yF98dl1IU/0KX/EI7jMXQp6U92hwfKly37RVrGVrT+r34fFXlyvDffr9i0 # 3bHbId0fMtPKVpYlGaGbkE+vt4xOjda1XWE/f4dDeZPO9Yq0fMGivQJQw0s6QFyS # BzIezDLDn21KQvF4mz7FwrpLWsFYbI0DT47yiEAfzd+thbU4VUgsU9XXMck6yPw1 # aYgEQfs8eJrQVcC/RaqaxhFl28Ei5/MyYrufCYLvENa2m73bNzSh01DuzaIOqQjq # LcNScd56iZ2IjfPAC7hmU24JcQ4cujOkf0CwHvfR6rsYKmkrfwPxxEly/RXF+zz3 # G4vsOxkY+VaogrwP+ZHuIFM+VcnMu4JlN0blEgP/OOw6YKgp/MV3Wu4f2N+fJhzW # P9gXV7wWWfoQe2D4WClGjPpvrxBn/zHugBjLmiGo7kRrMNZx0p06ykML3KEAvnl7 # 79pdXQDmoho0VToVz96E4cLxMo1YbeRjIts7KultRfRh3/scHRrRWcF9wnWmQggH # SQ+R6e/AD1fCEkPbbOkwggdaMIIFQqADAgECAhMzAAAABzeMW6HZW4zUAAAAAAAH # MA0GCSqGSIb3DQEBDAUAMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBD # b2RlIFNpZ25pbmcgUENBIDIwMjEwHhcNMjEwNDEzMTczMTU0WhcNMjYwNDEzMTcz # MTU0WjBaMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMSswKQYDVQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgQU9DIENBIDAx # MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt/fAAygHxbo+jxA04hNI # 8bz+EqbWvSu9dRgAawjCZau1Y54IQal5ArpJWi8cIj0WA+mpwix8iTRguq9JELZv # TMo2Z1U6AtE1Tn3mvq3mywZ9SexVd+rPOTr+uda6GVgwLA80LhRf82AvrSwxmZpC # H/laT08dn7+Gt0cXYVNKJORm1hSrAjjDQiZ1Jiq/SqiDoHN6PGmT5hXKs22E79Me # FWYB4y0UlNqW0Z2LPNua8k0rbERdiNS+nTP/xsESZUnrbmyXZaHvcyEKYK85WBz3 # Sr6Et8Vlbdid/pjBpcHI+HytoaUAGE6rSWqmh7/aEZeDDUkz9uMKOGasIgYnenUk # 5E0b2U//bQqDv3qdhj9UJYWADNYC/3i3ixcW1VELaU+wTqXTxLAFelCi/lRHSjaW # ipDeE/TbBb0zTCiLnc9nmOjZPKlutMNho91wxo4itcJoIk2bPot9t+AV+UwNaDRI # bcEaQaBycl9pcYwWmf0bJ4IFn/CmYMVG1ekCBxByyRNkFkHmuMXLX6PMXcveE46j # Mr9syC3M8JHRddR4zVjd/FxBnS5HOro3pg6StuEPshrp7I/Kk1cTG8yOWl8aqf6O # JeAVyG4lyJ9V+ZxClYmaU5yvtKYKk1FLBnEBfDWw+UAzQV0vcLp6AVx2Fc8n0vpo # yudr3SwZmckJuz7R+S79BzMCAwEAAaOCAg4wggIKMA4GA1UdDwEB/wQEAwIBhjAQ # BgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU6IPEM9fcnwycdpoKptTfh6ZeWO4w # VAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWlj # cm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAZBgkrBgEEAYI3 # FAIEDB4KAFMAdQBiAEMAQTASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaA # FNlBKbAPD2Ns72nX9c0pnqRIajDmMHAGA1UdHwRpMGcwZaBjoGGGX2h0dHA6Ly93 # d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMElEJTIwVmVy # aWZpZWQlMjBDb2RlJTIwU2lnbmluZyUyMFBDQSUyMDIwMjEuY3JsMIGuBggrBgEF # BQcBAQSBoTCBnjBtBggrBgEFBQcwAoZhaHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUy # MFNpZ25pbmclMjBQQ0ElMjAyMDIxLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29u # ZW9jc3AubWljcm9zb2Z0LmNvbS9vY3NwMA0GCSqGSIb3DQEBDAUAA4ICAQB3/utL # ItkwLTp4Nfh99vrbpSsL8NwPIj2+TBnZGL3C8etTGYs+HZUxNG+rNeZa+Rzu9oEc # AZJDiGjEWytzMavD6Bih3nEWFsIW4aGh4gB4n/pRPeeVrK4i1LG7jJ3kPLRhNOHZ # iLUQtmrF4V6IxtUFjvBnijaZ9oIxsSSQP8iHMjP92pjQrHBFWHGDbkmx+yO6Ian3 # QN3YmbdfewzSvnQmKbkiTibJgcJ1L0TZ7BwmsDvm+0XRsPOfFgnzhLVqZdEyWww1 # 0bflOeBKqkb3SaCNQTz8nshaUZhrxVU5qNgYjaaDQQm+P2SEpBF7RolEC3lllfuL # 4AOGCtoNdPOWrx9vBZTXAVdTE2r0IDk8+5y1kLGTLKzmNFn6kVCc5BddM7xoDWQ4 # aUoCRXcsBeRhsclk7kVXP+zJGPOXwjUJbnz2Kt9iF/8B6FDO4blGuGrogMpyXkuw # CC2Z4XcfyMjPDhqZYAPGGTUINMtFbau5RtGG1DOWE9edCahtuPMDgByfPixvhy3s # n7zUHgIC/YsOTMxVuMQi/bgamemo/VNKZrsZaS0nzmOxKpg9qDefj5fJ9gIHXcp2 # F0OHcVwe3KnEXa8kqzMDfrRl/wwKrNSFn3p7g0b44Ad1ONDmWt61MLQvF54LG62i # 6ffhTCeoFT9Z9pbUo2gxlyTFg7Bm0fgOlnRfGDCCB54wggWGoAMCAQICEzMAAAAH # h6M0o3uljhwAAAAAAAcwDQYJKoZIhvcNAQEMBQAwdzELMAkGA1UEBhMCVVMxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjFIMEYGA1UEAxM/TWljcm9zb2Z0 # IElkZW50aXR5IFZlcmlmaWNhdGlvbiBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 # eSAyMDIwMB4XDTIxMDQwMTIwMDUyMFoXDTM2MDQwMTIwMTUyMFowYzELMAkGA1UE # BhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjE0MDIGA1UEAxMr # TWljcm9zb2Z0IElEIFZlcmlmaWVkIENvZGUgU2lnbmluZyBQQ0EgMjAyMTCCAiIw # DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALLwwK8ZiCji3VR6TElsaQhVCbRS # /3pK+MHrJSj3Zxd3KU3rlfL3qrZilYKJNqztA9OQacr1AwoNcHbKBLbsQAhBnIB3 # 4zxf52bDpIO3NJlfIaTE/xrweLoQ71lzCHkD7A4As1Bs076Iu+mA6cQzsYYH/Cbl # 1icwQ6C65rU4V9NQhNUwgrx9rGQ//h890Q8JdjLLw0nV+ayQ2Fbkd242o9kH82RZ # sH3HEyqjAB5a8+Ae2nPIPc8sZU6ZE7iRrRZywRmrKDp5+TcmJX9MRff241UaOBs4 # NmHOyke8oU1TYrkxh+YeHgfWo5tTgkoSMoayqoDpHOLJs+qG8Tvh8SnifW2Jj3+i # i11TS8/FGngEaNAWrbyfNrC69oKpRQXY9bGH6jn9NEJv9weFxhTwyvx9OJLXmRGb # AUXN1U9nf4lXezky6Uh/cgjkVd6CGUAf0K+Jw+GE/5VpIVbcNr9rNE50Sbmy/4RT # CEGvOq3GhjITbCa4crCzTTHgYYjHs1NbOc6brH+eKpWLtr+bGecy9CrwQyx7S/Bf # YJ+ozst7+yZtG2wR461uckFu0t+gCwLdN0A6cFtSRtR8bvxVFyWwTtgMMFRuBa3v # mUOTnfKLsLefRaQcVTgRnzeLzdpt32cdYKp+dhr2ogc+qM6K4CBI5/j4VFyC4QFe # UP2YAidLtvpXRRo3AgMBAAGjggI1MIICMTAOBgNVHQ8BAf8EBAMCAYYwEAYJKwYB # BAGCNxUBBAMCAQAwHQYDVR0OBBYEFNlBKbAPD2Ns72nX9c0pnqRIajDmMFQGA1Ud # IARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29m # dC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wGQYJKwYBBAGCNxQCBAwe # CgBTAHUAYgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSob # yhmYBAcnz1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNy # b3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJp # ZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIw # LmNybDCBwwYIKwYBBQUHAQEEgbYwgbMwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3 # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5 # JTIwVmVyaWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5 # JTIwMjAyMC5jcnQwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29m # dC5jb20vb2NzcDANBgkqhkiG9w0BAQwFAAOCAgEAfyUqnv7Uq+rdZgrbVyNMul5s # kONbhls5fccPlmIbzi+OwVdPQ4H55v7VOInnmezQEeW4LqK0wja+fBznANbXLB0K # rdMCbHQpbLvG6UA/Xv2pfpVIE1CRFfNF4XKO8XYEa3oW8oVH+KZHgIQRIwAbyFKQ # 9iyj4aOWeAzwk+f9E5StNp5T8FG7/VEURIVWArbAzPt9ThVN3w1fAZkF7+YU9kbq # 1bCR2YD+MtunSQ1Rft6XG7b4e0ejRA7mB2IoX5hNh3UEauY0byxNRG+fT2MCEhQl # 9g2i2fs6VOG19CNep7SquKaBjhWmirYyANb0RJSLWjinMLXNOAga10n8i9jqeprz # SMU5ODmrMCJE12xS/NWShg/tuLjAsKP6SzYZ+1Ry358ZTFcx0FS/mx2vSoU8s8HR # vy+rnXqyUJ9HBqS0DErVLjQwK8VtsBdekBmdTbQVoCgPCqr+PDPB3xajYnzevs7e # idBsM71PINK2BoE2UfMwxCCX3mccFgx6UsQeRSdVVVNSyALQe6PT12418xon2iDG # E81OGCreLzDcMAZnrUAx4XQLUz6ZTl65yPUiOh3k7Yww94lDf+8oG2oZmDh5O1Qe # 38E+M3vhKwmzIeoB1dVLlz4i3IpaDcR+iuGjH2TdaC1ZOmBXiCRKJLj4DT2uhJ04 # ji+tHD6n58vhavFIrmcxghdSMIIXTgIBATBxMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDECEzMABO1kI5Xry6sxbjsAAAAE7WQwDQYJ # YIZIAWUDBAIBBQCgXjAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYK # KwYBBAGCNwIBBDAvBgkqhkiG9w0BCQQxIgQgOwyAiw5qh9SxDl+9iOljK02252H8 # 5yQEI0GnF54aoFswDQYJKoZIhvcNAQEBBQAEggGAGOpBbktHhIWhrfXTtaJDyRLY # 1S4QH4pCMXYOOma+NnnCBWDfN6ULyVeqIVuQfa7HMwnfYrMmdEYuKoNWGp/CMa3e # w57R9gCRZXXHvswBYsysrOibHDUzCmO1GeP71h66uT3YreEPgVTcESIkYiGbt092 # cQDO4FtVZxfJq+oiMOA4OWUQL91T7Og1awN4lDeHcZ6XKZVeWoWbY3OIIVjr8T7I # R7nK+Q+F8RtiwlObtqqFcszZ/bgXkVJraw8Ps2blYM0D9Nn3ltzCTEVH/P4BXxOB # /RThLKGmQDTfmQX7NDu7RD2FYZBt359RFqiiFXnWOrczQT+nmx1wx5Yt2+bc/g8N # Sjn7mfH9eGZanOVBaRUhgOgzxryhX7r95l/0o+ss7Tixwpi+3jfoJOCvXFYuQxGw # X8Mxm1ryHXKB5d6U6vcyxkuaYH3uicPFzJxRB7oA5BBE9PywPR1/02JI9/B7hPgJ # +xoSe3M6AIGVLv9z/dGhW4lrOrfQgmAlVM641GVboYIU0jCCFM4GCisGAQQBgjcD # AwExghS+MIIUugYJKoZIhvcNAQcCoIIUqzCCFKcCAQMxDzANBglghkgBZQMEAgIF # ADCCAXoGCyqGSIb3DQEJEAEEoIIBaQSCAWUwggFhAgEBBgorBgEEAYRZCgMBMEEw # DQYJYIZIAWUDBAICBQAEMLWyciUc9fQtCliv9lRzHo8U8mRFNe+jIVWM2lzMISte # ShW3m43VYJPI2VwPavr/PwIGaJPq8YpHGBMyMDI1MDgxMTA5NTUzNi4xOTJaMASA # AgH0oIHppIHmMIHjMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u # MS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx # JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo0NTFBLTA1RTAtRDk0NzE1MDMGA1UE # AxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHmg # gg8pMIIHgjCCBWqgAwIBAgITMwAAAAXlzw//Zi7JhwAAAAAABTANBgkqhkiG9w0B # AQwFADB3MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMUgwRgYDVQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJv # b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjAxMTE5MjAzMjMxWhcN # MzUxMTE5MjA0MjMxWjBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # c3RhbXBpbmcgQ0EgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB # AJ5851Jj/eDFnwV9Y7UGIqMcHtfnlzPREwW9ZUZHd5HBXXBvf7KrQ5cMSqFSHGqg # 2/qJhYqOQxwuEQXG8kB41wsDJP5d0zmLYKAY8Zxv3lYkuLDsfMuIEqvGYOPURAH+ # Ybl4SJEESnt0MbPEoKdNihwM5xGv0rGofJ1qOYSTNcc55EbBT7uq3wx3mXhtVmtc # CEr5ZKTkKKE1CxZvNPWdGWJUPC6e4uRfWHIhZcgCsJ+sozf5EeH5KrlFnxpjKKTa # vwfFP6XaGZGWUG8TZaiTogRoAlqcevbiqioUz1Yt4FRK53P6ovnUfANjIgM9JDdJ # 4e0qiDRm5sOTiEQtBLGd9Vhd1MadxoGcHrRCsS5rO9yhv2fjJHrmlQ0EIXmp4DhD # BieKUGR+eZ4CNE3ctW4uvSDQVeSp9h1SaPV8UWEfyTxgGjOsRpeexIveR1MPTVf7 # gt8hY64XNPO6iyUGsEgt8c2PxF87E+CO7A28TpjNq5eLiiunhKbq0XbjkNoU5Jht # YUrlmAbpxRjb9tSreDdtACpm3rkpxp7AQndnI0Shu/fk1/rE3oWsDqMX3jjv40e8 # KN5YsJBnczyWB4JyeeFMW3JBfdeAKhzohFe8U5w9WuvcP1E8cIxLoKSDzCCBOu0h # WdjzKNu8Y5SwB1lt5dQhABYyzR3dxEO/T1K/BVF3rV69AgMBAAGjggIbMIICFzAO # BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGtpKDo1 # L0hjQM972K9J6T7ZPdshMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y # eS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA # YgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSobyhmYBAcn # z1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRp # b24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNybDCB # lAYIKwYBBQUHAQEEgYcwgYQwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3Lm1pY3Jv # c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVy # aWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAy # MC5jcnQwDQYJKoZIhvcNAQEMBQADggIBAF+Idsd+bbVaFXXnTHho+k7h2ESZJRWl # uLE0Oa/pO+4ge/XEizXvhs0Y7+KVYyb4nHlugBesnFqBGEdC2IWmtKMyS1OWIviw # pnK3aL5JedwzbeBF7POyg6IGG/XhhJ3UqWeWTO+Czb1c2NP5zyEh89F72u9UIw+I # fvM9lzDmc2O2END7MPnrcjWdQnrLn1Ntday7JSyrDvBdmgbNnCKNZPmhzoa8PccO # iQljjTW6GePe5sGFuRHzdFt8y+bN2neF7Zu8hTO1I64XNGqst8S+w+RUdie8fXC1 # jKu3m9KGIqF4aldrYBamyh3g4nJPj/LR2CBaLyD+2BuGZCVmoNR/dSpRCxlot0i7 # 9dKOChmoONqbMI8m04uLaEHAv4qwKHQ1vBzbV/nG89LDKbRSSvijmwJwxRxLLpMQ # /u4xXxFfR4f/gksSkbJp7oqLwliDm/h+w0aJ/U5ccnYhYb7vPKNMN+SZDWycU5OD # IRfyoGl59BsXR/HpRGtiJquOYGmvA/pk5vC1lcnbeMrcWD/26ozePQ/TWfNXKBOm # kFpvPE8CH+EeGGWzqTCjdAsno2jzTeNSxlx3glDGJgcdz5D/AAxw9Sdgq/+rY7jj # gs7X6fqPTXPmaCAJKVHAP19oEjJIBwD1LyHbaEgBxFCogYSOiUIr0Xqcr1nJfiWG # 2GwYe6ZoAF1bMIIHnzCCBYegAwIBAgITMwAAAFQ/8gA+vqHYpgAAAAAAVDANBgkq # hkiG9w0BAQwFADBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENv # cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lc3Rh # bXBpbmcgQ0EgMjAyMDAeFw0yNTAyMjcxOTQwMjdaFw0yNjAyMjYxOTQwMjdaMIHj # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRN # aWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5T # aGllbGQgVFNTIEVTTjo0NTFBLTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0 # IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqGSIb3 # DQEBAQUAA4ICDwAwggIKAoICAQCu1p545cOfeooA80O0dF9t70FWvq1yjSAAnd+T # j/jA9Qu8gKUpsU0O6wB7AReupcZPtaQFOau1M2ljlu6xa5D1V4XfWc3AkPslyoAs # GBCO3M7J6och1ea1yXjdJwUtdHO8ZOeITkIuyRp/DEZuY3VulO5TMSW5r6/q05Du # 5ajHvQ3J0Tg9PTKytN1YBszZb2rjCva6aiv4Q1CR7JYIvKfVJAVHnkUmXPnPVnB8 # zRcQR7+4zQfWT52iKxpsgarxdd2kl0LANziyeRKwFvrT6IgIXgKULkJSh/ZcixdB # 6fuA3sre1fmfWvuFImDXzCxKpfeuARVKj4A5vYnK/KNElAIHOIrXP/l2ekJuD6Lh # DyulfPbqKQ0s8IZTsbXoatTZc0t/53KpXHbQ9a+rqiiUmMs69+M+kF/nQDkFa1vi # BbVSQO8SKLAulH9zE/Jjuna9T4RkfBleDSdfwUAV4PN42HivRG8ou1JRn12hiJvp # 965OW9o7iAQWnXJoUJzJY3ukk8LgpJ4XhbulEP2VC2MXF9tCPUYt64pgdJ6MQ1LD # Nnt6DYwqowUn2buBuSkTkZfvLBEQqMGsGm4ESnCSiNOYBa0ldgMXNPjTxcSSXCRh # 01lx5nssVAB7lt0NpaElX8bCLKmTBp4YkF+H/MbakdvnSbvUytZLlg0ir+wyoUjB # wffCOwIDAQABo4IByzCCAccwHQYDVR0OBBYEFNJpNoLbs2pAEBam5oF1gG5nN13Z # MB8GA1UdIwQYMBaAFGtpKDo1L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMwYaBf # oF2GW2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m # dCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcmww # eQYIKwYBBQUHAQEEbTBrMGkGCCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jvc29m # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRp # bWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB # Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBRBgwr # BgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkqhkiG # 9w0BAQwFAAOCAgEAc9gU34ZSVpUBU5qZl5iD4fQ4bCjJoBOmpiVsnONszTFxNimy # rQUApHBxQqC06wTkbedqbB5ptCzHVKhMXzy8yID+/r7cgYtNwVJAU69H9RHIDB8M # 2P/Glgjv3ceQUrYqf92M8Dyx3mwmqP7yBzbKcL8ZimT58+vAbJeBm8bXrPCe4SB/ # Zmmx1GP9oydMjBre9euAF2gIDIM4jvw/GUeryKabSrAHCwJVtAfheuKBTlX+RoVW # LLPOoQ9kDflCtJ0z97J1OPq61mQJccGsNjrK1PABMm+6+lqM21cE8UTSE0i65Ypm # 1Pi9Y0TBX95M32v4TgKhBgEVuaTeFDlPlOpxTafuI6a4tYkpRpJ2t/kGRKUS7s7u # X5zDVfIDVAYdDzJNKaupTBCoGqq5urAdkVbhvjv9ViUAHPKbfRBx/6MLmQ+muEOD # YValGV1qsM37kvs+qE/PKnFCKJvQGNFg7DIwN3OJ71C0uoPeRTUMb5yYQ4asSRFX # n/OOdsBE7EZWMWBPgeuFD2mFgUsyQhNjnmueT0ss3gTAbbD5dYYJZqKN8iSljktx # AZusKLjm4344NKMvZHmz1HFM1rPue+uzRPFfwayjrpb2Vsk/qiYJkVwokAVYG/8v # 7mggvKXssdEELqA7CfVYZ0OXFZfft8q3V2IY/ZbZcnfZtU5ZuD1cAa5KDhQxggPk # MIID4AIBATB4MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y # cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFt # cGluZyBDQSAyMDIwAhMzAAAAVD/yAD6+odimAAAAAABUMA0GCWCGSAFlAwQCAgUA # oIIBPTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwPwYJKoZIhvcNAQkEMTIE # MPBOA9AzFtXecc7g2Yi6bzKmMu79AM6BEPDGp4+oxRwx441W3g5C49y7t9hjQGwQ # GDCB3QYLKoZIhvcNAQkQAi8xgc0wgcowgccwgaAEINSBqnpiWZhJb9YgX/6ts2Mk # Rk0up9w0QKjumhCYSbALMHwwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMg # UlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwAhMzAAAAVD/yAD6+odimAAAAAABUMCIE # IHBNtL5qxamBPCPWxAUwzUgU3l8IJQCmpVX3vzZBr6XKMA0GCSqGSIb3DQEBDAUA # BIICAJJC2OnPRSXiFcqcjNCbWv0KabUIWOeFftzrGJ42pL+YidTeNBuquDb+ywQb # VqsZbSqjB3r3DzzQi49upADCnJX/2Iednyro4R+fGJyCiLxPlEtUexE1dRt5e0S/ # kEpDRJwcH8Z1sJxgtr1hnBUwFoPoWEB9vgA7y/fAxaBzPrIhFirr12+6wJcQww6g # ozcUjCAP+HVjjwZmWIef1XMwzBgN154bFGDSKnHfpJwF9MjiRYB6qfpJhSr15ikn # QW8FpG7t0hKp74avou0kzvgumWlGi7ybZncXpvrkQXg07OeyzvfpynZP4HAjsZVE # j/v9ztazcTRwTPHYl6FnDn9D+IWrCVdaduadc0wijAnNnI28A1JCqRcQ1ARetEmH # 2qZSZhFnoZorOpTjUYNRlFjllB4fqb9XhhsVAwCjkdlyZUL4Imp6czUT7nW8VUXn # LVT3Mdr7PGfMH3vKaqQTyjc5W7jebbWhMxEH4N++FWj9Qnf3xgboNgHv8RsYPPJa # px5P460rv/5m/0KTVBAkNJUtdsJjTsGmhN7UUcEZdVGI/7Dw+14Go+qcj2I1WvCX # Lr/hB4Yy9DDaA+2H664nxQCz2ot+rStdWYniF0C6Dbmgj5N6ITDnOJjSIjOv6oOY # Wb+xZiNnlAeBVGQPS47HZr/MkaLQ5Z9Ziwyome03WQzKfLmA # SIG # End signature block