xml/dbatools.Types.ps1xml
|
<?xml version="1.0" encoding="utf-8" ?>
<Types> <!--Microsoft.SqlServer.Management.Smo.Database --> <Type> <Name>Microsoft.SqlServer.Management.Smo.Database</Name> <Members> <ScriptMethod> <Name>Query</Name> <Script> param ( $Query, $AllTables = $false ) # ExecuteWithResults does not run on a private connection: the execution manager of a database is the # connection context of the parent server, which belongs to the caller. It issues a USE and never switches # back, so the previous database is put back here. See #10555. $connectionContext = $this.Parent.ConnectionContext $previousDatabase = $connectionContext.CurrentDatabase try { if ($AllTables) { ($this.ExecuteWithResults($Query)).Tables } else { ($this.ExecuteWithResults($Query)).Tables[0] } } finally { # The comparison is case sensitive on purpose. Database names use the collation of the instance, so # on a case sensitive instance AppDb and appdb are two different databases, and -ne would report # them as equal and skip the restore. It cannot restore needlessly: both sides are read from the # same property, so the same database always spells itself the same way. if ($previousDatabase -and $connectionContext.CurrentDatabase -cne $previousDatabase) { $escapedDatabase = $previousDatabase.Replace("]", "]]") try { $null = $connectionContext.ExecuteNonQuery("USE [$escapedDatabase]") } catch { # Putting the database back is housekeeping and must never become the outcome of the call. # A query that makes the previous database unreachable - taking it offline, dropping it, # renaming it, revoking access - would otherwise throw here although it succeeded, and the # caller would read that as "it did not run" and might do it a second time. A query that # failed would have its own error replaced by this one, which is just as misleading. # Write-Warning obeys the caller's $WarningPreference, and Stop turns it into a terminating # error - which would hand the outcome of the call back to the housekeeping, the very thing # this catch exists to prevent. Inquire stops just as dead where nobody can answer it. Only # those two are neutralised, and only for this one call: a caller that asked for silence # still gets silence, which passing -WarningAction Continue would have taken away. if ($WarningPreference -notin "SilentlyContinue", "Continue") { $WarningPreference = "Continue" } Write-Warning "The database context could not be restored to [$previousDatabase]: $($_.Exception.Message)" } } } </Script> </ScriptMethod> <ScriptMethod> <Name>Invoke</Name> <Script> param ( $Command ) # See the comment on Query above: this leaves the connection of the caller in this database, so the # previous database is put back afterwards. See #10555. $connectionContext = $this.Parent.ConnectionContext $previousDatabase = $connectionContext.CurrentDatabase try { $this.ExecuteNonQuery($Command) } finally { # See the comment on Query above for why this is case sensitive and why a failing restore only warns. if ($previousDatabase -and $connectionContext.CurrentDatabase -cne $previousDatabase) { $escapedDatabase = $previousDatabase.Replace("]", "]]") try { $null = $connectionContext.ExecuteNonQuery("USE [$escapedDatabase]") } catch { # See the comment on Query above for why the warning preference is neutralised first. if ($WarningPreference -notin "SilentlyContinue", "Continue") { $WarningPreference = "Continue" } Write-Warning "The database context could not be restored to [$previousDatabase]: $($_.Exception.Message)" } } } </Script> </ScriptMethod> </Members> </Type> <!--Microsoft.SqlServer.Management.Smo.Server --> <Type> <Name>Microsoft.SqlServer.Management.Smo.Server</Name> <Members> <ScriptMethod> <Name>Query</Name> <Script> param ( [string]$Query, [string]$Database, [bool]$AllTables ) try { if ($Database) { # Going through the database object leaves the connection of the caller in that database, so the # previous database is put back afterwards. This does not go through Database.Query, so it needs the # same treatment of its own. See #10555. $connectionContext = $this.ConnectionContext $previousDatabase = $connectionContext.CurrentDatabase try { $dataSet = $this.Databases[$Database].ExecuteWithResults($Query) } finally { # See the comment on Database.Query for why this is case sensitive and why a failing restore only warns. if ($previousDatabase -and $connectionContext.CurrentDatabase -cne $previousDatabase) { $escapedDatabase = $previousDatabase.Replace("]", "]]") try { $null = $connectionContext.ExecuteNonQuery("USE [$escapedDatabase]") } catch { # See the comment on Database.Query for why the warning preference is neutralised first. if ($WarningPreference -notin "SilentlyContinue", "Continue") { $WarningPreference = "Continue" } Write-Warning "The database context could not be restored to [$previousDatabase]: $($_.Exception.Message)" } } } } else { $dataSet = $this.ConnectionContext.ExecuteWithResults($Query) } if ($AllTables) { $dataSet.Tables } else { $dataSet.Tables[0] } } catch { $message = '' $innerException = $_.Exception.InnerException while ($innerException.InnerException) { $message += $innerException.Message $innerException = $innerException.InnerException } $message += $innerException.Message throw $message } </Script> </ScriptMethod> <ScriptMethod> <Name>Invoke</Name> <Script> param ( [string]$Command, [string]$Database ) try { if ($Database) { # See the comment on Query above: this does not go through Database.Invoke either, so the previous # database is put back here as well. See #10555. $connectionContext = $this.ConnectionContext $previousDatabase = $connectionContext.CurrentDatabase try { $this.Databases[$Database].ExecuteNonQuery($Command) } finally { # See the comment on Database.Query for why this is case sensitive and why a failing restore only warns. if ($previousDatabase -and $connectionContext.CurrentDatabase -cne $previousDatabase) { $escapedDatabase = $previousDatabase.Replace("]", "]]") try { $null = $connectionContext.ExecuteNonQuery("USE [$escapedDatabase]") } catch { # See the comment on Database.Query for why the warning preference is neutralised first. if ($WarningPreference -notin "SilentlyContinue", "Continue") { $WarningPreference = "Continue" } Write-Warning "The database context could not be restored to [$previousDatabase]: $($_.Exception.Message)" } } } } else { $this.ConnectionContext.ExecuteNonQuery($Command) } } catch { $message = '' $innerException = $_.Exception.InnerException while ($innerException.InnerException) { $message += $innerException.Message $innerException = $innerException.InnerException } $message += $innerException.Message throw $message } </Script> </ScriptMethod> </Members> </Type> <Type> <Name>Dataplat.Dbatools.dbaSystem.DbatoolsException</Name> <Members> <MemberSet> <Name>PSStandardMembers</Name> <Members> <NoteProperty> <Name>SerializationDepth</Name> <Value>2</Value> </NoteProperty> </Members> </MemberSet> </Members> </Type> <Type> <Name>Dataplat.Dbatools.dbaSystem.DbatoolsExceptionRecord</Name> <Members> <MemberSet> <Name>PSStandardMembers</Name> <Members> <NoteProperty> <Name>SerializationDepth</Name> <Value>2</Value> </NoteProperty> </Members> </MemberSet> </Members> </Type> </Types> <!-- SIG # Begin signature block --> <!-- MIItYwYJKoZIhvcNAQcCoIItVDCCLVACAQMxDTALBglghkgBZQMEAgEwewYKKwYB --> <!-- BAGCNwIBBKBtBGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG --> <!-- KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDhZCIp048T2b7k --> <!-- p6QPlQcdfYVGqZekWLYbcbV/cUTbYaCCFWUwggaTMIIEe6ADAgECAhMzAAYzD5v/ --> <!-- iZ2s6Qv8AAAABjMPMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD --> <!-- VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ --> <!-- RCBWZXJpZmllZCBDUyBFT0MgQ0EgMDQwHhcNMjYwOTE1MDYwMTAxWhcNMjYwOTE4 --> <!-- MDYwMTAxWjBXMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWExDzANBgNV --> <!-- BAcTBlZpZW5uYTERMA8GA1UEChMIZGJhdG9vbHMxETAPBgNVBAMTCGRiYXRvb2xz --> <!-- MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAr4aaea8sBCP7oYtzyv8j --> <!-- cWzjovepD6cmgtaO9w8wclwoZYmbHY/zOPv50TADUFktRjg+gbITeAKXa0wbJ73W --> <!-- Lbb0uThTyEBgqyMOXZVtozRzJfgDbsIV2sb3WOEQEeP1igEPfOaAR1PwmqpZiyN0 --> <!-- T6J728NIkMghOutUQchBKhuafBVFuDqhM1lTrL+gqRTfDrtS1b2UwYIfZEuo2BSt --> <!-- mXqQz+5/4Yc9be1B7ta243FzEB7GhhLrg8J3PvsE0LSOgjbKNKiiFNpdQr17dmn4 --> <!-- W+J2yrl1gUuiMtXZCdxfJJYL9yObeQbxmAYkiPlgfM1DlnLvz4WkFjmihfW5nN3t --> <!-- nlBspzRai6dlUd/DwDn0fftmn3hBavJ6guVlMVTjCUKIkFvWdQ7JsgFDZ2B2KHnS --> <!-- hbi/+FSbUYAwg1aUU00U6zovWy2slsLSzLWeobhRm1djv7nzcXF5LHNbPFn+CUzC --> <!-- 3hT/OTDRZu4bgC7/mXWRWH30LLUcwIIvRYz+9vIndCP9AgMBAAGjggHTMIIBzzAM --> <!-- BgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA6BgNVHSUEMzAxBgorBgEEAYI3 --> <!-- YQEABggrBgEFBQcDAwYZKwYBBAGCN2H5+cEspPS4DoOuxLIcm56wGDAdBgNVHQ4E --> <!-- FgQUHNdUHgxd14fLhGkjCU3Ci47DgS0wHwYDVR0jBBgwFoAUmvFUd3UMhxY3RqCs --> <!-- 3nn59H/BeOkwZwYDVR0fBGAwXjBcoFqgWIZWaHR0cDovL3d3dy5taWNyb3NvZnQu --> <!-- Y29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENTJTIw --> <!-- RU9DJTIwQ0ElMjAwNC5jcmwwdAYIKwYBBQUHAQEEaDBmMGQGCCsGAQUFBzAChlho --> <!-- dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUy --> <!-- MElEJTIwVmVyaWZpZWQlMjBDUyUyMEVPQyUyMENBJTIwMDQuY3J0MFQGA1UdIARN --> <!-- MEswSQYEVR0gADBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j --> <!-- b20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wDQYJKoZIhvcNAQEMBQADggIB --> <!-- AHE0HJscMcw1iPBZSTqYQo1trie2J/IWqmsEeGB1XktLTksynglC8cHF4VqwCnF+ --> <!-- 5fPraqpZpcVieMZptHRY+7AurCTPTuLF83gAN+WudruSR0ETkR30RrsKf5vo9MVA --> <!-- uTP/E4yfMffn02fcGIuoPseEEssm8pYU9+8+9CadUZdCOwQ8n3MT6lb/0TdZ2ef5 --> <!-- ew+DOpgd94vHdGq+aDh2h0CPrzQhoGZ5RqMr0fdaijcEch9/9xNuj3ddkooIyk6G --> <!-- D3Q6sNp71ECxOvPxHWrsW7E9QCh5lcxUk4hvy5BxCYgJPmiJ0RHCoVf9n8Wf35h3 --> <!-- InJRUN4FaHBd97YS6KVhCraKcSvUv1lPhSxBo6YKXjS5EoNQ/X7ZKoc+sFpOud8c --> <!-- OzjX01pgvw3ls5QzDRhmop0WqUj0ZSe9liPoQQs5Gx7r8ciCHL6ST4SvD8uc2FhV --> <!-- 3pN6Lu7BTzMdzKjgeamRoxkdoKVfBCSpjRBX40N1Do7cWfj9w0VzVMpqh8LutYpD --> <!-- yuCLfGoGwe/Luvzlo78ZIpz1SX0RECUPAbyvnSnvQex/WBDAmSvm+gBCNTRX2EIK --> <!-- YRdn2ixZjJm6tvQXKXpGy+1LShj4CrAKP9ChW21hhfM+H3o/agPF4+veRqBm2HeQ --> <!-- kzbTXAPfwZ5ejxykneiI2zNZodz/dsrvBCCnrjWm26KQMIIHKDCCBRCgAwIBAgIT --> <!-- MwAAABcnRQkLi4evxgAAAAAAFzANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQGEwJV --> <!-- UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTQwMgYDVQQDEytNaWNy --> <!-- b3NvZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWduaW5nIFBDQSAyMDIxMB4XDTI2MDMy --> <!-- NjE4MTEzMVoXDTMxMDMyNjE4MTEzMVowWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoT --> <!-- FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZl --> <!-- cmlmaWVkIENTIEVPQyBDQSAwNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC --> <!-- ggIBAILHZP4DD2YqAZXMn5OrQ8yfj0beK0ixilvHsKUtJEcV7VEQt09xnWwipY6G --> <!-- xJ/LrLKoRqkKUYf0l70VcDVxCBm++lBuSD5AidUuv/QQ+tUELCsz3qVtEjY/E14L --> <!-- Bcb0uzJbaEbopCCKe0OY0IGjjOkMivfvumVV1KWJmbpQHusfCa8GdHTZBPq2eupa --> <!-- raKHMHqVElVMTO6HQ5p/Mgx4ydgzT7H697kQ4sd1+Kr4deIx/0lvtgse1iDIciIk --> <!-- DttNYuoVIsZpOHtmVvFuwtcD3U46ugSm/s6PMW67e2SkL0V+UDgOnYS6rj6o+bFS --> <!-- p8an5NfSAtEmn00k7PMguNxMPeuQUUVvFS/XHKDpq+K8UMu2goGEzZN3Xfy6YTWk --> <!-- 05pxqe5Ji08ch5AeYHqFoWLrhq8sEvBNMCb9FuK3zrRwVdHvbCr7lCHiFKZ7Meop --> <!-- cRFY+lUF74A+sngipz5o94yYiSgJZlA7bYecs0VQVJeOLDIhuC+Uf8sgAkSpNp9P --> <!-- PENmAqGUtTvOvqDCyrdY2lxhAjo27FafCHdVUMPIXuidCoqzkuXtuV5U3RjxW+qA --> <!-- TjmmnIFu/Co39G6fl8wIJHPdpgxjSRmEo73Z4/u3jMepnltAwCBnS0TY/P+NvTCL --> <!-- KRQX89yg6qqTe9UuJENiy3q93cYQw3MylRS9By8Ebjr4I4hvAgMBAAGjggHcMIIB --> <!-- 2DAOBgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFJrx --> <!-- VHd1DIcWN0agrN55+fR/wXjpMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUF --> <!-- BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3Np --> <!-- dG9yeS5odG0wGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwEgYDVR0TAQH/BAgw --> <!-- BgEB/wIBADAfBgNVHSMEGDAWgBTZQSmwDw9jbO9p1/XNKZ6kSGow5jBwBgNVHR8E --> <!-- aTBnMGWgY6Bhhl9odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9N --> <!-- aWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUyMFNpZ25pbmclMjBQQ0El --> <!-- MjAyMDIxLmNybDB9BggrBgEFBQcBAQRxMG8wbQYIKwYBBQUHMAKGYWh0dHA6Ly93 --> <!-- d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBW --> <!-- ZXJpZmllZCUyMENvZGUlMjBTaWduaW5nJTIwUENBJTIwMjAyMS5jcnQwDQYJKoZI --> <!-- hvcNAQEMBQADggIBAJB1Whn9TSbfyXaIppkWWzFq+m2mg4vJpHVr1krZNIXWQ6cU --> <!-- mEwOx7oqQKCy96iISNdNVzpe3zogoefvo2TmpkHQFe/aIxFDaCIAmZi9lyay2hmp --> <!-- 8HYzcp3nCcmFQk60X9voeypJ6VjqeGsXTrOivWUOYNCLEFlwsH3NHX5EpCyjWN6Q --> <!-- 3Fi5ST4do3eTVLnuqTQ7/9huTBTSYQsJbTg3m8gIxnHlPlzs2r/u4u9tWEJ0Pt/Z --> <!-- tmkDhTu86QHWigHgBoRHemOgnQxp3ksXKLo1r2n1m7+Gst46NTkUi1LljGyq+V9f --> <!-- EBOEnXvoKaRiy0pGbK1IdnsmEpF9Xp71l+2T84Nv8IrikZUBWqw5/jffttAas4cc --> <!-- JDci832CadS4OHwl29uF6hY8fEg3UYHmxSJjnzi1c3vF0PwsJKxGom9Dx7treBlZ --> <!-- OBWK6BGzVBar43Qb02N7okeU3UKMl6GB74fk8aS0mNr6O4YSvQ/66RKRwvqppnEV --> <!-- BOHdIMjvWW9b77duX8TN3pI7w31R3D6t6jK9EcLJOJKymVlBIFNUl0+ajeoKka7I --> <!-- cW0+jkIGff8U9OKol3cz0Eeiop3Qb0qaDp8ZwC8XCcs1cDaSi/vbvBGWMvfKl+ov --> <!-- uIBP9ienG6XpHAdGVw5/10MaDVFG+v3Y0/8JZVchvryB5Hau9T82x+a2MXXAMIIH --> <!-- njCCBYagAwIBAgITMwAAAAeHozSje6WOHAAAAAAABzANBgkqhkiG9w0BAQwFADB3 --> <!-- MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMUgw --> <!-- RgYDVQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJvb3QgQ2Vy --> <!-- dGlmaWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjEwNDAxMjAwNTIwWhcNMzYwNDAx --> <!-- MjAxNTIwWjBjMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv --> <!-- cmF0aW9uMTQwMgYDVQQDEytNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWdu --> <!-- aW5nIFBDQSAyMDIxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsvDA --> <!-- rxmIKOLdVHpMSWxpCFUJtFL/ekr4weslKPdnF3cpTeuV8veqtmKVgok2rO0D05Bp --> <!-- yvUDCg1wdsoEtuxACEGcgHfjPF/nZsOkg7c0mV8hpMT/GvB4uhDvWXMIeQPsDgCz --> <!-- UGzTvoi76YDpxDOxhgf8JuXWJzBDoLrmtThX01CE1TCCvH2sZD/+Hz3RDwl2MsvD --> <!-- SdX5rJDYVuR3bjaj2QfzZFmwfccTKqMAHlrz4B7ac8g9zyxlTpkTuJGtFnLBGaso --> <!-- Onn5NyYlf0xF9/bjVRo4Gzg2Yc7KR7yhTVNiuTGH5h4eB9ajm1OCShIyhrKqgOkc --> <!-- 4smz6obxO+HxKeJ9bYmPf6KLXVNLz8UaeARo0BatvJ82sLr2gqlFBdj1sYfqOf00 --> <!-- Qm/3B4XGFPDK/H04kteZEZsBRc3VT2d/iVd7OTLpSH9yCORV3oIZQB/Qr4nD4YT/ --> <!-- lWkhVtw2v2s0TnRJubL/hFMIQa86rcaGMhNsJrhysLNNMeBhiMezU1s5zpusf54q --> <!-- lYu2v5sZ5zL0KvBDLHtL8F9gn6jOy3v7Jm0bbBHjrW5yQW7S36ALAt03QDpwW1JG --> <!-- 1Hxu/FUXJbBO2AwwVG4Fre+ZQ5Od8ouwt59FpBxVOBGfN4vN2m3fZx1gqn52Gvai --> <!-- Bz6ozorgIEjn+PhUXILhAV5Q/ZgCJ0u2+ldFGjcCAwEAAaOCAjUwggIxMA4GA1Ud --> <!-- DwEB/wQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU2UEpsA8PY2zv --> <!-- adf1zSmepEhqMOYwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0 --> <!-- dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0 --> <!-- bTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/MB8G --> <!-- A1UdIwQYMBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGEBgNVHR8EfTB7MHmgd6B1 --> <!-- hnNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQl --> <!-- MjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUy --> <!-- MEF1dGhvcml0eSUyMDIwMjAuY3JsMIHDBggrBgEFBQcBAQSBtjCBszCBgQYIKwYB --> <!-- BQUHMAKGdWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj --> <!-- cm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24lMjBSb290JTIwQ2VydGlm --> <!-- aWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNydDAtBggrBgEFBQcwAYYhaHR0cDov --> <!-- L29uZW9jc3AubWljcm9zb2Z0LmNvbS9vY3NwMA0GCSqGSIb3DQEBDAUAA4ICAQB/ --> <!-- JSqe/tSr6t1mCttXI0y6XmyQ41uGWzl9xw+WYhvOL47BV09Dgfnm/tU4ieeZ7NAR --> <!-- 5bguorTCNr58HOcA1tcsHQqt0wJsdClsu8bpQD9e/al+lUgTUJEV80Xhco7xdgRr --> <!-- ehbyhUf4pkeAhBEjABvIUpD2LKPho5Z4DPCT5/0TlK02nlPwUbv9URREhVYCtsDM --> <!-- +31OFU3fDV8BmQXv5hT2RurVsJHZgP4y26dJDVF+3pcbtvh7R6NEDuYHYihfmE2H --> <!-- dQRq5jRvLE1Eb59PYwISFCX2DaLZ+zpU4bX0I16ntKq4poGOFaaKtjIA1vRElIta --> <!-- OKcwtc04CBrXSfyL2Op6mvNIxTk4OaswIkTXbFL81ZKGD+24uMCwo/pLNhn7VHLf --> <!-- nxlMVzHQVL+bHa9KhTyzwdG/L6uderJQn0cGpLQMStUuNDArxW2wF16QGZ1NtBWg --> <!-- KA8Kqv48M8HfFqNifN6+zt6J0GwzvU8g0rYGgTZR8zDEIJfeZxwWDHpSxB5FJ1VV --> <!-- U1LIAtB7o9PXbjXzGifaIMYTzU4YKt4vMNwwBmetQDHhdAtTPplOXrnI9SI6HeTt --> <!-- jDD3iUN/7ygbahmYOHk7VB7fwT4ze+ErCbMh6gHV1UuXPiLciloNxH6K4aMfZN1o --> <!-- LVk6YFeIJEokuPgNPa6EnTiOL60cPqfny+Fq8UiuZzGCF1QwghdQAgEBMHEwWjEL --> <!-- MAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkG --> <!-- A1UEAxMiTWljcm9zb2Z0IElEIFZlcmlmaWVkIENTIEVPQyBDQSAwNAITMwAGMw+b --> <!-- /4mdrOkL/AAAAAYzDzALBglghkgBZQMEAgGgfDAQBgorBgEEAYI3AgEMMQIwADAZ --> <!-- BgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYB --> <!-- BAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQg0S3bGrBkrNbWgjW8u89Vt7Q6L/OwVbca --> <!-- vIuG/LQPd+YwCwYJKoZIhvcNAQEBBIIBgEgLTtUKsGKxBS/empQQARWN127ROPCb --> <!-- LM2zrJi2i7KC2YKovLrnaTkbejdDco/53CHL2nZ4lHmiKGMoLgPY+6fcJXSGRmDh --> <!-- lRYnpzRg5FSPJoaEMIWeQAdIy/zks6ycCH7utzRWVsEFgDBcRxnECzlnf9AlZewl --> <!-- bkBL5bbIgCdf05AZtOk0sTOIUaXjsuO18RMzhcvspKXq7XK7PHhkuv/y9FeECLLC --> <!-- NGBbdk8XmZMJo3DdjkWHDDmnId/5ys4bIP4QmEhPCAOEdwBZxdbfXYbTfkFvalWB --> <!-- rmxT8VskuTD8G6uyQO8BxQjOjvJ6mJubCvgp3wEIHoq33mFh414fE7Hrxol8UOrH --> <!-- DF/UsD5u06lxhImeHlqbc/tJl4HLw36BoKGoNm3mk62GazJsIJUmFKxy70qSXd5l --> <!-- 4sAkyv49n5bx6ArHMT+G7u1Tl2fQU9Qz0c/i8OpoX7DLO9BugrTZpkdMnWA25Tt8 --> <!-- mLWUT8e3oQt+VWn13EGf3uu9mhdPOB39NKGCFLowghS2BgorBgEEAYI3AwMBMYIU --> <!-- pjCCFKIGCSqGSIb3DQEHAqCCFJMwghSPAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFy --> <!-- BgsqhkiG9w0BCRABBKCCAWEEggFdMIIBWQIBAQYKKwYBBAGEWQoDATAxMA0GCWCG --> <!-- SAFlAwQCAQUABCDnVlHhGjlX1v3cYGvygy7mjwzssf1PUigGCjROFyPtJQIGapqx --> <!-- UKw4GBEyMDI2MDkxNjE4NTgxMS4yWjAEgAIB9AIITFr84gXlkmKggemkgeYwgeMx --> <!-- CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt --> <!-- b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p --> <!-- Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNo --> <!-- aWVsZCBUU1MgRVNOOjdCMUEtMDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3NvZnQg --> <!-- UHVibGljIFJTQSBUaW1lIFN0YW1waW5nIEF1dGhvcml0eaCCDykwggeCMIIFaqAD --> <!-- AgECAhMzAAAABeXPD/9mLsmHAAAAAAAFMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNV --> <!-- BAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMT --> <!-- P01pY3Jvc29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0 --> <!-- ZSBBdXRob3JpdHkgMjAyMDAeFw0yMDExMTkyMDMyMzFaFw0zNTExMTkyMDQyMzFa --> <!-- MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x --> <!-- MjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAy --> <!-- MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnnznUmP94MWfBX1j --> <!-- tQYioxwe1+eXM9ETBb1lRkd3kcFdcG9/sqtDlwxKoVIcaqDb+omFio5DHC4RBcby --> <!-- QHjXCwMk/l3TOYtgoBjxnG/eViS4sOx8y4gSq8Zg49REAf5huXhIkQRKe3Qxs8Sg --> <!-- p02KHAznEa/Ssah8nWo5hJM1xznkRsFPu6rfDHeZeG1Wa1wISvlkpOQooTULFm80 --> <!-- 9Z0ZYlQ8Lp7i5F9YciFlyAKwn6yjN/kR4fkquUWfGmMopNq/B8U/pdoZkZZQbxNl --> <!-- qJOiBGgCWpx69uKqKhTPVi3gVErnc/qi+dR8A2MiAz0kN0nh7SqINGbmw5OIRC0E --> <!-- sZ31WF3Uxp3GgZwetEKxLms73KG/Z+MkeuaVDQQheangOEMGJ4pQZH55ngI0Tdy1 --> <!-- bi69INBV5Kn2HVJo9XxRYR/JPGAaM6xGl57Ei95HUw9NV/uC3yFjrhc087qLJQaw --> <!-- SC3xzY/EXzsT4I7sDbxOmM2rl4uKK6eEpurRduOQ2hTkmG1hSuWYBunFGNv21Kt4 --> <!-- N20AKmbeuSnGnsBCd2cjRKG79+TX+sTehawOoxfeOO/jR7wo3liwkGdzPJYHgnJ5 --> <!-- 4UxbckF914AqHOiEV7xTnD1a69w/UTxwjEugpIPMIIE67SFZ2PMo27xjlLAHWW3l --> <!-- 1CEAFjLNHd3EQ79PUr8FUXetXr0CAwEAAaOCAhswggIXMA4GA1UdDwEB/wQEAwIB --> <!-- hjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQUa2koOjUvSGNAz3vYr0npPtk9 --> <!-- 2yEwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cu --> <!-- bWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUE --> <!-- DDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMB --> <!-- Af8EBTADAQH/MB8GA1UdIwQYMBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGEBgNV --> <!-- HR8EfTB7MHmgd6B1hnNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny --> <!-- bC9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBD --> <!-- ZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3JsMIGUBggrBgEFBQcBAQSB --> <!-- hzCBhDCBgQYIKwYBBQUHMAKGdWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv --> <!-- cHMvY2VydHMvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24lMjBS --> <!-- b290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNydDANBgkqhkiG --> <!-- 9w0BAQwFAAOCAgEAX4h2x35ttVoVdedMeGj6TuHYRJklFaW4sTQ5r+k77iB79cSL --> <!-- Ne+GzRjv4pVjJviceW6AF6ycWoEYR0LYhaa0ozJLU5Yi+LCmcrdovkl53DNt4EXs --> <!-- 87KDogYb9eGEndSpZ5ZM74LNvVzY0/nPISHz0Xva71QjD4h+8z2XMOZzY7YQ0Psw --> <!-- +etyNZ1CesufU211rLslLKsO8F2aBs2cIo1k+aHOhrw9xw6JCWONNboZ497mwYW5 --> <!-- EfN0W3zL5s3ad4Xtm7yFM7Ujrhc0aqy3xL7D5FR2J7x9cLWMq7eb0oYioXhqV2tg --> <!-- FqbKHeDick+P8tHYIFovIP7YG4ZkJWag1H91KlELGWi3SLv10o4KGag42pswjybT --> <!-- i4toQcC/irAodDW8HNtX+cbz0sMptFJK+KObAnDFHEsukxD+7jFfEV9Hh/+CSxKR --> <!-- smnuiovCWIOb+H7DRon9TlxydiFhvu88o0w35JkNbJxTk4MhF/KgaXn0GxdH8elE --> <!-- a2Imq45gaa8D+mTm8LWVydt4ytxYP/bqjN49D9NZ81coE6aQWm88TwIf4R4YZbOp --> <!-- MKN0CyejaPNN41LGXHeCUMYmBx3PkP8ADHD1J2Cr/6tjuOOCztfp+o9Nc+ZoIAkp --> <!-- UcA/X2gSMkgHAPUvIdtoSAHEUKiBhI6JQivRepyvWcl+JYbYbBh7pmgAXVswggef --> <!-- MIIFh6ADAgECAhMzAAAAWXzacemNXvXAAAAAAABZMA0GCSqGSIb3DQEBDAUAMGEx --> <!-- CzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAw --> <!-- BgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIw --> <!-- MB4XDTI2MDEwODE4NTkwMVoXDTI3MDEwNzE4NTkwMVowgeMxCzAJBgNVBAYTAlVT --> <!-- MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK --> <!-- ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVs --> <!-- YW5kIE9wZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNO --> <!-- OjdCMUEtMDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3NvZnQgUHVibGljIFJTQSBU --> <!-- aW1lIFN0YW1waW5nIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC --> <!-- AgoCggIBAKYu5/40eEX+hT+5jFa146bid3dA4LnXYntvkP3CGw4LGARFhnvLMSJ/ --> <!-- VtsubzDaeFnm7yb2KSM70WmHQprdCVqpvUH7l0uB4jNw7urLoAR9kKHLE0VlMlDS --> <!-- tDSxUBI3qwsdrjvdmvV0k+9/njuDEiSlzJTf7Dowd1K3bO4beRyaFhR+Y8tymECO --> <!-- qlOAffYrG2wZdVM51+QSBSe+PEykr8C6OnnqSipuF8fZvCb6/huk0Zm6ZwsaixSH --> <!-- IAT2IEGvS7c63Im8jV3a8R0K6i2yiw0NNlnTSpwy/Zfv7iwsLBwhfbjBTn+XOl6m --> <!-- PzDXQQ3V+SRP9xXbGKOsBTxzGid7aKAHw3o4Ahl9UGWLH9kNP3VUokE6JYkjlfpu --> <!-- UGZ6gQyqDewfxD4VoYIlopt4HZ0xQvqajuJx+cr8LR/IZ56gLLmwyMzde5+vtjBo --> <!-- ilry/gSZwVGwgkvkIgpKPBQHGsSB0y3szr7Y7wEb6v0yZal1XUvWnnz3inTaSWsC --> <!-- FrLPVwVmXy3ncY5/d25VpOkht+m697GWNbvsNOhAOHRaftE9j/hhkoM6RsyJfBLn --> <!-- hqMcA/wcavf5oj5NeyRQdGZeLKcls9csKS3sBUzPidxx2iiNH9CPaDq/bLJEOXas --> <!-- YohXMnRinu+fUk81s8VO7DQSF6ffn5oqSHoV8lf1Ax6u+kdShb8BAgMBAAGjggHL --> <!-- MIIBxzAdBgNVHQ4EFgQUj5bnC18D0vlnSRhCOiODGGuXNnYwHwYDVR0jBBgwFoAU --> <!-- a2koOjUvSGNAz3vYr0npPtk92yEwbAYDVR0fBGUwYzBhoF+gXYZbaHR0cDovL3d3 --> <!-- dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwUHVibGljJTIw --> <!-- UlNBJTIwVGltZXN0YW1waW5nJTIwQ0ElMjAyMDIwLmNybDB5BggrBgEFBQcBAQRt --> <!-- MGswaQYIKwYBBQUHMAKGXWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMv --> <!-- Y2VydHMvTWljcm9zb2Z0JTIwUHVibGljJTIwUlNBJTIwVGltZXN0YW1waW5nJTIw --> <!-- Q0ElMjAyMDIwLmNydDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUF --> <!-- BwMIMA4GA1UdDwEB/wQEAwIHgDBmBgNVHSAEXzBdMFEGDCsGAQQBgjdMg30BATBB --> <!-- MD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0Rv --> <!-- Y3MvUmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQCMA0GCSqGSIb3DQEBDAUAA4ICAQBE --> <!-- MhzC/ZcjpG/zURE7z2Yp5vrUxUjsE5Xa3t/2RGvESwvbmsk3bLHhSFAajgo2XQ8x --> <!-- oGDP3sUhKCLPeICSbkVv6V8sSp8fJ8Jos6yrawf2YVis8tcV+OO7U9S6JGPQzpmP --> <!-- ncfzQc4ne1fqZ4+HiKabIDEoFdddQT2Egkk9fzxCY/EZ52avJ27dSfrI/IDmyn9V --> <!-- 10O3iQpg2F+C9vNTrk7nVgoDoHa9+Q3pYr0IHGnSmt5irgGT436zo5WnXP8FxMhs --> <!-- wH1aiyiSZiVzhor10C9C52cP3C8/PEoMKUXstLjoPO0TMkeW/1Fr186KXD45QRgB --> <!-- o0xImgtWTdzWFnlD+p7+iDBIuSrNcRXDRYuq/aYZaDhWSI0SYdPIWVh5XvXuWA31 --> <!-- a8oQ0SO+oPa3Nk80k0864wiiyJ1KsbSnaaefg9vspeghrpY8ljCwxfCUtx5HQRNg --> <!-- AJOI8IKACK4d014Mk0hlRO0lQVRHegqIg29K6Xqkc360W2ZJGUcstlKokkVj6KAH --> <!-- jGyrLRPzepYfiZUJq4gXyxbpvKb1XJ2FN2682aUoNXo9RyRK1ch0f66k6+yj88kz --> <!-- vuC7+vJWtNDs/UpIM6Hhm0kU64JUJ7MMEQcAc7kpft7Gm7YeRK+oKgqUgYXCfmzb --> <!-- X8nJXJZnPa8ADWVsIqsuNAxCI0CZXkULofqo5Be6zzGCA9QwggPQAgEBMHgwYTEL --> <!-- MAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG --> <!-- A1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5nIENBIDIwMjAC --> <!-- EzMAAABZfNpx6Y1e9cAAAAAAAFkwDQYJYIZIAWUDBAIBBQCgggEtMBoGCSqGSIb3 --> <!-- DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgLQZYxm+Bzl54+I5u --> <!-- Q7QUUK8Rvq948FU0S0evK4+ubWgwgd0GCyqGSIb3DQEJEAIvMYHNMIHKMIHHMIGg --> <!-- BCDLRbqx24bpscXEJ+Hjj9xrcUVw7R8OyyMfSB2YGK3+vDB8MGWkYzBhMQswCQYD --> <!-- VQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQD --> <!-- EylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lc3RhbXBpbmcgQ0EgMjAyMAITMwAA --> <!-- AFl82nHpjV71wAAAAAAAWTAiBCDTAzFk4Rl+hgzXvVd6RWuJPFoEic+gRtbZRO32 --> <!-- 7UClmjANBgkqhkiG9w0BAQsFAASCAgBs6YQAKarGL476jBpBGhSKDzOQrhXpoW6C --> <!-- ElYno9RdVlZW+PJrvWyuodsX6R+1Db0JkCuL3hrD0QBnEBi1c7LQF9ICVz8WKFks --> <!-- yJloBTbzYhq7CxfUharvMZKQ1Mr9gKIkoj1FMY+gc2gpuQoBMXbMR+0tOQlf9Gr0 --> <!-- f4y9nHerIuQtpDgoN682eHscY3epymi7UHL03tzR8a7Qn24VIp1NMtZghxaR2ABe --> <!-- Izn2tGyNgsQSWUYKubTf0x56TWnC/8BEQ/pnUEqhuzTjIdZ1j5XUptAybA8hd/tZ --> <!-- Nc6HzJak5oBjb9fY1x5sQ+sYvqPvvwotL/Vgr3pWzdRilCO3xeCTQu/nCJRp004G --> <!-- aTQ1KQ8405G37zT44883HlDwUne5ZsEV11rJWsW6aCgV9YXh5UFf6UGexdOUjW0/ --> <!-- 9UHkN51YjyLJyoZDpPcmPeJcGhkXWZZ8uV1gHTXYf6KPBMNGzyAQDCMRsCLPGOPo --> <!-- V7QSn3njj4V7ouJYlzyj1XEYIDiL5ZgIT3hA9UMqt7ow0OtQynGoFKFh3NGjPEll --> <!-- I5myjgPP1tAMPMvQDwJSTsFoFXX13wrP8WaJrGFWwyZ0NFfc7q0Q8RWVw8Z/FPJV --> <!-- Nuplhc0rjVFQfbsek1Y18jzbYURq6Dy1FY5U0RjaYy8LNZlO4KnkGQ4+HL15ahn1 --> <!-- WhD7qSq9ig== --> <!-- SIG # End signature block --> |