Devolutions.Ahtola.Sqlite.psm1
|
# Export Devolutions.Ahtola.Sqlite model types through module-qualified type accelerators. # CLR types live in Ahtola.PSSqlite (binary assembly Devolutions.Ahtola.PowerShell). $ExportableTypes = [ordered]@{ 'SqliteDBConfig' = 'Ahtola.PSSqlite.SQLiteDBConfig' 'SqliteDBSchema' = 'Ahtola.PSSqlite.SqliteDBSchema' 'SqliteView' = 'Ahtola.PSSqlite.SqliteView' 'SqliteCheckTableConstraint' = 'Ahtola.PSSqlite.SqliteCheckTableConstraint' 'SqlitePrimaryKeyTableConstraint' = 'Ahtola.PSSqlite.SqlitePrimaryKeyTableConstraint' 'SqliteForeignKeyTableConstraint' = 'Ahtola.PSSqlite.SqliteForeignKeyTableConstraint' 'SqliteIndexConstraint' = 'Ahtola.PSSqlite.SqliteIndexConstraint' 'SqliteTable' = 'Ahtola.PSSqlite.SqliteTable' 'SqliteColumn' = 'Ahtola.PSSqlite.SQLiteColumn' 'SQLiteConstraint' = 'Ahtola.PSSqlite.SQLiteConstraint' 'DBMigrationMode' = 'Ahtola.PSSqlite.DBMigrationMode' 'SqliteConstraintType' = 'Ahtola.PSSqlite.SqliteConstraintType' 'SqliteOrdering' = 'Ahtola.PSSqlite.SqliteOrdering' 'SqliteTableOption' = 'Ahtola.PSSqlite.SqliteTableOption' 'SqliteConnection' = 'Ahtola.Data.Sqlite.SqliteConnection' } function Get-CurrentModule { [OutputType([System.Management.Automation.PSModuleInfo])] param() $MyInvocation.MyCommand.ScriptBlock.Module } $typeAcceleratorsClass = [psobject].Assembly.GetType('System.Management.Automation.TypeAccelerators') $moduleName = (Get-CurrentModule).Name $existingTypeAccelerators = $typeAcceleratorsClass::Get foreach ($typeToExport in $ExportableTypes.Keys) { $fullTypeToExport = '{0}.{1}' -f $moduleName, $typeToExport $type = $null foreach ($assembly in [AppDomain]::CurrentDomain.GetAssemblies()) { $type = $assembly.GetType($ExportableTypes[$typeToExport], $false) if ($type) { break } } if (-not $type) { $message = "Unable to register type accelerator '$fullTypeToExport' for '$($ExportableTypes[$typeToExport])' - type not found." throw [System.Management.Automation.ErrorRecord]::new( [System.InvalidOperationException]::new($message), 'TypeAcceleratorTypeNotFound', [System.Management.Automation.ErrorCategory]::InvalidOperation, $fullTypeToExport) } if ($fullTypeToExport -in $existingTypeAccelerators.Keys) { Write-Warning "Overriding type accelerator '$fullTypeToExport' with '$($type.FullName)'." } else { Write-Verbose "Added type accelerator '$fullTypeToExport' for '$($type.FullName)'." } $null = $typeAcceleratorsClass::Add($fullTypeToExport, $type) } $MyInvocation.MyCommand.ScriptBlock.Module.OnRemove = { foreach ($typeName in $ExportableTypes.Keys) { $fullTypeToExport = '{0}.{1}' -f $moduleName, $typeName $null = $typeAcceleratorsClass::Remove($fullTypeToExport) } }.GetNewClosure() # SIG # Begin signature block # MII2bwYJKoZIhvcNAQcCoII2YDCCNlwCAQExDTALBglghkgBZQMEAgEwdwYKKwYB # BAGCNwIBBKBpMGcwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTSxil+ # 81ECAQACAQACAQACAQACAQAwLzALBglghkgBZQMEAgEEIF5mk8Y+5Tn4G6AQcMQR # JLMIJ7Runfrk+GdOV6/WOC6qoIIbTDCCBcwwggO0oAMCAQICEFSY0tHUWxmVSBN5 # yBHAh5kwDQYJKoZIhvcNAQEMBQAwdzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1p # Y3Jvc29mdCBDb3Jwb3JhdGlvbjFIMEYGA1UEAxM/TWljcm9zb2Z0IElkZW50aXR5 # IFZlcmlmaWNhdGlvbiBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDIwMB4X # DTIwMDQxNjE4MzYxNloXDTQ1MDQxNjE4NDQ0MFowdzELMAkGA1UEBhMCVVMxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjFIMEYGA1UEAxM/TWljcm9zb2Z0 # IElkZW50aXR5IFZlcmlmaWNhdGlvbiBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 # eSAyMDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAs5EqB4MGZ/2e # neDHwLek5kIEfw+m21/71VrXRaD7dwvwgPOmbVpNeVPYoIaEV0Ugx6JU+8eiv4rH # bjXzohXEL07jSoWWSQ3/vpnYFPa8JwfuQpsr9QuSBuT9aRNlqJFy8piE64M9DuTX # cRJIIcsN7fZHSbeb+cnHF7aET/+4rJrXc2dJheOGvTdA0CWG1N61wm1iatWpeLwt # b0n55WwUFP0Ux9NlFjfey268XimN/WKbFSzWBea5iTIzo2LH19ZSZwjELvRWK54L # h8zsp7SmqusFzRlXpToLBCcckWeeLWItLx6+2sAgywQZyjP7ib6Y4nKgcjW+eeGc # g2/kbRdvkPM9AIZ1OI7Q4Emau9vT+DDK1VeIaE1y079tf3HY/b0NrpJkSLdbb3km # tc2blSGE0e8PMj17V4zzRQdMfOBeGA41dottnss2dKsF+OBzXTJWlGeXJQrGNT2U # l+fBRIuA/cH49HQZ5TD2BvshVz4GHItrFYYnSXuCk8pZ6HVH6D849MdTeaC2tOJc # Ue+9XzjBE+Z4DJVaLsVAWSjMDyTA7LoJdyOZOKa2HNrHuiC21zfYfzevCOM7cdtu # cxt9mXKw5IYzWXS1FgB7UG3GhhPa/cQ5gj0kAJpg2rqUwAVRLDSsUJkTh7uzBYCy # TTACXLgmg120Y3PvriOVT2AovjfVW6UCAwEAAaNUMFIwDgYDVR0PAQH/BAQDAgGG # MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMh+0mqFKhvKGZgEByfPUBBPaKii # MBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBDAUAA4ICAQCvat3mGectlEMZ # TsvpUJVkpQORAoviNoA7FaJSwhYZtmpaXXRDMPSb/2B0CbEhHpAWbcUkj1xmiGP0 # T8x98hJMQBCLAZ/aqciu8pUbz50F60k+dKBoW+VWLGUcgn5T2lbZRhd5kkXEEDYI # UikXyy+m8n7UaSSKHo+wcw3MHEqrsqrtp5FjAWQiqDK4fjIos2dzLZG03DEBC/dH # Cqbx10rtVmDELAije0CwvHQnUofWvojdN4qJbmeIHfXJXaD+tqs6gNcalzwXNiJB # HqxN1YPmPDi9TzDpVKnTtgTDMnZhu7AYxSsYs8CA1beVsF5RTSL87Fiq6NiUtKUu # 7ZLe5xh8IVfdVWP3v23NH9Kmdyhwx+JbOlsI0ltOyACWs+GDNq+GCmVcdPbq7Hpq # dKDwS+7vlKOsUPKH7dc6MIPJ+31XvuXj+EHK5WSus6PsWOyFmszvuerzVhi5XHOa # r8V3F4NZ2zcaGHJUpUHStiN1o0Oa5Xd8lnm3QY2/7NyAoJ/Rd3VYXzUT4CUaZwt9 # ziX6BwrkYSHY1BzlB8Y2mfSW0MYV/k7N166LndsW/QTGkr3UiOapo6q792Q4O1/M # DNA1vnQZA6bFqkyiYTaCPh3zK7yXXdtLeDst9TvvYCPo9ewLIzaVr5hmv1PTe7hp # SiqWZmnElMb0X26smHiIgAZcorLtojCCBqowggSSoAMCAQICEzMABhiN69u51YX9 # Qd0AAAAGGI0wDQYJKoZIhvcNAQEMBQAwWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoT # FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZl # cmlmaWVkIENTIEVPQyBDQSAwNDAeFw0yNjA5MTMxOTI3MzJaFw0yNjA5MTYxOTI3 # MzJaMGwxCzAJBgNVBAYTAkNBMRUwEwYDVQQIHgwAUQB1AOkAYgBlAGMxEjAQBgNV # BAcTCUxhdmFsdHJpZTEYMBYGA1UEChMPRGV2b2x1dGlvbnMgSW5jMRgwFgYDVQQD # Ew9EZXZvbHV0aW9ucyBJbmMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB # gQCKfNDJjd/AHHKgxCsOS5ubL/K9BAizU2YWUzKw9xUFBza96vegKi7/BwMGRs+2 # 6DrKLXJI9OspBAflVNM740Fwix9KfnSq/c064ftD9au6ExZCszZ+0/5iu3+1Ndp0 # FAMQEiU/8mDeaJw7SEv2OrBKwJ757MAQJkvpxWgv5TR0UiyEu8itpoBtb96AnB2K # CLe5Z8H7fN2Nt2NRNbEgYLt+W8hOlOiGb9DTnj1cp37caJwrTScVXksnWAKJgnej # whbXIx6dfkahfd1Uk8L0HImPk+6Mpf5JGCDCBYiIMKGIkqVARzna4BHjURY/jy/R # rgcw2R7pPt0fupEGrHsI/pNh7ykILIYG3IxTJe3mpj5SKmX/5pyRyQD5xAO+zTZ/ # ibZwpU70HujoZEuUWZ+m/lZuV+V7X/Ch6EqMkwZEcVbGwLZZ6hl5ShgHMA9qtP7r # ss3uaUXI5AFXu+Y071bu6lkhQLU5SCmRTK87qj80Hq554CTrYEmND5248HD/XLIY # MykCAwEAAaOCAdUwggHRMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMDwG # A1UdJQQ1MDMGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhsrBgEEAYI3YYGIgLEFgoX5 # gFL4yJBqgdOiwFUwHQYDVR0OBBYEFAzDxjFqzNLjkSfMbxXMqScWzSSGMB8GA1Ud # IwQYMBaAFJrxVHd1DIcWN0agrN55+fR/wXjpMGcGA1UdHwRgMF4wXKBaoFiGVmh0 # dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMElE # JTIwVmVyaWZpZWQlMjBDUyUyMEVPQyUyMENBJTIwMDQuY3JsMHQGCCsGAQUFBwEB # BGgwZjBkBggrBgEFBQcwAoZYaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w # cy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBFT0MlMjBD # QSUyMDA0LmNydDBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0 # cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt # MA0GCSqGSIb3DQEBDAUAA4ICAQBwuECN7xGNlNGf6QIRIf7k6fWjwNZ6v0KCApzQ # HovF/aNtu0h38ajoiRq83lGjO9JVOWeA5qE9V4at/J04LWDk+VVdwb73+X9iYDG8 # OutleboizeVDG4TjA8mAWrNydU7/zdLD04upUNU++RP0YEBFSx+rk8GVEEIA8Jh6 # znMWNRNHfHb9EEmLowNmZwx3+I3DWkUumpN4pIFMbjRSQprEoZdwq6pYz0bR7tP+ # hmRJn2dVS5u6Dq+R0zZXFcMBOBANXLEEdMCez7JcFUrD0xrErHyFry2EgF9U+SNW # 7ZWGliXHXhBPlrbiI4hpn6OdMvyQFwmBT/2gFgoC4FzNC/yLCgu/raCv1Xgmm+cF # 833uKLKd211+vI5qWlBzbKb8eyFALmDUM6H5/HARQl2FJW9/stWTxDF/fuTtqF8r # mMuvIazZ1pzSHHRdsTx8Vab7uUm1dsYcI8YW+12lk4UCF+EfSubZ9dTM6KG+MpOp # L3j0Zlu7VudsjBeIswzxPxhKORjc/7FnH1LAEPaBeQVF93AW7mQ12+JpcLGQeSlX # C4yXQ0dzeRWgNy5T1KNtkg00rHj2gsOjvj8H5ojr+lDPepd+GXxDL/YjIUAdKm8y # RSy/lnpEvxp68HqsJMMHelNqNPFsh+D8OHdJRucET/kgBph6O39koBD8ga0jqh23 # KV0X4zCCBygwggUQoAMCAQICEzMAAAAXJ0UJC4uHr8YAAAAAABcwDQYJKoZIhvcN # AQEMBQAwYzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjE0MDIGA1UEAxMrTWljcm9zb2Z0IElEIFZlcmlmaWVkIENvZGUgU2lnbmlu # ZyBQQ0EgMjAyMTAeFw0yNjAzMjYxODExMzFaFw0zMTAzMjYxODExMzFaMFoxCzAJ # BgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNV # BAMTIk1pY3Jvc29mdCBJRCBWZXJpZmllZCBDUyBFT0MgQ0EgMDQwggIiMA0GCSqG # SIb3DQEBAQUAA4ICDwAwggIKAoICAQCCx2T+Aw9mKgGVzJ+Tq0PMn49G3itIsYpb # x7ClLSRHFe1RELdPcZ1sIqWOhsSfy6yyqEapClGH9Je9FXA1cQgZvvpQbkg+QInV # Lr/0EPrVBCwrM96lbRI2PxNeCwXG9LsyW2hG6KQgintDmNCBo4zpDIr377plVdSl # iZm6UB7rHwmvBnR02QT6tnrqWq2ihzB6lRJVTEzuh0OafzIMeMnYM0+x+ve5EOLH # dfiq+HXiMf9Jb7YLHtYgyHIiJA7bTWLqFSLGaTh7ZlbxbsLXA91OOroEpv7OjzFu # u3tkpC9FflA4Dp2Euq4+qPmxUqfGp+TX0gLRJp9NJOzzILjcTD3rkFFFbxUv1xyg # 6avivFDLtoKBhM2Td138umE1pNOacanuSYtPHIeQHmB6haFi64avLBLwTTAm/Rbi # t860cFXR72wq+5Qh4hSmezHqKXERWPpVBe+APrJ4Iqc+aPeMmIkoCWZQO22HnLNF # UFSXjiwyIbgvlH/LIAJEqTafTzxDZgKhlLU7zr6gwsq3WNpcYQI6NuxWnwh3VVDD # yF7onQqKs5Ll7bleVN0Y8VvqgE45ppyBbvwqN/Run5fMCCRz3aYMY0kZhKO92eP7 # t4zHqZ5bQMAgZ0tE2Pz/jb0wiykUF/PcoOqqk3vVLiRDYst6vd3GEMNzMpUUvQcv # BG46+COIbwIDAQABo4IB3DCCAdgwDgYDVR0PAQH/BAQDAgGGMBAGCSsGAQQBgjcV # AQQDAgEAMB0GA1UdDgQWBBSa8VR3dQyHFjdGoKzeefn0f8F46TBUBgNVHSAETTBL # MEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBkGCSsGAQQBgjcUAgQMHgoAUwB1 # AGIAQwBBMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAU2UEpsA8PY2zv # adf1zSmepEhqMOYwcAYDVR0fBGkwZzBloGOgYYZfaHR0cDovL3d3dy5taWNyb3Nv # ZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENv # ZGUlMjBTaWduaW5nJTIwUENBJTIwMjAyMS5jcmwwfQYIKwYBBQUHAQEEcTBvMG0G # CCsGAQUFBzAChmFodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRz # L01pY3Jvc29mdCUyMElEJTIwVmVyaWZpZWQlMjBDb2RlJTIwU2lnbmluZyUyMFBD # QSUyMDIwMjEuY3J0MA0GCSqGSIb3DQEBDAUAA4ICAQCQdVoZ/U0m38l2iKaZFlsx # avptpoOLyaR1a9ZK2TSF1kOnFJhMDse6KkCgsveoiEjXTVc6Xt86IKHn76Nk5qZB # 0BXv2iMRQ2giAJmYvZcmstoZqfB2M3Kd5wnJhUJOtF/b6HsqSelY6nhrF06zor1l # DmDQixBZcLB9zR1+RKQso1jekNxYuUk+HaN3k1S57qk0O//YbkwU0mELCW04N5vI # CMZx5T5c7Nq/7uLvbVhCdD7f2bZpA4U7vOkB1ooB4AaER3pjoJ0Mad5LFyi6Na9p # 9Zu/hrLeOjU5FItS5YxsqvlfXxAThJ176CmkYstKRmytSHZ7JhKRfV6e9Zftk/OD # b/CK4pGVAVqsOf4337bQGrOHHCQ3IvN9gmnUuDh8JdvbheoWPHxIN1GB5sUiY584 # tXN7xdD8LCSsRqJvQ8e7a3gZWTgViugRs1QWq+N0G9Nje6JHlN1CjJehge+H5PGk # tJja+juGEr0P+ukSkcL6qaZxFQTh3SDI71lvW++3bl/Ezd6SO8N9Udw+reoyvRHC # yTiSsplZQSBTVJdPmo3qCpGuyHFtPo5CBn3/FPTiqJd3M9BHoqKd0G9Kmg6fGcAv # FwnLNXA2kov727wRljL3ypfqL7iAT/Ynpxul6RwHRlcOf9dDGg1RRvr92NP/CWVX # Ib68geR2rvU/NsfmtjF1wDCCB54wggWGoAMCAQICEzMAAAAHh6M0o3uljhwAAAAA # AAcwDQYJKoZIhvcNAQEMBQAwdzELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jv # c29mdCBDb3Jwb3JhdGlvbjFIMEYGA1UEAxM/TWljcm9zb2Z0IElkZW50aXR5IFZl # cmlmaWNhdGlvbiBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDIwMB4XDTIx # MDQwMTIwMDUyMFoXDTM2MDQwMTIwMTUyMFowYzELMAkGA1UEBhMCVVMxHjAcBgNV # BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjE0MDIGA1UEAxMrTWljcm9zb2Z0IElE # IFZlcmlmaWVkIENvZGUgU2lnbmluZyBQQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEB # BQADggIPADCCAgoCggIBALLwwK8ZiCji3VR6TElsaQhVCbRS/3pK+MHrJSj3Zxd3 # KU3rlfL3qrZilYKJNqztA9OQacr1AwoNcHbKBLbsQAhBnIB34zxf52bDpIO3NJlf # IaTE/xrweLoQ71lzCHkD7A4As1Bs076Iu+mA6cQzsYYH/Cbl1icwQ6C65rU4V9NQ # hNUwgrx9rGQ//h890Q8JdjLLw0nV+ayQ2Fbkd242o9kH82RZsH3HEyqjAB5a8+Ae # 2nPIPc8sZU6ZE7iRrRZywRmrKDp5+TcmJX9MRff241UaOBs4NmHOyke8oU1TYrkx # h+YeHgfWo5tTgkoSMoayqoDpHOLJs+qG8Tvh8SnifW2Jj3+ii11TS8/FGngEaNAW # rbyfNrC69oKpRQXY9bGH6jn9NEJv9weFxhTwyvx9OJLXmRGbAUXN1U9nf4lXezky # 6Uh/cgjkVd6CGUAf0K+Jw+GE/5VpIVbcNr9rNE50Sbmy/4RTCEGvOq3GhjITbCa4 # crCzTTHgYYjHs1NbOc6brH+eKpWLtr+bGecy9CrwQyx7S/BfYJ+ozst7+yZtG2wR # 461uckFu0t+gCwLdN0A6cFtSRtR8bvxVFyWwTtgMMFRuBa3vmUOTnfKLsLefRaQc # VTgRnzeLzdpt32cdYKp+dhr2ogc+qM6K4CBI5/j4VFyC4QFeUP2YAidLtvpXRRo3 # AgMBAAGjggI1MIICMTAOBgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAw # HQYDVR0OBBYEFNlBKbAPD2Ns72nX9c0pnqRIajDmMFQGA1UdIARNMEswSQYEVR0g # ADBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz # L0RvY3MvUmVwb3NpdG9yeS5odG0wGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEw # DwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSobyhmYBAcnz1AQT2io # ojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br # aW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24lMjBS # b290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNybDCBwwYIKwYB # BQUHAQEEgbYwgbMwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3Lm1pY3Jvc29mdC5j # b20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVyaWZpY2F0 # aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAyMC5jcnQw # LQYIKwYBBQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDAN # BgkqhkiG9w0BAQwFAAOCAgEAfyUqnv7Uq+rdZgrbVyNMul5skONbhls5fccPlmIb # zi+OwVdPQ4H55v7VOInnmezQEeW4LqK0wja+fBznANbXLB0KrdMCbHQpbLvG6UA/ # Xv2pfpVIE1CRFfNF4XKO8XYEa3oW8oVH+KZHgIQRIwAbyFKQ9iyj4aOWeAzwk+f9 # E5StNp5T8FG7/VEURIVWArbAzPt9ThVN3w1fAZkF7+YU9kbq1bCR2YD+MtunSQ1R # ft6XG7b4e0ejRA7mB2IoX5hNh3UEauY0byxNRG+fT2MCEhQl9g2i2fs6VOG19CNe # p7SquKaBjhWmirYyANb0RJSLWjinMLXNOAga10n8i9jqeprzSMU5ODmrMCJE12xS # /NWShg/tuLjAsKP6SzYZ+1Ry358ZTFcx0FS/mx2vSoU8s8HRvy+rnXqyUJ9HBqS0 # DErVLjQwK8VtsBdekBmdTbQVoCgPCqr+PDPB3xajYnzevs7eidBsM71PINK2BoE2 # UfMwxCCX3mccFgx6UsQeRSdVVVNSyALQe6PT12418xon2iDGE81OGCreLzDcMAZn # rUAx4XQLUz6ZTl65yPUiOh3k7Yww94lDf+8oG2oZmDh5O1Qe38E+M3vhKwmzIeoB # 1dVLlz4i3IpaDcR+iuGjH2TdaC1ZOmBXiCRKJLj4DT2uhJ04ji+tHD6n58vhavFI # rmcxghp9MIIaeQIBATBxMFoxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJRCBWZXJpZmllZCBD # UyBFT0MgQ0EgMDQCEzMABhiN69u51YX9Qd0AAAAGGI0wCwYJYIZIAWUDBAIBoEww # GQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEIHipkEYV # G/YIIh/pbT69OPXXUgx5BKZkCwoRnd23xr0RMA0GCSqGSIb3DQEBCwUABIIBgCAJ # qf/h853r+t8K+0J4qhGqwHOUesodKEy6jEUxn8YbsYMMcVtGUCXeR2zQRza6k9Fu # UFvXhdZQ3JFz+c5oVEoHjbQejXcuu7eKF9UQxrTSUsIiTe1N4PwZsuBcUNMRKzdY # cGqVzbfLDoIpIY6WAJvH9rUSUXuqowXRYNxiwN8ebcNpn37+nDWnNirrp0NlQC2d # A6vnkWR+fF8kCwsoq1JXK/FvXqaQR6BWk1RRBmkOUp/GxUqfr8J80QwfuLzBo0Ej # 01sQVG+enLbra11FHq4G5Oe9vVpHonlYOzjY/SR1QKfakmJrgGNTg+RcxuKlIe3j # F5pHAAU/Uq8w1RZ3OvrgpI2ynKwZESK5Pe85ksotspjKsMRwU+dOFaqjlSh6QWOB # uCO3x2V8IhGbCypqTgiCMdJ0eA9Vol4GGFnCDJi6kxlredvs99O2OkGQvo7y5ztT # 6OXsCS6b+ONlw1WSShsGH6OvBePaNAxhoME1FFVCndGjrnIUGYReCJpzvdl+6qGC # GBEwghgNBgorBgEEAYI3AwMBMYIX/TCCF/kGCSqGSIb3DQEHAqCCF+owghfmAgED # MQ8wDQYJYIZIAWUDBAIBBQAwggFiBgsqhkiG9w0BCRABBKCCAVEEggFNMIIBSQIB # AQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCAyw1oalmYaOKcqVvHShjH/ # tlaxFBKoSQQh0T8wTgthkwIGaqQSN0iEGBMyMDI2MDkxNTEzNTQxOC43NzlaMASA # AgH0oIHhpIHeMIHbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u # MSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQL # Ex5uU2hpZWxkIFRTUyBFU046NzgwMC0wNUUwLUQ5NDcxNTAzBgNVBAMTLE1pY3Jv # c29mdCBQdWJsaWMgUlNBIFRpbWUgU3RhbXBpbmcgQXV0aG9yaXR5oIIPITCCB4Iw # ggVqoAMCAQICEzMAAAAF5c8P/2YuyYcAAAAAAAUwDQYJKoZIhvcNAQEMBQAwdzEL # MAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjFIMEYG # A1UEAxM/TWljcm9zb2Z0IElkZW50aXR5IFZlcmlmaWNhdGlvbiBSb290IENlcnRp # ZmljYXRlIEF1dGhvcml0eSAyMDIwMB4XDTIwMTExOTIwMzIzMVoXDTM1MTExOTIw # NDIzMVowYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5n # IENBIDIwMjAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCefOdSY/3g # xZ8FfWO1BiKjHB7X55cz0RMFvWVGR3eRwV1wb3+yq0OXDEqhUhxqoNv6iYWKjkMc # LhEFxvJAeNcLAyT+XdM5i2CgGPGcb95WJLiw7HzLiBKrxmDj1EQB/mG5eEiRBEp7 # dDGzxKCnTYocDOcRr9KxqHydajmEkzXHOeRGwU+7qt8Md5l4bVZrXAhK+WSk5Cih # NQsWbzT1nRliVDwunuLkX1hyIWXIArCfrKM3+RHh+Sq5RZ8aYyik2r8HxT+l2hmR # llBvE2Wok6IEaAJanHr24qoqFM9WLeBUSudz+qL51HwDYyIDPSQ3SeHtKog0ZubD # k4hELQSxnfVYXdTGncaBnB60QrEuazvcob9n4yR65pUNBCF5qeA4QwYnilBkfnme # AjRN3LVuLr0g0FXkqfYdUmj1fFFhH8k8YBozrEaXnsSL3kdTD01X+4LfIWOuFzTz # uoslBrBILfHNj8RfOxPgjuwNvE6YzauXi4orp4Sm6tF245DaFOSYbWFK5ZgG6cUY # 2/bUq3g3bQAqZt65KcaewEJ3ZyNEobv35Nf6xN6FrA6jF9447+NHvCjeWLCQZ3M8 # lgeCcnnhTFtyQX3XgCoc6IRXvFOcPVrr3D9RPHCMS6Ckg8wggTrtIVnY8yjbvGOU # sAdZbeXUIQAWMs0d3cRDv09SvwVRd61evQIDAQABo4ICGzCCAhcwDgYDVR0PAQH/ # BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRraSg6NS9IY0DPe9iv # Sek+2T3bITBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMG # A1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8G # A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIw # gYQGA1UdHwR9MHsweaB3oHWGc2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv # cHMvY3JsL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9v # dCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAyMC5jcmwwgZQGCCsGAQUF # BwEBBIGHMIGEMIGBBggrBgEFBQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlv # biUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MA0G # CSqGSIb3DQEBDAUAA4ICAQBfiHbHfm21WhV150x4aPpO4dhEmSUVpbixNDmv6Tvu # IHv1xIs174bNGO/ilWMm+Jx5boAXrJxagRhHQtiFprSjMktTliL4sKZyt2i+SXnc # M23gRezzsoOiBhv14YSd1Klnlkzvgs29XNjT+c8hIfPRe9rvVCMPiH7zPZcw5nNj # thDQ+zD563I1nUJ6y59TbXWsuyUsqw7wXZoGzZwijWT5oc6GvD3HDokJY401uhnj # 3ubBhbkR83RbfMvmzdp3he2bvIUztSOuFzRqrLfEvsPkVHYnvH1wtYyrt5vShiKh # eGpXa2AWpsod4OJyT4/y0dggWi8g/tgbhmQlZqDUf3UqUQsZaLdIu/XSjgoZqDja # mzCPJtOLi2hBwL+KsCh0Nbwc21f5xvPSwym0Ukr4o5sCcMUcSy6TEP7uMV8RX0eH # /4JLEpGyae6Ki8JYg5v4fsNGif1OXHJ2IWG+7zyjTDfkmQ1snFOTgyEX8qBpefQb # F0fx6URrYiarjmBprwP6ZObwtZXJ23jK3Fg/9uqM3j0P01nzVygTppBabzxPAh/h # Hhhls6kwo3QLJ6No803jUsZcd4JQxiYHHc+Q/wAMcPUnYKv/q2O444LO1+n6j01z # 5mggCSlRwD9faBIySAcA9S8h22hIAcRQqIGEjolCK9F6nK9ZyX4lhthsGHumaABd # WzCCB5cwggV/oAMCAQICEzMAAABXJNOV4KLpyTEAAAAAAFcwDQYJKoZIhvcNAQEM # BQAwYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv # bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENB # IDIwMjAwHhcNMjUxMDIzMjA0NjUzWhcNMjYxMDIyMjA0NjUzWjCB2zELMAkGA1UE # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0 # IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjc4 # MDAtMDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # IFN0YW1waW5nIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC # ggIBALFspQqTCH24syS2NZD1ztnJl9h0Vr0WwJnikmeXse/4wspnVexGqfiHNoqk # bVg5CinuYC+iVfNMLZ+QtqhySz8VGBSjRt1JB5ACNtTKAjfmFp4U/Cv2Lj4m+vuv # e9I3W3hSiImTFsHeYZ6V/Sd43rXrhHV26fw3xQSteSbg9yTs1rhdrLkAj4KmI0D5 # P4KavtygirVyUW10gkifWLSE1NiB8Jn3RO5dj32deeMNONaaPnw3k49ICTs3Ffyb # +ekNDPsNfYwCqPyOTxM6y1dSD0J5j+KK9V+EWyV5PDjV8jjn1zsStlS6TcYJJStc # gHs2xT9rs6ooWl5FtYfRkCxhDShEp3s8IHUWizTWmLZvAE/6WR2Cd+ZmVapGXTCH # JKUByZPxdX0i8gynirR+EwuHHNxEilDICLatO2WZu+CQrH4Zq0NYo1TQ4tUpZ/kA # WpoAu1r4mW5EJ3HkEavQ2PuoQDcDq2rAGVIla9pD7o9Yxwzl81BuDvUEyu9D/6F0 # qmQDdaE791HxfCUxpgMYPpdWTzs+dDGPehwQ8P92yP8ARjby5Ony1Z68RjeQebpx # f5WL441myFHcgT1UJzzil7tPEkR22NfTNR6Fl+jzWb/r80nqlXllhynSowtxo1Y2 # 2xqYviS24smikUsBKqOPbSS77uvXEO3VrG5LGouE1EZ1Y9pjAgMBAAGjggHLMIIB # xzAdBgNVHQ4EFgQUjoPJXi01DgIJSGfm416Yg+0SkqcwHwYDVR0jBBgwFoAUa2ko # OjUvSGNAz3vYr0npPtk92yEwbAYDVR0fBGUwYzBhoF+gXYZbaHR0cDovL3d3dy5t # aWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwUHVibGljJTIwUlNB # JTIwVGltZXN0YW1waW5nJTIwQ0ElMjAyMDIwLmNybDB5BggrBgEFBQcBAQRtMGsw # aQYIKwYBBQUHMAKGXWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2Vy # dHMvTWljcm9zb2Z0JTIwUHVibGljJTIwUlNBJTIwVGltZXN0YW1waW5nJTIwQ0El # MjAyMDIwLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI # MA4GA1UdDwEB/wQEAwIHgDBmBgNVHSAEXzBdMFEGDCsGAQQBgjdMg30BATBBMD8G # CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv # UmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQCMA0GCSqGSIb3DQEBDAUAA4ICAQBydcB2 # POmZOUlAQz2NuXf7vWCVWmjWu9bsY1+HMjv1yeLjxDQkjsJEU5zaIDy8Uw9BYN8+ # ExX/9k/9CBUsXbVlbU44c65/liyJ83kWsFIUwhVazwSShFlbIZviIO/5weyWyTfP # PpbSJgWy+ZE9UrQS3xulJLAHA2zUkMMPdAlF4RrngcZZ0r45AF9aIYjdestWwdrN # K70MfArHqZdgrgXn03w6zBs1v7czceWGitg/DlsHqk1mXBpSTuGI2TSPN3E60IIX # x5f/AFzh4/HFi98BBZbUELNsXkWAG9ynZ5e6CFiil1mgWCWOT90D7Igvg0zKe3o3 # WCk629/en94K/sC/zLOf2d7yFmTySb9fKjcONH1Db3kZ8MzEJ8fHTNmxrl10Gecu # z/Gl0+ByTKN+PambZ+F0MIlBPww6fvjFC9JII73fw3qO169+9TxTz2G+E26GYY1d # cffsAhw6DqTQgbflbl1O/MrSXSs0NSb9nBD9RfR/f8Ei7DA1L1jBO7vZhhJTjw2T # zFa/ALgRLi3W00hHWi8LGQaZc8SwXIMYWfwrN9MgYbhN0Iak9WA2dqWuekXsTwNk # mrD3E6E+oCYCehNOgZmds0Ezb1jo7OV0Kh22Ll3KHg3MHtlGguxAzhg/BpixPS4q # rULLkAjO7+yNsUfrD2U9gMf/OR4yJDPtzM0ytTGCB0Mwggc/AgEBMHgwYTELMAkG # A1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UE # AxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENBIDIwMjACEzMA # AABXJNOV4KLpyTEAAAAAAFcwDQYJYIZIAWUDBAIBBQCgggScMBEGCyqGSIb3DQEJ # EAIPMQIFADAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF # MQ8XDTI2MDkxNTEzNTQxOFowLwYJKoZIhvcNAQkEMSIEIAE7I9g5k07s3mlOK/lY # x3GlYaCQSqPPD81zimMkNCRkMIG5BgsqhkiG9w0BCRACLzGBqTCBpjCBozCBoAQg # 9TyfZLUFbkxliGyizuH9VVDpVFNvQEQhKQ2ZhUx421IwfDBlpGMwYTELMAkGA1UE # BhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMp # TWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENBIDIwMjACEzMAAABX # JNOV4KLpyTEAAAAAAFcwggNeBgsqhkiG9w0BCRACEjGCA00wggNJoYIDRTCCA0Ew # ggIpAgEBMIIBCaGB4aSB3jCB2zELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw # b3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEn # MCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjc4MDAtMDVFMC1EOTQ3MTUwMwYDVQQD # EyxNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lIFN0YW1waW5nIEF1dGhvcml0eaIj # CgEBMAcGBSsOAwIaAxUA/S8xOZxCUQFBNkrN8Wiij1x5y8OgZzBlpGMwYTELMAkG # A1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UE # AxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENBIDIwMjAwDQYJ # KoZIhvcNAQELBQACBQDuUy32MCIYDzIwMjYwOTE1MDIzNzQyWhgPMjAyNjA5MTYw # MjM3NDJaMHQwOgYKKwYBBAGEWQoEATEsMCowCgIFAO5TLfYCAQAwBwIBAAICC3Uw # BwIBAAICEjMwCgIFAO5Uf3YCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGE # WQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQsFAAOCAQEA # Dq1DuyrAGvW5JUzhykPa/xt1O/dQqDYxTFUjZK4Lfgkc8R8OLrlSDF6AgCuTWJOr # 4ZYJ1kqDah/r6qP8xb6rKa7tenbmAeEOi88NOCOtQgPozUr0Ag6UgPq+IHi9rW39 # 9qG1wy01T1GYc5husPsBFICqUngbirGAmtsaUM31PNW+AW4NXB0+2wrhOxFVU/Tv # /WxLEFdEJ83FVLL6PRDybfSrPQplIsqIKTbqIKrnJ7IuxXxMMMd/rVGTEPhWNYVU # DNDvoxzSHgTgLzFL6vv7x9uR2s8C6XQNTrvzD9Zxk82Ss30RZAU+8sIU1OS/wz8l # TaX5ru8TPuPTiuQm3KDDmzANBgkqhkiG9w0BAQEFAASCAgAcPRPfAY31G2HcXC8q # pmHKwpCYFE1wDkXW9bkkhEY5ZcuAENvplTGVaaAawW3ExaBZ0xRHwtGgaUJVIzXr # sU/0RDQzQGgZny7BoZqv83wVrs3NSeN0j6sza20S9xdCMCwRkWHa1WIs/hZ7wq+N # 76rlhHB+wFXM4Ldbf/RMTzCvgj0jyIdH0nuNB8SGNoQARktbcgpIS/MQxpNPXXG+ # F1x9vrnM4m3A/L0xvKXYoQ4G0swzezsGozVHCc9joOu+DN55rim3IH9kh3Hxw2nI # TFjGB7xNNOwxiUiYC9VSvAeeIYZXr1/+J9jkFOBeKHKreS1QnmAF14XW/wQ4WYuJ # YqV4l88xMdTGDX6GHoBBwItfmy1a6KDC14XkVA38E5ilE2R1ceKJXTeDUjvW53az # +opfJo+Xak7wD4ZaxY1JIi92hm8r8AJDsnkiNvztvvoeLh8+HgUsIY4sqdfbBcV3 # QEM+HsIdX8ckYnzaByVYKMQQb6aTp+y0opmUZW6qJgMdNCHN0LEnNfXI6omJYbYt # 1/LvLMHEuGzMLVINMiIWuOxA1W4e7R5Jn+g+s/UToVGIN2g/TDaLjxWIaUdogrtz # +rcFuoIfZlEPiGer3L9bDEv3YwE9/Kf+f/1lonLHgQ5Q/Tuzz2RYayW/r+v3K1fA # Ld8IiJizE7CU1Yjw+Q03pMs2Lw== # SIG # End signature block |