Public/Get-MsrcCvrfDocument.ps1
Function Get-MsrcCvrfDocument { <# .SYNOPSIS Get a MSRC CVRF document .DESCRIPTION Calls the MSRC CVRF API to get a CVRF document by ID .PARAMETER ID Get the CVRF document for the specified CVRF ID (ie. 2016-Aug) .PARAMETER AsXml Get the output as Xml .EXAMPLE Get-MsrcCvrfDocument -ID 2016-Aug Get the Cvrf document '2016-Aug' (returns an object converted from the CVRF JSON) .EXAMPLE Get-MsrcCvrfDocument -ID 2016-Aug -AsXml Get the Cvrf document '2016-Aug' (returns an object converted from CVRF XML) .NOTES An API Key for the MSRC CVRF API is required To get an API key, please visit https://portal.msrc.microsoft.com #> [CmdletBinding()] Param ( [Parameter(ParameterSetName='XmlOutput')] [Switch]$AsXml ) DynamicParam { if (-not ($global:MSRCApiKey -or $global:MSRCAdalAccessToken)) { Write-Warning -Message 'You need to use Set-MSRCApiKey first to set your API Key' } else { $Dictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary $ParameterName = 'ID' $AttribColl1 = New-Object System.Collections.ObjectModel.Collection[System.Attribute] $Param1Att = New-Object System.Management.Automation.ParameterAttribute $Param1Att.Mandatory = $true $AttribColl1.Add($Param1Att) try { $allCVRFID = Get-CVRFID } catch { Throw 'Unable to get online the list of CVRF ID' } if ($allCVRFID) { $AttribColl1.Add((New-Object System.Management.Automation.ValidateSetAttribute($allCVRFID))) $Dictionary.Add($ParameterName,(New-Object System.Management.Automation.RuntimeDefinedParameter($ParameterName, [string], $AttribColl1))) $Dictionary } } } Begin {} Process { # Common $RestMethod = @{ uri = '{0}/cvrf/{1}?{2}' -f $msrcApiUrl,$PSBoundParameters['ID'],$msrcApiVersion ErrorAction = 'Stop' } # Add proxy and creds if required if ($global:msrcProxy) { $RestMethod.Add('Proxy', $global:msrcProxy) } if ($global:msrcProxyCredential) { $RestMethod.Add('ProxyCredential',$global:msrcProxyCredential) } # Adjust header based on our variables if ($global:MSRCApiKey) { $RestMethod.Add('Header',@{ 'Api-Key' = $global:MSRCApiKey }) } elseif ($global:MSRCAdalAccessToken) { $RestMethod.Add('Header',@{ 'Authorization' = $global:MSRCAdalAccessToken.CreateAuthorizationHeader() }) } else { Write-Warning -Message 'You need to use Set-MSRCApiKey first to set your API Key' } # If we have a header defined, we proceed if ($RestMethod['Header']) { if ($AsXml) { $RestMethod.Header.Add('Accept','application/xml') } else { $RestMethod.Header.Add('Accept','application/json') } try { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Write-Verbose -Message "Calling $($RestMethod.uri)" $response = Invoke-RestMethod @RestMethod } catch { Write-Error "HTTP Get failed with status code $($_.Exception.Response.StatusCode): $($_.Exception.Response.StatusDescription)" } # Invoke-RestMethod will return an string on PowerShell 4.0 and earlier # if the JSON-formatted response is larger than about two million characters if (-not $AsXml -and $response -is [string]) { $response = ParseJsonString($response) } $response } } End {} } # SIG # Begin signature block # MIIdlgYJKoZIhvcNAQcCoIIdhzCCHYMCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUVq1Z/qLzRCWdO538WzJ7kzS8 # h9SgghhyMIIE3jCCA8agAwIBAgITMwAAAVqOj1LEsRNZNgAAAAABWjANBgkqhkiG # 9w0BAQUFADB3MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G # A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw # HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EwHhcNMTkxMjE5MDExMzA1 # WhcNMjEwMzE3MDExMzA1WjCBzjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw # b3JhdGlvbjEpMCcGA1UECxMgTWljcm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJp # Y28xJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOkQ5REUtRTM5QS00M0ZFMSUwIwYD # VQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0B # AQEFAAOCAQ8AMIIBCgKCAQEA79wNLIZX0aI0G3nEIQ9Q2SzlDVCisZ4NcJW9yeYu # 2ZwpZAR0kLCtnq+Sn7iIHe+kxpdH36od3rYb3Ql+fy67vDNSjT+cvu2KHyA6vvRe # jRagTORXi8qhO3sfdRbmhSQuAEcXDYnZ6bcHsLBy6fl8eARznuAI9O4Vj9sYcTsd # qKeJfyRARIaejDkz1/wNvviC6A7o1S5dgWrs+6EQuUiMRLGSrtCdXexgdu9qC3VF # qyEhRn7myUGJ5QV+ADEeWhAVwaRxIMUiblyLJHHm8jI+Ql5ToNrC6SzSJArJy3T0 # exf7gBWnFzO1Usm4MSZvoYjHax2XNEyKkk+a52ksv4p7twIDAQABo4IBCTCCAQUw # HQYDVR0OBBYEFJjz5F0ao9VgbeOXoUa3dyUoGreTMB8GA1UdIwQYMBaAFCM0+NlS # RnAK7UD7dvuzK7DDNbMPMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwubWlj # cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdFRpbWVTdGFtcFBD # QS5jcmwwWAYIKwYBBQUHAQEETDBKMEgGCCsGAQUFBzAChjxodHRwOi8vd3d3Lm1p # Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFRpbWVTdGFtcFBDQS5jcnQw # EwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcNAQEFBQADggEBAIUx6G6NsYHw # chmbzwEweS0SAUV8ntRXiQhhwHsKn8Q20xgPdEtQsippR3PiH9m5sZ1vU9KdR8Ja # BNLKn32cRO2cOjVPZIFz1eJl3hI6aAkDSUkbar77gWsqDI2ziBUMDZo8p/h8f7QH # GdShM6Dc+X23WofrAXuC5Yt5mLCVYtQ98y3b154c+OwSZrw9pYXQLsMIk4cOlLI3 # KZXAR/aYkKl0Asdz3pkNRZFzF+MCgHJSJqHevGhKJt0V3E5zI2/DU+vahYf+LhN4 # 05avLpQHz0CFuNgO/E71TL29T0Rnq9dInHyR+37yQxyulHvmJ3XoVedZpt9+rH2e # yVralHSrGOAwggYDMIID66ADAgECAhMzAAABiK9S1rmSbej5AAAAAAGIMA0GCSqG # SIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw # DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x # KDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwHhcNMjAw # MzA0MTgzOTQ4WhcNMjEwMzAzMTgzOTQ4WjB0MQswCQYDVQQGEwJVUzETMBEGA1UE # CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z # b2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24w # ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCSCNryE+Cewy2m4t/a74wZ # 7C9YTwv1PyC4BvM/kSWPNs8n0RTe+FvYfU+E9uf0t7nYlAzHjK+plif2BhD+Ngdh # IUQ8sVwWO39tjvQRHjP2//vSvIfmmkRoML1Ihnjs9kQiZQzYRDYYRp9xSQYmRwQj # k5hl8/U7RgOiQDitVHaU7BT1MI92lfZRuIIDDYBdvXtbclYJMVOwqZtv0O9zQCre # t6R+fRSGaDNfEEpcILL+D7RV3M4uaJE4Ta6KAOdvV+MVaJp1YXFTZPKtpjHO6d9p # HQPZiG7NdC6QbnRGmsa48uNQrb6AfmLKDI1Lp31WMogTaX5tZf+CZT9PSuvjOCLN # AgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEEAYI3TAgBBggrBgEFBQcDAzAd # BgNVHQ4EFgQUj9RJL9zNrPcL10RZdMQIXZN7MG8wVAYDVR0RBE0wS6RJMEcxLTAr # BgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEWMBQG # A1UEBRMNMjMwMDEyKzQ1ODM4NjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzcitW2o # ynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v # cGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEGCCsG # AQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0MAwG # A1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBACnXo8hjp7FeT+H6iQlV3CcG # nkSbFvIpKYafgzYCFo3UHY1VHYJVb5jHEO8oG26QqBELmak6MTI+ra3WKMTGhE1s # EIlowTcp4IAs8a5wpCh6Vf4Z/bAtIppP3p3gXk2X8UXTc+WxjQYsDkFiSzo/OBa5 # hkdW1g4EpO43l9mjToBdqEPtIXsZ7Hi1/6y4gK0PmMiwG8LMpSn0n/oSHGjrUNBg # HJPxgs63Slf58QGBznuXiRaXmfTUDdrvhRocdxIMi8nXQwWACMiQzJSRzBP5S2wU # q7nMAqjaTbeXhJqD2SFVHdUYlKruvtPSwbnqSRWTGI8s4FEXt+TL3w5JnwVZmZkU # FoioQDMMjFyaKurdJ6pnzbr1h6QW0R97fWc8xEIzLIOiU2rjwWAtlQqFO8KNiykj # YGyEf5LyAJKAO+rJd9fsYR+VBauIEQoYmjnUbTXMSY2Lf5KMluWlDOGVh8q6XjmB # ccpaT+8tCfxpaVYPi1ncnwTwaPQvVq8RjWDRB7Pa8ruHgj2HJFi69+hcq7mWx5nT # UtzzFa7RSZfE5a1a5AuBmGNRr7f8cNfa01+tiWjVKk1a+gJUBSP0sIxecFbVSXTZ # 7bqeal45XSDIisZBkWb+83TbXdTGMDSUFKTAdtC+r35GfsN8QVy59Hb5ZYzAXczh # gRmk7NyE6jD0Ym5TKiW5MIIGBzCCA++gAwIBAgIKYRZoNAAAAAAAHDANBgkqhkiG # 9w0BAQUFADBfMRMwEQYKCZImiZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJ # bWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBB # dXRob3JpdHkwHhcNMDcwNDAzMTI1MzA5WhcNMjEwNDAzMTMwMzA5WjB3MQswCQYD # VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe # MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3Nv # ZnQgVGltZS1TdGFtcCBQQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB # AQCfoWyx39tIkip8ay4Z4b3i48WZUSNQrc7dGE4kD+7Rp9FMrXQwIBHrB9VUlRVJ # lBtCkq6YXDAm2gBr6Hu97IkHD/cOBJjwicwfyzMkh53y9GccLPx754gd6udOo6HB # I1PKjfpFzwnQXq/QsEIEovmmbJNn1yjcRlOwhtDlKEYuJ6yGT1VSDOQDLPtqkJAw # bofzWTCd+n7Wl7PoIZd++NIT8wi3U21StEWQn0gASkdmEScpZqiX5NMGgUqi+YSn # EUcUCYKfhO1VeP4Bmh1QCIUAEDBG7bfeI0a7xC1Un68eeEExd8yb3zuDk6FhArUd # DbH895uyAc4iS1T/+QXDwiALAgMBAAGjggGrMIIBpzAPBgNVHRMBAf8EBTADAQH/ # MB0GA1UdDgQWBBQjNPjZUkZwCu1A+3b7syuwwzWzDzALBgNVHQ8EBAMCAYYwEAYJ # KwYBBAGCNxUBBAMCAQAwgZgGA1UdIwSBkDCBjYAUDqyCYEBWJ5flJRP8KuEKU5VZ # 5KShY6RhMF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZFglt # aWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1 # dGhvcml0eYIQea0WoUqgpa1Mc1j0BxMuZTBQBgNVHR8ESTBHMEWgQ6BBhj9odHRw # Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9taWNyb3NvZnRy # b290Y2VydC5jcmwwVAYIKwYBBQUHAQEESDBGMEQGCCsGAQUFBzAChjhodHRwOi8v # d3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29mdFJvb3RDZXJ0LmNy # dDATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQUFAAOCAgEAEJeKw1wD # RDbd6bStd9vOeVFNAbEudHFbbQwTq86+e4+4LtQSooxtYrhXAstOIBNQmd16QOJX # u69YmhzhHQGGrLt48ovQ7DsB7uK+jwoFyI1I4vBTFd1Pq5Lk541q1YDB5pTyBi+F # A+mRKiQicPv2/OR4mS4N9wficLwYTp2OawpylbihOZxnLcVRDupiXD8WmIsgP+IH # GjL5zDFKdjE9K3ILyOpwPf+FChPfwgphjvDXuBfrTot/xTUrXqO/67x9C0J71FNy # Ie4wyrt4ZVxbARcKFA7S2hSY9Ty5ZlizLS/n+YWGzFFW6J1wlGysOUzU9nm/qhh6 # YinvopspNAZ3GmLJPR5tH4LwC8csu89Ds+X57H2146SodDW4TsVxIxImdgs8Uoxx # WkZDFLyzs7BNZ8ifQv+AeSGAnhUwZuhCEl4ayJ4iIdBD6Svpu/RIzCzU2DKATCYq # SCRfWupW76bemZ3KOm+9gSd0BhHudiG/m4LBJ1S2sWo9iaF2YbRuoROmv6pH8BJv # /YoybLL+31HIjCPJZr2dHYcSZAI9La9Zj7jkIeW1sMpjtHhUBdRBLlCslLCleKuz # oJZ1GtmShxN1Ii8yqAhuoFuMJb+g74TKIdbrHk/Jmu5J4PcBZW+JC33Iacjmbuqn # l84xKf8OxVtc2E0bodj6L54/LlUWa8kTo/0wggd6MIIFYqADAgECAgphDpDSAAAA # AAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz # aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv # cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBB # dXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDlaMH4x # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p # Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEBAQUA # A4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgGOBoE # Sbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S35tT # sgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jzy23z # OlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/74yta # EB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2uM1jF # tz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33X/DQ # Ur+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIlXdMh # Sz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP6SNJ # vBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLBl4F7 # 7dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGFRInE # CUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiMCwID # AQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQBdOC # qhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO4eqn # xzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNv # bS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18yMi5j # cmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1pY3Jv # c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18yMi5j # cnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIBFjNo # dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNwcy5o # dG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkAXwBz # AHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY4FR5 # Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj82nb # Y78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUdd5Q5 # 4ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJYx8J # aW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYfwzIY # 4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJaG5v # p7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1jNpeG # 39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9Bxw4o # 7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96eiL6 # SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7r/ww # 7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5IRcBC # yZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIEjjCCBIoCAQEwgZUwfjELMAkGA1UE # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9zb2Z0 # IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAYivUta5km3o+QAAAAABiDAJBgUr # DgMCGgUAoIGiMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcC # AQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBQMv8gzK71jVdWsFhOa # dYmXkupLAzBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMAcgBvAHMAbwBmAHSh # GoAYaHR0cDovL3d3dy5taWNyb3NvZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAIls # g0m/+lo7OiiKnrS8DTwNWnvaNXFM6LatRx49OEbhd84Vg0ZDO0Bm0RAjvgsDuKv6 # /SlzP0D5p3Ia52jtI/qPa8EeAr9Oblf7FHGuE5VWz2RfHgWlfqnXEqZe93TVvz8c # yGKXsY156cuQEO8Ad3qi1U8CiU4voboaMr+gL0JT4odLtYAIJlexk8niaS+0ktNy # msWuCvgaPgDf2lX2bRS3N895Aqk4hn+ErE8LapDibW2UrkB9JXNRqfu9b7D/QzTy # AM3dycdgELYwiLS/OO0s+qTNcxMpKJv3mNJyVUehsEjdXw8/E9KQGOE7bUa6eu+p # 2evcgbNcwXF7oINaG9OhggIoMIICJAYJKoZIhvcNAQkGMYICFTCCAhECAQEwgY4w # dzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl # ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMY # TWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBAhMzAAABWo6PUsSxE1k2AAAAAAFaMAkG # BSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ # BTEPFw0yMDExMDMxNzQ1MTdaMCMGCSqGSIb3DQEJBDEWBBRq7c665l2q8W0lS2Es # /2f/yjdN8DANBgkqhkiG9w0BAQUFAASCAQBFaHblCcXxTBngkhRbdhidtDzX/hyY # myk5+L2ecpIQDNWAHnVA3yMwcvKFdSNf1pLLCggpGP2/3ZCrhI/4DatXhyIWZikS # sZjwLhrhZCnpQy1X6aRxwEoPGnQdKdYsuFVpkFcQ85a7tCL9QlF5vj4VevduBfdI # 3giZwEqW+A8w7UMHbVRjzcv/Ua8CAgbv+B2lXpC0RxmmeXWBgveE6dZBbDuqvNlH # iwo6FEYvfv1+dMWC8E26LdBl+QJcZu5Vdg9GLpyVaHjMPD6ADPRTDARptc399ON+ # gd3f3QCduhVspweM3IDNBevuW7Sxchw6l7tVit8UdPTFfiwZMRHnUVdC # SIG # End signature block |