Outputs/output-csv.ps1
using module "..\ORCA.psm1" class csv : ORCAOutput { $OutputDirectory=$null csv() { $this.Name="CSV" } RunOutput($Checks,$Collection,[ORCAConfigLevel]$AssessmentLevel) { # Write to file if($null -eq $this.OutputDirectory) { $OutputDir = $this.DefaultOutputDirectory } else { $OutputDir = $this.OutputDirectory } $ResultOverview = @() $ResultDetail = @() # Parse to flatten the output, for the overview some data is going to get lost because it's not a flat structure ForEach($c in $Checks) { $ResultOverview += New-Object -TypeName PSObject -Property @{ Control=$c.Control Area=$c.Area Name=$c.Name Result=$($c.Result.ToString()) AssessmentLevel=$($AssessmentLevel.ToString()) ObjectsFailed=$c.GetCountAtLevelFail($AssessmentLevel) ObjectsPassed=$c.GetCountAtLevelPass($AssessmentLevel) ObjectsInfo=$c.GetCountAtLevelInfo($AssessmentLevel) } ForEach($config in $c.Config) { $ResultDetail += New-Object -TypeName PSObject -Property @{ Control=$c.Control Area=$c.Area Name=$c.Name ConfigObject=$config.Object ConfigItem=$config.ConfigItem ConfigDisabled=$config.ConfigDisabled ConfigReadonly=$config.ConfigReadonly ConfigData=$config.ConfigData ConfigPolicyGuid=$config.ConfigPolicyGuid Level=$($config.Level.ToString()) } } } $Tenant = $(($Collection["AcceptedDomains"] | Where-Object {$_.InitialDomain -eq $True}).DomainName -split '\.')[0] $ReportFileNameOverview = "ORCA-$($tenant)-$(Get-Date -Format 'yyyyMMddHHmm').csv" $ReportFileNameDetail = "ORCA-$($tenant)-$(Get-Date -Format 'yyyyMMddHHmm')-Detail.csv" $OverviewFile = "$OutputDir\$ReportFileNameOverview" $DetailFile = "$OutputDir\$ReportFileNameDetail" $ResultOverview | Select-Object Control,Area,Name,AssessmentLevel,Result,ObjectsFailed,ObjectsPassed,ObjectsInfo | Export-Csv $OverviewFile -NoTypeInformation $ResultDetail | Select-Object Control,Area,Name,ConfigObject,ConfigItem,ConfigData,ConfigReadonly,ConfigDisabled,ConfigPolicyGuid,Level | Export-Csv $DetailFile -NoTypeInformation $this.Completed = $True $this.Result = New-Object -TypeName PSObject -Property @{ Overview=$OverviewFile Detail=$DetailFile } } } # SIG # Begin signature block # MIImVwYJKoZIhvcNAQcCoIImSDCCJkQCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAlA1gv8Hiqs2QP # hYivRldenqpGOVMlJ7YhEBv8zailQqCCC6YwggULMIID86ADAgECAhMzAAAFwlgA # 087+f22BAAEAAAXCMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xIzAhBgNVBAMTGk1pY3Jvc29mdCBUZXN0aW5nIFBD # QSAyMDEwMB4XDTIzMDkyMTE4MTE0M1oXDTI0MDkxODE4MTE0M1owfDELMAkGA1UE # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdQ29kZSBTaWdu # IFRlc3QgKERPIE5PVCBUUlVTVCkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK # AoIBAQD5++3gGQURCZ5RFx3f6hxBcryv+l9JDcB/ue8Nf4lxtCZ3BYkCuFTxGzQs # lXh4SBgmfcoDr8X9mqmYlAhGlQn5WdhIlIjY7cyO+Jj9qH6ir7kKmqnxX5UMl2e8 # 1Xd78imtyJHeK3X/mReHaJItcbdObmRrJeq1cJm2qgiadjJK9aFPIGTd/2jgBIMc # G1LVd+lHU7fPU+wlvJshXoo7rj82PhSGoMqTN4s30oaUlIpKwhyn6eO7UIlD77Ez # NikN8J35LSlUGAWR7UW/qBrlVM9JURkIsAFfHUdZbsCu0wB3dHMBru+oDim+X/R9 # ko+B0F3Me40uod5i5D8m8HqIazstAgMBAAGjggGHMIIBgzAOBgNVHQ8BAf8EBAMC # B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFJfRokzB8QH6nZ8MnJQI # ahPRxmYhMEUGA1UdEQQ+MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xFjAUBgNVBAUTDTIzMDA3Mis1MDE1NjYwHwYDVR0jBBgwFoAUv2Wiq291 # o05FllcFzzmH9MAVHBwwXAYDVR0fBFUwUzBRoE+gTYZLaHR0cDovL3d3dy5taWNy # b3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGVzdGluZyUyMFBDQSUy # MDIwMTAoMSkuY3JsMGkGCCsGAQUFBwEBBF0wWzBZBggrBgEFBQcwAoZNaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUZXN0 # aW5nJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0B # AQsFAAOCAQEAMmCxC2x6fhzNJHnCk9zTlYQo0e/MzR5BHxJul6XfH7L2K+EOr+Wv # wiAvkkA47zgupON7XKs+NQFkTQAAw/tgzpZ95d2KyRUxbwfik44uLSqvgVNlSDSk # Ant8qiTj3+EhxYhcHQJwA4vz4Ow+rLIQOvPIHB0cOj1bJ/Z0olgCXfo/oORtXQe3 # 9M6dO7XvQ2i0SRvnfn95hodbpPWDmSvyHvZU5rHVLTBwyh9oTQ4v30P8eeAONxp6 # Sp6X7hLDy14Q0L4nfBeRFdf9M/DK6LjJ3bUWlYcqRpFwqMjAJQkW8RMtWuV8uSgD # PAR/tnqsaUFRAILpmfqPUwgXIVGT0/89iDCCBpMwggR7oAMCAQICEzMAAAAtNXpG # iMkHcdgAAAAAAC0wDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xOjA4BgNVBAMTMU1pY3Jvc29mdCBUZXN0aW5nIFJv # b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjAxMjEwMjA0MzIwWhcN # MzUwNjE3MjEwNDExWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv # bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQgVGVzdGluZyBQQ0EgMjAxMDCCASIwDQYJ # KoZIhvcNAQEBBQADggEPADCCAQoCggEBAL88YIGrvuz/1xdj8qZC0RNinLAXzrpG # GnsiLlVzmlS5xtTRypj+d0cNjp3wXsz4VO/yzyrUYvGpNAoE18UFhvIQ9U3Tlghm # hdsCfRjc4nojp5opXa55GM8MY/Aa/4GpqUM/qQu5UfGzSDr8RC5fEcVWOv/KDs2I # CMH9x9X1Pu/qThtyiyO9RTeeH3DBp8m4IHPt82w9iyEFz3cS/qHcB+kNW3gJbDJV # EEfQN8jH9/pz/kY05FYWqDdkU9Y1+8OAto62hpGhENbBSvbjetQRCrLeLp4Ql+CB # rhJdiAFdzKTEKFKcYPAK5oivS+lXiuyjDzceKfZdIdPX2l0OyU7bjW0CAwEAAaOC # AfowggH2MA4GA1UdDwEB/wQEAwIBhjASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsG # AQQBgjcVAgQWBBTqn18zttBfnq3rLabBArtAOMvntTAdBgNVHQ4EFgQUv2Wiq291 # o05FllcFzzmH9MAVHBwwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEW # M2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5 # Lmh0bTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/ # MB8GA1UdIwQYMBaAFKMBBH4wiDPruTGcyuuFdmf8ZbTRMFkGA1UdHwRSMFAwTqBM # oEqGSGh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01p # Y1Rlc1Jvb0NlckF1dF8yMDEwLTA2LTE3LmNybDCBjQYIKwYBBQUHAQEEgYAwfjBN # BggrBgEFBQcwAoZBaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9N # aWNUZXNSb29DZXJBdXRfMjAxMC0wNi0xNy5jcnQwLQYIKwYBBQUHMAGGIWh0dHA6 # Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDANBgkqhkiG9w0BAQsFAAOCAgEA # J7TQhbKezA+kKlNz1W3a1zEAyPb/Y8j2ARG1GJLa3LT5rybo/Ep5vcFnsIgDeWXP # NTUFWI7igwaW9bp+EllQm+Dw1T2dCfO7Rs2HvXTid9BGBnoiGmkrZCy5izmADOqC # JyKiMFciJNkhP6tpRrfDr8HGXrzZj5FWI5Op8iYuRHb0unIj0ZlvW0VkU+KVlPG2 # SEC/d/CxOJRzkAIsawEIlnrOUs6dlPORNJy3Wg6+cPyNvCf2dfuM1tTWqNaa1Qjq # q6LJ6DVH1X9ZL7MH1txWNpdT4gGKfLBsjuexms7V3QaBDgXAy3nX3D62vfjS3RBd # +jZBNIPvXW6JBWOysYVCfFqTIgpjeMo/SyhS70G3LRjCSWPRMBxYn5tqYGommnyh # dRss/ja7icxBIKcrDKP3/QFQUP6gnT0EBhFqd0AyGnn+LbPUE8fkZgyggQzExS4B # ZpoW7VGNCVoy5Cp+7KM/yyHA1JXv6eU4hQ+FYX2ZwHL2EB137rJZ8qfsroVswEpw # EDZziDun3NSRSMJA5HDPpP07KXwGo8x6KEgMF5Kzlq40Q1esCNGMzFR6xMkNIWeT # ZyF2y95a05Dj439zQbtZ2kjRGsknbkrQ2xVY1d016BDRJ2YroCSmEsJoc6GBzNZ4 # IqTeazXaiYiubpKehPCw84t5ef+13LSUGN/mYBwyaLIxghoHMIIaAwIBATCBkDB5 # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN # aWNyb3NvZnQgVGVzdGluZyBQQ0EgMjAxMAITMwAABcJYANPO/n9tgQABAAAFwjAN # BglghkgBZQMEAgEFAKCBsDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor # BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgZTgnwaVt # hEc/ydj/ZcbOs6k/VQh7rM4x+UBHdmuYmSMwRAYKKwYBBAGCNwIBDDE2MDSgFIAS # AE0AaQBjAHIAbwBzAG8AZgB0oRyAGmh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20g # MA0GCSqGSIb3DQEBAQUABIIBAECpong0LRxkqklbAwcktLrgBueaXY47EPySBTPc # KG8YQrI54lEoUSI35wInV3ImPPFbSp62S95Q3qMZXIRefv4FLbPwbVguoI+9g7g8 # HeH2q+c2Y5HjH2suZ+o2ArujjDeavg7CePJAYpZyJD+GogsZVp17r+OReLa0YvBV # C199SuUCO43ZBQIuLqLARxfkNeV65a6jzH3JaglF00yusm1RHEay+Qjk4x+ifJXA # 8FR/nt3dLzkieM5i1ncc/A8d7c8b++jhbRrmGsb35/d2rU8vM5D/PlzvNaRUlKaF # 8/0n1MXtTYqusuAZ3ZetFjkzCqOJsf+yGQSlmpUnXd9vbVmhgheUMIIXkAYKKwYB # BAGCNwMDATGCF4Awghd8BgkqhkiG9w0BBwKgghdtMIIXaQIBAzEPMA0GCWCGSAFl # AwQCAQUAMIIBUgYLKoZIhvcNAQkQAQSgggFBBIIBPTCCATkCAQEGCisGAQQBhFkK # AwEwMTANBglghkgBZQMEAgEFAAQgIZXCYhf7RNd9nwBeF91hG2xfD5C0eDIMHXUH # HV3HlvICBmVWx/kNIhgTMjAyMzEyMDcyMDA1NTguMzU3WjAEgAIB9KCB0aSBzjCB # yzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl # ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMc # TWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBU # U1MgRVNOOjg2MDMtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1T # dGFtcCBTZXJ2aWNloIIR6jCCByAwggUIoAMCAQICEzMAAAHXmw0eVy6MUY4AAQAA # AdcwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw # b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw # HhcNMjMwNTI1MTkxMjM3WhcNMjQwMjAxMTkxMjM3WjCByzELMAkGA1UEBhMCVVMx # EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT # FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJp # Y2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjg2MDMtMDVF # MC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIC # IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxKxgpDdl/1L7jQnH5dMlQTaP # iyCMsxuwNdF+ZFYBp6fbPJn+GmbLpGbua7y7OzamjRMXMJz7hyFnaepLMI2tWMPU # sU1/hNJXqvlgbnCESlnXDLpiAwYCxNBG/9/wWPeWbU9V7J52rQRWYa9Li5A4k/R4 # K0W9dtrJu/2JMjIoBZE9CbqIkj16Cy+8GlBPbXiPUDpKI6o0ZXCAuGFTWPtlCATO # UKKyjWjnc/7KPkyBeps8V+Z8tlP6P4jBVU378JuE/IP2KscMnvpTpmvSivfL+r8H # v4ou9kzE1VsClxXVzsrD/RoqHF7d/HLj/XPGhNXh96uBXRk4CjndKxvsYQoLERfB # qi0+5OfFaUJyfLvso0Vui6JreUXK6KYH/RB/HuH6A1KFMlOUO4j4MDicWIaCsUYx # mZbYQ5qeXsfulOs7/ea3fe9+uvKRqQpLtCAeNy/wU8zHAwFeP8bukX3FRcGqzf8i # auan2cjLKR+YHGkwlQKLl5EE3PC8LX8bYCM+d6jElUfXPYJEp8TOXNbR4IjF9w9h # gZ0Gp/ebcvgnU2AAIY4AU3Mo/T+zhhDIa95cmmcY694KbOmZqOO1TkyPLbEmB4R7 # Q/AaQaIN/S+XuP5QyYPzquKxrBSksTF7iEWdRNPHZl+u1zO6pr5tuzvNOAoRJm/g # jkfFm+OjBRBM+to7vsUCAwEAAaOCAUkwggFFMB0GA1UdDgQWBBSup8C7/VkC9zSM # RCcj7iTGejCNjTAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJlpxtTNRnpcjBfBgNV # HR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny # bC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcmwwbAYI # KwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5j # b20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAy # MDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI # MA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAUgXd1CfiLL3TAl/i # u8ah2uVAbVQtQml2bx0XfrLVtJVwP3UzZ3gltExawaCWOfW/X5206Lj0XmpLtpd1 # +W5obGqOgwkVbqnJoVTwGcklxnqFX4+dnCxosmSxMOk0M7ug/vr4zThpkomztChP # Rnb/IUBEceURtCoK05pPHJHgtVVKrnlEBylQhEqkw1Aw/HV0y1gppuh6pkF+v/oC # g0l4IMKXO+YYtgGykqOLbpTME31yXRncK7Ih45M/J8yFv2dz5zIBhVO+irs2BVdF # 8h/Q00vwzzvOkS7UIwOWZVRspkz3058O5MaIiyTf8pbjByJB0s6Wibwoql/g59UB # kRBJzSGXkXpLy6Lq6j0RCDk5tWyUSdOuXPWF+2ydJ2j4sc5ucvGNgfmCCBAIuI1K # 2jod6BO2uCbyFtxIN6Daj+6oaXe8TC8atlpzPlPW6lk3k+FQqKQIV7trhkHsXS6u # 21nXGMMhBQ4UuGfTdLsN4em4we0uDF/eqX2EhFdDChRjim5nwlEu1nppLhamctKD # Rzz8fnH3TWHkhem4Tjx3bK6NRFXd81iJHQ9RuZBAz5xELRWq7TPB/m7+c1IQFCbP # Ki87hQHQWUC7ng/V2Xsp40CsBHgM+t8QEyAofLTlDNszIEhIVS/B5uOUgen6HrOA # UwtGPEmVqL9yGobb8MhxW1KrNWIwggdxMIIFWaADAgECAhMzAAAAFcXna54Cm0mZ # AAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 # ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMyMjVa # MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS # ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT # HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG9w0BAQEF # AAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1 # V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9 # alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmv # Haus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5Tz9bshVZN7928 # jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDuaRr3t # pK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tnYN74kpEe # HT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26o # ElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5TI4C # vEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28MyTZki1ug # poMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9QBXps # xREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3PmriLq0C # AwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYE # FCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP05dJlpxtT # NRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNo # dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5o # dG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBD # AEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZW # y4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5t # aWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAt # MDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3 # dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0y # My5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pc # FLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulmZzpT # Td2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2RjebYIM9W0j # VOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3 # +SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/LAl4FOmR # sqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSw # ethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk2XPXfx5b # RAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmx # aQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGConsX # HRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0 # W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEGahC0 # HVUzWLOhcGbyoYIDTTCCAjUCAQEwgfmhgdGkgc4wgcsxCzAJBgNVBAYTAlVTMRMw # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNh # IE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo4NjAzLTA1RTAt # RDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEB # MAcGBSsOAwIaAxUAMVvbosxt4RGPPbi9rrvl/phv63WggYMwgYCkfjB8MQswCQYD # VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe # MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv # ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsFAAIFAOkcTIUwIhgP # MjAyMzEyMDcxMzUyMDVaGA8yMDIzMTIwODEzNTIwNVowdDA6BgorBgEEAYRZCgQB # MSwwKjAKAgUA6RxMhQIBADAHAgEAAgIiHDAHAgEAAgITRzAKAgUA6R2eBQIBADA2 # BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIB # AAIDAYagMA0GCSqGSIb3DQEBCwUAA4IBAQCITm7ti6AQyqhaqAqIX6VlWx5jDle6 # c/0SD/bKfL5pvAOo2DWQIaOBvnueol21W8XU9PUlt+MnB0T6uXiRYeBmXk39DZGc # 9tqaAueZP30azs0pK/glVC33zwGLtcsholgDiU4RQeTmQ0fYQ0BWfenyOLtBC6hd # LKmI+nCvEW+guNsgv2+B0yYj6aCSZvf3XMx7i/onfEiv6KnN+Wdfm2hLZ97s2w6t # sPzu/l/wW5WkoEQ3Apac/OmvV5Bmrdjm2UHjjDLTpbL43lBp7orIKiloVkFXw9e5 # lsLmSJq2sKiNZ6alFf9cMu53BoNRHPcTVwNdgrj704UsESYbWzwYedVVMYIEDTCC # BAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO # BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm # MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHXmw0e # Vy6MUY4AAQAAAdcwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsq # hkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQguRkYY28fbgEuYL0xn5RjrjOeAmwQ # yG48ImdKySzVNuIwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCCc3j5eS159 # T4qjY8fGDe0zdWSNHdWV/9s0XZyPe6yaOzCBmDCBgKR+MHwxCzAJBgNVBAYTAlVT # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l # LVN0YW1wIFBDQSAyMDEwAhMzAAAB15sNHlcujFGOAAEAAAHXMCIEIIXsPeEhaq9a # D0D9EJuk91XsGvcjUlPbcworWxNETIy1MA0GCSqGSIb3DQEBCwUABIICAAMa1+eZ # KMd0E8aVPl2pLomN411zQIwW3AFQagpkx+a2urKN5VhOnwf73EPR2CNAMoSziv+C # UKcxGHht4WGXTJ27LJD/3et1vwU8POJdLb93m1/hGL+YIHKg6KPRR2WaHoX91YhF # O9IMC0akQKDIRLjQqGb72Npkj3axO3VtUbuWUXAQYKZGnNeUIImFzSQbwYNuLqrN # hgbran5cO8dt4COuqqg4A5H/RiWlU+kRCWZ/ULyXrG/BhGxs7LuM6g3k1GKWwQwt # 5y41E36lVo2KRdA8OwgL+HlKeaKGiOBAGDvPM8xxzDoIxFtgdyGbS3DeJazB40Yq # ax1rVl+lEn8xPEi9vV1KFzYg6jgUVI35jAaj5DZPKMPzxMK2btjVRnaZlCWj1/SN # RGE2jyP71kawTDYHWY+9XCgymbIGDhXQPmfpbPjcwcWs+/GXiTl4It2+keOTOzpn # BBWPq2wbH00+hZUinBJZAw/Jn91OkChDXMUIItzbmjf2uBS5etysg6WGn7BsWIJt # yti8p9v0MLZtWc2u2V9Bg00jgIx0a+2EWev9H2VN6G8nEiEuVDwBGEuD9EuV2+P8 # nIscGnAv19FpgZFx6liXn7S4QZ4tcTT8/JzQqAXnIP54XHiCxywdNhF3BWvqcWqQ # 1iMw8h3LT0KwFjTmuIA+ij0+w5W00vCMMDEb # SIG # End signature block |