DSInternals.psd1
# # Module manifest for module 'DSInternals' # @{ # Script module file associated with this manifest. RootModule = 'DSInternals.Bootstrap.psm1' # Version number of this module. ModuleVersion = '6.1' # Supported PSEditions CompatiblePSEditions = @('Desktop', 'Core') # ID used to uniquely identify this module GUID = '766b3ad8-eb78-48e6-84bd-61b31d96b53e' # Author of this module Author = 'Michael Grafnetter' # Company or vendor of this module CompanyName = 'DSInternals' # Copyright statement for this module Copyright = '(c) 2015-2025 Michael Grafnetter. All rights reserved.' # Description of the functionality provided by this module Description = @" The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory. These include FIDO2 and NGC key auditing, offline ntds.dit file manipulation, password auditing, DC recovery from IFM backups and password hash calculation. DISCLAIMER: Features exposed through this module are not supported by Microsoft and it is therefore not intended to be used in production environments. Improper use might cause irreversible damage to domain controllers or negatively impact domain security. "@ # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '5.1' # Processor architecture (None, X86, Amd64, ARM64) required by this module ProcessorArchitecture = 'None' # Type files (.ps1xml) to be loaded when importing this module TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module FormatsToProcess = @( 'Views\DSInternals.AzureADUser.format.ps1xml', 'Views\DSInternals.Hash.format.ps1xml', 'Views\DSInternals.RoamedCredential.format.ps1xml', 'Views\DSInternals.Kerberos.format.ps1xml', 'Views\DSInternals.KeyCredential.format.ps1xml', 'Views\DSInternals.FidoKeyMaterial.format.ps1xml', 'Views\DSInternals.BitLockerRecoveryInformation.format.ps1xml', 'Views\DSInternals.LapsPasswordInformation.format.ps1xml', 'Views\DSInternals.DSAccount.ExportViews.format.ps1xml', 'Views\DSInternals.DSAccount.format.ps1xml', 'Views\DSInternals.DSUser.format.ps1xml', 'Views\DSInternals.DSComputer.format.ps1xml', 'Views\DSInternals.GroupManagedServiceAccount.format.ps1xml', 'Views\DSInternals.PasswordQualityTestResult.format.ps1xml', 'Views\DSInternals.KdsRootKey.format.ps1xml', 'Views\DSInternals.SamDomainPasswordInformation.format.ps1xml', 'Views\DSInternals.LsaPolicyInformation.format.ps1xml', 'Views\DSInternals.DnsResourceRecord.format.ps1xml', 'Views\DSInternals.TrustedDomain.format.ps1xml' ) # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess NestedModules = @() # Functions to export from this module FunctionsToExport = @() # Cmdlets to export from this module CmdletsToExport = @( 'ConvertTo-NTHash', 'ConvertTo-LMHash', 'Set-SamAccountPasswordHash', 'ConvertFrom-UnicodePassword', 'ConvertTo-UnicodePassword', 'ConvertTo-OrgIdHash', 'ConvertFrom-GPPrefPassword', 'ConvertTo-GPPrefPassword', 'Set-ADDBPrimaryGroup', 'Get-ADDBDomainController', 'Set-ADDBDomainController', 'Get-ADDBSchemaAttribute', 'Remove-ADDBObject', 'Get-ADDBAccount', 'Get-BootKey', 'Get-ADReplAccount', 'ConvertTo-Hex', 'ConvertTo-KerberosKey', 'ConvertFrom-ADManagedPasswordBlob', 'Get-ADReplKdsRootKey', 'Get-ADDBBackupKey', 'Get-ADReplBackupKey', 'Save-DPAPIBlob', 'Set-ADDBBootKey', 'Test-PasswordQuality', 'Get-ADDBServiceAccount', 'Get-ADDBBitLockerRecoveryInformation', 'Get-ADDBKdsRootKey', 'Get-SamPasswordPolicy', 'Get-ADSIAccount', 'Enable-ADDBAccount', 'Disable-ADDBAccount', 'Get-ADKeyCredential', 'Set-ADDBAccountPassword', 'Set-ADDBAccountPasswordHash', 'Get-LsaPolicyInformation', 'Set-LSAPolicyInformation', 'New-ADDBRestoreFromMediaScript', 'Get-LsaBackupKey', 'Add-ADReplNgcKey', 'Get-AzureADUserEx', 'Set-AzureADUserEx', 'Unlock-ADDBAccount', 'Get-ADDBDnsResourceRecord', 'Get-ADDBDnsZone', 'Set-ADDBAccountControl', 'Get-ADDBTrust' # Intentionally excluded: 'Add-ADDBSidHistory' ) # Variables to export from this module VariablesToExport = @() # Aliases to export from this module AliasesToExport = @( 'Set-WinUserPasswordHash', 'Set-ADAccountPasswordHash', 'ConvertFrom-UnattendXmlPassword', 'ConvertTo-AADHash', 'ConvertTo-MsoPasswordHash', 'Get-ADReplicationAccount', 'ConvertFrom-ManagedPasswordBlob', 'Get-SysKey', 'Set-ADDBSysKey', 'New-NTHashSet', 'Test-ADPasswordQuality', 'Test-ADDBPasswordQuality', 'Test-ADReplPasswordQuality', 'Get-ADPasswordPolicy', 'Get-ADDefaultPasswordPolicy', 'Get-KeyCredential', 'Get-KeyCredentialLink', 'Get-ADKeyCredentialLink', 'Get-LsaPolicy', 'Set-LsaPolicy', 'Get-SystemKey', 'Write-ADReplNgcKey', 'Write-ADNgcKey', 'Add-ADNgcKey', 'New-ADKeyCredential', 'New-ADKeyCredentialLink', 'New-ADNgcKey', 'Get-ADDBGroupManagedServiceAccount', 'Get-ADDBBitLockerRecoveryInfo', 'Get-ADDBBitLockerKeyProtector', 'Get-ADDBBitLockerRecoveryKey', 'Get-ADDBBitLockerKey', 'Get-ADDBBitLockerRecoveryPassword', 'Get-ADDBFVERecoveryKey', 'Get-ADDBFVERecoveryPassword', 'Get-ADDBDelegatedManagedServiceAccount', 'Get-ADDBFVERecoveryInformation', 'Get-ADDBFVERecoveryInfo', 'Get-ADDBDnsRecord' ) # List of assemblies that must be loaded prior to importing this module RequiredAssemblies = @() # List of all files packaged with this module FileList = @( 'DSInternals.types.ps1xml', 'License.txt', 'en-US\about_DSInternals.help.txt', 'en-US\DSInternals.PowerShell.dll-Help.xml' 'net48\DSInternals.DataStore.dll', 'net48\DSInternals.Replication.dll', 'net48\DSInternals.Replication.Model.dll', 'net48\DSInternals.SAM.dll', 'net48\amd64\DSInternals.Replication.Interop.dll', 'net48\arm64\DSInternals.Replication.Interop.dll', 'net48\x86\DSInternals.Replication.Interop.dll', 'net48\Esent.Interop.dll', 'net48\Esent.Isam.dll', 'net48\CBOR.dll', 'net48\Numbers.dll', 'net48\URIUtility.dll', 'net48\System.Formats.Asn1.dll', 'net48\System.Buffers.dll', 'net48\System.Memory.dll', 'net48\System.Numerics.Vectors.dll', 'net48\System.Runtime.CompilerServices.Unsafe.dll', 'net48\System.Text.Json.dll', 'net48\System.Text.Encodings.Web.dll', 'net48\System.IO.Pipelines.dll', 'net48\System.Threading.Tasks.Extensions.dll', 'net48\Microsoft.Bcl.AsyncInterfaces.dll', 'net8.0-windows\DSInternals.DataStore.dll', 'net8.0-windows\DSInternals.Replication.dll', 'net8.0-windows\DSInternals.Replication.Model.dll', 'net8.0-windows\DSInternals.SAM.dll', 'net8.0-windows\amd64\DSInternals.Replication.Interop.dll', 'net8.0-windows\arm64\DSInternals.Replication.Interop.dll', 'net8.0-windows\x86\DSInternals.Replication.Interop.dll', 'net8.0-windows\Esent.Interop.dll', 'net8.0-windows\Esent.Isam.dll', 'net8.0-windows\CBOR.dll', 'net8.0-windows\Numbers.dll', 'net8.0-windows\URIUtility.dll' ) # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = @('ActiveDirectory', 'AzureAD', 'Security', 'SAM', 'LSA', 'DNS', 'BitLocker', 'LAPS', 'FIDO', 'NTDS', 'PSModule', 'Windows', 'PSEdition_Desktop', 'PSEdition_Core') # A URL to the license for this module. LicenseUri = 'https://github.com/MichaelGrafnetter/DSInternals/blob/master/Src/DSInternals.PowerShell/License.txt' # A URL to the main website for this project. ProjectUri = 'https://github.com/MichaelGrafnetter/DSInternals' # A URL to an icon representing this module. IconUri = 'https://raw.githubusercontent.com/MichaelGrafnetter/DSInternals/master/Src/Icons/module_black.png' # ReleaseNotes of this module ReleaseNotes = @" - Fixed a bug in ntds.dit prefix table parsing. - Re-enabled native ARM64 support. - Fixed RSA public key operation issues in PowerShell Core. - Added the Integrity.Tests.ps1 script for checking module integrity. "@ } # End of PSData hashtable } # End of PrivateData hashtable } # SIG # Begin signature block # MIIt6AYJKoZIhvcNAQcCoIIt2TCCLdUCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAy93V++uMUCXiu # 8O+7wytu+ZnPsbzEtOqaeibQQMNXvKCCEg8wggV4MIIDYKADAgECAhBLLDsBAYut # KryMe1s+7ZBXMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYTAkdCMRgwFgYDVQQK # Ew9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28gUHVibGljIENvZGUg # U2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw00NjAzMjEyMzU5NTla # MFYxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLTArBgNV # BAMTJFNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBSb290IFI0NjCCAiIwDQYJ # KoZIhvcNAQEBBQADggIPADCCAgoCggIBAI3nlBIiBCR0Lv8WIwKSirauNoWsR9Qj # kSs+3H3iMaBRb6yEkeNSirXilt7Qh2MkiYr/7xKTO327toq9vQV/J5trZdOlDGmx # vEk5mvFtbqrkoIMn2poNK1DpS1uzuGQ2pH5KPalxq2Gzc7M8Cwzv2zNX5b40N+OX # G139HxI9ggN25vs/ZtKUMWn6bbM0rMF6eNySUPJkx6otBKvDaurgL6en3G7X6P/a # IatAv7nuDZ7G2Z6Z78beH6kMdrMnIKHWuv2A5wHS7+uCKZVwjf+7Fc/+0Q82oi5P # MpB0RmtHNRN3BTNPYy64LeG/ZacEaxjYcfrMCPJtiZkQsa3bPizkqhiwxgcBdWfe # beljYx42f2mJvqpFPm5aX4+hW8udMIYw6AOzQMYNDzjNZ6hTiPq4MGX6b8fnHbGD # dGk+rMRoO7HmZzOatgjggAVIQO72gmRGqPVzsAaV8mxln79VWxycVxrHeEZ8cKqU # G4IXrIfptskOgRxA1hYXKfxcnBgr6kX1773VZ08oXgXukEx658b00Pz6zT4yRhMg # NooE6reqB0acDZM6CWaZWFwpo7kMpjA4PNBGNjV8nLruw9X5Cnb6fgUbQMqSNenV # etG1fwCuqZCqxX8BnBCxFvzMbhjcb2L+plCnuHu4nRU//iAMdcgiWhOVGZAA6RrV # wobx447sX/TlAgMBAAGjQjBAMB0GA1UdDgQWBBQy65Ka/zWWSC8oQEJwIDaRXBeF # 5jAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQwF # AAOCAgEAdmXC49ciStcdiV7/aV7GFAJNc6bNzSjKsDfqv6fJIaqqX9q/9oNs0IDR # ClwApMvzzDkPnkFxiNU86Ip7jBcj98o0dJFsBq5QPwBZsiY8PBeDVwM+LdEaPdTP # B1SyQwtScqiI9cQX8m/RWKXRaOQ9mAgY7jb0SEia+lRw8IjUcBYwQknQ2T91S0Vx # 2K6iu2EOiIVQV7m6ESs2KR+PIHKeXJ6J0YLaRY1qmdqEcWszpRC7efCX9nSBoD9X # x4aMMIwOOJWuAcYeq9yoH28v1/92Hq4Xc23luXWzYQaolTPCTm+yN/KVvoVUErnI # vWJCdvcq/PU3MQMmV/7R5tvwFgJyg4wIs4SsqeQH+KGIxBNaUEdUQqbt0EE0LJix # PqI0oQxdvaz3f3mnv20MVjKFG0uXuOGs5KQ8cfGj4U5j1vRGuvULCOFjPO2iWS8K # 1CxrI6KeoU3u0RLNGDNQ7UFuy389QWALYwt49XXvQxW3NgsQr9xcGKmY2TbZHdiE # swaKguN7GySnQs7uDz5WXDJ97EveVis7O7r5eljQUbZs1vZYolIkekSGoRxgP0nT # /Pr5hBwFwjS/4ubxGSqZL1ZXNZy19QfDRi/eOD0ZDfuj8d8Tnuepclgxr73q2tfW # bXczM470rP3Bv0mH0nAFZ3QGpvZ4QC0WBJEPH9MWxLh6Fw0kybIwggYaMIIEAqAD # AgECAhBiHW0MUgGeO5B5FSCJIRwKMA0GCSqGSIb3DQEBDAUAMFYxCzAJBgNVBAYT # AkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLTArBgNVBAMTJFNlY3RpZ28g # UHVibGljIENvZGUgU2lnbmluZyBSb290IFI0NjAeFw0yMTAzMjIwMDAwMDBaFw0z # NjAzMjEyMzU5NTlaMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExp # bWl0ZWQxKzApBgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBS # MzYwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCbK51T+jU/jmAGQ2rA # z/V/9shTUxjIztNsfvxYB5UXeWUzCxEeAEZGbEN4QMgCsJLZUKhWThj/yPqy0iSZ # hXkZ6Pg2A2NVDgFigOMYzB2OKhdqfWGVoYW3haT29PSTahYkwmMv0b/83nbeECbi # MXhSOtbam+/36F09fy1tsB8je/RV0mIk8XL/tfCK6cPuYHE215wzrK0h1SWHTxPb # PuYkRdkP05ZwmRmTnAO5/arnY83jeNzhP06ShdnRqtZlV59+8yv+KIhE5ILMqgOZ # YAENHNX9SJDm+qxp4VqpB3MV/h53yl41aHU5pledi9lCBbH9JeIkNFICiVHNkRmq # 4TpxtwfvjsUedyz8rNyfQJy/aOs5b4s+ac7IH60B+Ja7TVM+EKv1WuTGwcLmoU3F # pOFMbmPj8pz44MPZ1f9+YEQIQty/NQd/2yGgW+ufflcZ/ZE9o1M7a5Jnqf2i2/uM # SWymR8r2oQBMdlyh2n5HirY4jKnFH/9gRvd+QOfdRrJZb1sCAwEAAaOCAWQwggFg # MB8GA1UdIwQYMBaAFDLrkpr/NZZILyhAQnAgNpFcF4XmMB0GA1UdDgQWBBQPKssg # hyi47G9IritUpimqF6TNDDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB # /wIBADATBgNVHSUEDDAKBggrBgEFBQcDAzAbBgNVHSAEFDASMAYGBFUdIAAwCAYG # Z4EMAQQBMEsGA1UdHwREMEIwQKA+oDyGOmh0dHA6Ly9jcmwuc2VjdGlnby5jb20v # U2VjdGlnb1B1YmxpY0NvZGVTaWduaW5nUm9vdFI0Ni5jcmwwewYIKwYBBQUHAQEE # bzBtMEYGCCsGAQUFBzAChjpodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29Q # dWJsaWNDb2RlU2lnbmluZ1Jvb3RSNDYucDdjMCMGCCsGAQUFBzABhhdodHRwOi8v # b2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEABv+C4XdjNm57oRUg # mxP/BP6YdURhw1aVcdGRP4Wh60BAscjW4HL9hcpkOTz5jUug2oeunbYAowbFC2AK # K+cMcXIBD0ZdOaWTsyNyBBsMLHqafvIhrCymlaS98+QpoBCyKppP0OcxYEdU0hps # aqBBIZOtBajjcw5+w/KeFvPYfLF/ldYpmlG+vd0xqlqd099iChnyIMvY5HexjO2A # mtsbpVn0OhNcWbWDRF/3sBp6fWXhz7DcML4iTAWS+MVXeNLj1lJziVKEoroGs9Ml # izg0bUMbOalOhOfCipnx8CaLZeVme5yELg09Jlo8BMe80jO37PU8ejfkP9/uPak7 # VLwELKxAMcJszkyeiaerlphwoKx1uHRzNyE6bxuSKcutisqmKL5OTunAvtONEote # SiabkPVSZ2z76mKnzAfZxCl/3dq3dUNw4rg3sTCggkHSRqTqlLMS7gjrhTqBmzu1 # L90Y1KWN/Y5JKdGvspbOrTfOXyXvmPL6E52z1NZJ6ctuMFBQZH3pwWvqURR8AgQd # ULUvrxjUYbHHj95Ejza63zdrEcxWLDX6xWls/GDnVNueKjWUH3fTv1Y8Wdho698Y # ADR7TNx8X8z2Bev6SivBBOHY+uqiirZtg0y9ShQoPzmCcn63Syatatvx157YK9hl # cPmVoa1oDE5/L9Uo2bC5a4CH2RwwggZxMIIE2aADAgECAhBsg5osz2x/Auy2idY5 # 0JFYMA0GCSqGSIb3DQEBDAUAMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0 # aWdvIExpbWl0ZWQxKzApBgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmlu # ZyBDQSBSMzYwHhcNMjIxMTA0MDAwMDAwWhcNMjUxMTAzMjM1OTU5WjBnMQswCQYD # VQQGEwJDWjEeMBwGA1UECAwVUHJhaGEsIEhsYXZuw60gbcSbc3RvMRswGQYDVQQK # DBJNaWNoYWVsIEdyYWZuZXR0ZXIxGzAZBgNVBAMMEk1pY2hhZWwgR3JhZm5ldHRl # cjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMHVk5c8z27bjQ82tQNj # cU+ilNAnWJwrb0Pa2Z643b7M+wAKi1DhCsavzRWwPYGKKpPLuSWTipw5P7Tag7i9 # H580wR+mxr1jX8Kd7Qr1Eyt3QRsqXLDAwj67ExDrzcOFcIkSK3UKgZFQL+rFy2HB # quQsHaGQQ8Jm2sWjGZod88/cmxOGUO0w7qvsysmY0QzzRNbUPpeJMPyzuq8zo2+P # JYP6qQS535bVGaOaCRcXz3XtpvJt8BMVOUVSjb7cEwfBgDoOL72EP6lqJrMV42TI # VpjR/rB/zT849lJtkvyAEfEr6UiOAiH9o5hm+GahTqPNMAPovb8hDPQRdu2QUpLg # W+KHicuQWwoFABqsMIF7Oo00xDuD+J52VU12LwobKINFDJB3BdU3L2aYQRFt3YJQ # gwH50gh1yNqaTcd78CNb2A5VwNvzTCZ0vhBaKdCK/BsLsu9atLld6FwBI8Pak6iA # NXuFY0W/whPwlVYzMeTdELzr/m53Fk8DQFcd48SvaYt4dbgU3Q3ySbDDnnBgn/TB # 5E+DRg7+tZgMH4ep8XXL8F/0gmIvhFXNJGXX9f8A2ox7G7Drj2Guf34P1UKZYjs7 # D2aJ71aPtZKPmXOPpTacuhNhdSVLX4ciwJOaRcZOt9pg2lwzjQVa5kw/GOs5Epeb # OtHry/SsgiDBiCXVxXxxE9E3AgMBAAGjggGqMIIBpjAfBgNVHSMEGDAWgBQPKssg # hyi47G9IritUpimqF6TNDDAdBgNVHQ4EFgQUnRBKK1Ym2UQhxb0SetlSGK5huJMw # DgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUH # AwMwSgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwIwJTAjBggrBgEFBQcCARYXaHR0 # cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQQBMEkGA1UdHwRCMEAwPqA8oDqG # OGh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY0NvZGVTaWduaW5n # Q0FSMzYuY3JsMHkGCCsGAQUFBwEBBG0wazBEBggrBgEFBQcwAoY4aHR0cDovL2Ny # dC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljQ29kZVNpZ25pbmdDQVIzNi5jcnQw # IwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMB8GA1UdEQQYMBaB # FGluZm9AZHNpbnRlcm5hbHMuY29tMA0GCSqGSIb3DQEBDAUAA4IBgQAuRlAwdZ32 # WVvW4tsRBmmPtse5BOqYjCP4OkxCYn47Sc+zajMgqDj8M5kGSx6SYexUbBcVssAu # pkpIW7YDGRDo4mGJWY6zFqTXLthtRL14TfiFTTwtpLLSWsRkHbwCbRXbhchpH3nA # pPshTMvd49gKKRT+AtDr5RrPVnh1LMYZdwuvQpWhkPgT/P0OYKTYtiieW5hSebdl # /IaGVx1KJi/FrC9MaXj72nvjAaCk5drri7QSsf8R+ghRy5mUJShX11L1nJrGW80s # hjaRBroT7ktr3WKryuc1cHvkXkKWZq78JosUWfGOtSQ0TJ9AiT+wBAbqtyv1H2X7 # wYNrrcq5cT543yO+SVhiuH+OQZZFjkYdhG5OoZgzABz/mXeHY4VnJHY+SuHJV3oy # kb4NajXiID4+iy3bgQOdghwMARNUMwsdYlpXqw13iD/Li4B4weFq8d/1ZEa1BFtV # DALXqV5+ZB4FJ/8CmonbGFIeHZfjj2PhcPL5rgGeMnFOwBjpZyvW4FUxghsvMIIb # KwIBATBoMFQxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQx # KzApBgNVBAMTIlNlY3RpZ28gUHVibGljIENvZGUgU2lnbmluZyBDQSBSMzYCEGyD # mizPbH8C7LaJ1jnQkVgwDQYJYIZIAWUDBAIBBQCggYQwGAYKKwYBBAGCNwIBDDEK # MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3 # AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgD0VyqqiAQAxeabSO # vSjyYX+pl1LSCkRsx0nYRpiK4c8wDQYJKoZIhvcNAQEBBQAEggIAls53kOP6Hth9 # KcFnxGqnqPBIVGhoYn3+K5wTRrhmf7iuwDS+f3MTQPMkt9XJwFloJgRDLndZL9rI # qFiUVymWnJqtIAFsxPHK5fDxUfSUWfchBxz+CA8IQNfx1gdyEi+LXptY9Szp1nUF # ExhmdnvrFIo9j3ss/q2pkenYzW/KIhnSOEnAtWyDXNtlusX5ItA4E6DlD2HDq4av # 9UsYhI3n0UtRlCi5A/Yez+vAuN6Du9GnqDwVErQcpZ9aFT+6N40mocLAXxikYN1j # 6VtqGZBx5mk9+dk5wkdMCf42CcTWGltXdBVcUBQmblH7m2QoZlcVuaOcoTiDdAOG # Uvu3s1PqQVwBPipqo4NmczmTmjDDa90dOOVNYSXng0jrlVw4XIjgGK+lZumo++3/ # Py1Gq/MHDt3HmMg+ClGPvr1FANzDeRY60MepFmuH9+aLtLo7d8dK5/nlGs05p0r1 # qa6aG/ti+1hcIKu9A29t1QUWWIaGp7et8u+YaeNtVL5H5F2v0pDW3uPc1d3k5v69 # 7qPMVonHfL3DsvLhVd8HysjohTS4a66+sllu/2JNY/UxDzOXSrJtSZ3W5ecmPqwC # OXf7mXT6fS/hXX9iVMmISkIZ1UfJm1U7bGLlbcdzLfbtR8V5UR4DL9sJWeB8M8jo # remnAleBE6qvRm4a1plW+z7MFfr6EgahghgRMIIYDQYKKwYBBAGCNwMDATGCF/0w # ghf5BgkqhkiG9w0BBwKgghfqMIIX5gIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBYgYL # KoZIhvcNAQkQAQSgggFRBIIBTTCCAUkCAQEGCisGAQQBhFkKAwEwMTANBglghkgB # ZQMEAgEFAAQgrODjYaQHzWEXkYSYW9511VcaxYOWYY5fplA/OsKiaUICBmieakT1 # KBgTMjAyNTA4MTcxNzA5MjkuMzIxWjAEgAIB9KCB4aSB3jCB2zELMAkGA1UEBhMC # VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV # BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt # ZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjc4MDAt # MDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lIFN0 # YW1waW5nIEF1dGhvcml0eaCCDyEwggeCMIIFaqADAgECAhMzAAAABeXPD/9mLsmH # AAAAAAAFMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVudGl0 # eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAe # Fw0yMDExMTkyMDMyMzFaFw0zNTExMTkyMDQyMzFaMGExCzAJBgNVBAYTAlVTMR4w # HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m # dCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwMIICIjANBgkqhkiG9w0B # AQEFAAOCAg8AMIICCgKCAgEAnnznUmP94MWfBX1jtQYioxwe1+eXM9ETBb1lRkd3 # kcFdcG9/sqtDlwxKoVIcaqDb+omFio5DHC4RBcbyQHjXCwMk/l3TOYtgoBjxnG/e # ViS4sOx8y4gSq8Zg49REAf5huXhIkQRKe3Qxs8Sgp02KHAznEa/Ssah8nWo5hJM1 # xznkRsFPu6rfDHeZeG1Wa1wISvlkpOQooTULFm809Z0ZYlQ8Lp7i5F9YciFlyAKw # n6yjN/kR4fkquUWfGmMopNq/B8U/pdoZkZZQbxNlqJOiBGgCWpx69uKqKhTPVi3g # VErnc/qi+dR8A2MiAz0kN0nh7SqINGbmw5OIRC0EsZ31WF3Uxp3GgZwetEKxLms7 # 3KG/Z+MkeuaVDQQheangOEMGJ4pQZH55ngI0Tdy1bi69INBV5Kn2HVJo9XxRYR/J # PGAaM6xGl57Ei95HUw9NV/uC3yFjrhc087qLJQawSC3xzY/EXzsT4I7sDbxOmM2r # l4uKK6eEpurRduOQ2hTkmG1hSuWYBunFGNv21Kt4N20AKmbeuSnGnsBCd2cjRKG7 # 9+TX+sTehawOoxfeOO/jR7wo3liwkGdzPJYHgnJ54UxbckF914AqHOiEV7xTnD1a # 69w/UTxwjEugpIPMIIE67SFZ2PMo27xjlLAHWW3l1CEAFjLNHd3EQ79PUr8FUXet # Xr0CAwEAAaOCAhswggIXMA4GA1UdDwEB/wQEAwIBhjAQBgkrBgEEAYI3FQEEAwIB # ADAdBgNVHQ4EFgQUa2koOjUvSGNAz3vYr0npPtk92yEwVAYDVR0gBE0wSzBJBgRV # HSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv # cHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkr # BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQY # MBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGEBgNVHR8EfTB7MHmgd6B1hnNodHRw # Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJZGVu # dGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhv # cml0eSUyMDIwMjAuY3JsMIGUBggrBgEFBQcBAQSBhzCBhDCBgQYIKwYBBQUHMAKG # dWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0 # JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNhdGUl # MjBBdXRob3JpdHklMjAyMDIwLmNydDANBgkqhkiG9w0BAQwFAAOCAgEAX4h2x35t # tVoVdedMeGj6TuHYRJklFaW4sTQ5r+k77iB79cSLNe+GzRjv4pVjJviceW6AF6yc # WoEYR0LYhaa0ozJLU5Yi+LCmcrdovkl53DNt4EXs87KDogYb9eGEndSpZ5ZM74LN # vVzY0/nPISHz0Xva71QjD4h+8z2XMOZzY7YQ0Psw+etyNZ1CesufU211rLslLKsO # 8F2aBs2cIo1k+aHOhrw9xw6JCWONNboZ497mwYW5EfN0W3zL5s3ad4Xtm7yFM7Uj # rhc0aqy3xL7D5FR2J7x9cLWMq7eb0oYioXhqV2tgFqbKHeDick+P8tHYIFovIP7Y # G4ZkJWag1H91KlELGWi3SLv10o4KGag42pswjybTi4toQcC/irAodDW8HNtX+cbz # 0sMptFJK+KObAnDFHEsukxD+7jFfEV9Hh/+CSxKRsmnuiovCWIOb+H7DRon9Tlxy # diFhvu88o0w35JkNbJxTk4MhF/KgaXn0GxdH8elEa2Imq45gaa8D+mTm8LWVydt4 # ytxYP/bqjN49D9NZ81coE6aQWm88TwIf4R4YZbOpMKN0CyejaPNN41LGXHeCUMYm # Bx3PkP8ADHD1J2Cr/6tjuOOCztfp+o9Nc+ZoIAkpUcA/X2gSMkgHAPUvIdtoSAHE # UKiBhI6JQivRepyvWcl+JYbYbBh7pmgAXVswggeXMIIFf6ADAgECAhMzAAAATBtL # nGPC5NN6AAAAAABMMA0GCSqGSIb3DQEBDAUAMGExCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQ # dWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwMB4XDTI0MTEyNjE4NDg1OVoX # DTI1MTExOTE4NDg1OVowgdsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n # dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAl # BgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3ODAwLTA1RTAtRDk0NzE1MDMGA1UEAxMs # TWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHkwggIi # MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDcde8XEX4HjETYu6YHtWiP7+6V # f2abeUo/si4NcaeiKrRMTF8F7mpCoPJyo/h5VHbhyKDZazOm1cLuzKeVEMzDN4vu # f3fZb5hSlpVlCXBSJ3YBLwLnRJtWNk+XkUMcAc96RdalToVYWltOIwbCCkjE42fn # CafwjZajw1UGaxl4tRQNHwVk5gwC2wlVVSJREJqCSsB9TXXHIKxPHnnFJqJ/LI1g # oJ+Ve0Bar4PiKiMfnvnZ8LR3ktW24X6FDQJRKLjnJQ0JVebQEvI+q8Y/frheUldX # eLVD4SfQNl1fLKN58o+NJsWI0ET6C8wYZc+eu+EqrzubIPXB7mKI9cbtmGHvztsl # z1K/NmRvGGQkeKEKdOWfpfRuYxmhmeVmR1QMLe5pBccJiXw7PUIW+3MB0pM5SBF5 # FH6INtT1gf5vHwBA9vbeiiggbijJMuK0qu63sIbbE/YN4iYrCURvjZampsTtxmlE # tN921N0qXNtNgU0vavdc/vJl/rDef6fMeQuJAinIHxcJzPDTsOXZlegwcCr/J52e # ij6T9szMlPSCQVAt5u/agNcJ212t6qdwZ4hYYF4LkCmXQgDPZpR1lGDCaojAB6zy # /H7nME+nnTvTgTMtR4d4lHVBQxpJDnvYNvGPurrnP7FZT3ue8YzfFEiE5chmJia8 # THexs46F8tCr8T5UxQIDAQABo4IByzCCAccwHQYDVR0OBBYEFGrqI3Sxu357rKTy # lpgwcVAF1Nw/MB8GA1UdIwQYMBaAFGtpKDo1L0hjQM972K9J6T7ZPdshMGwGA1Ud # HwRlMGMwYaBfoF2GW2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3Js # L01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIw # MjAyMC5jcmwweQYIKwYBBQUHAQEEbTBrMGkGCCsGAQUFBzAChl1odHRwOi8vd3d3 # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFB1YmxpYyUy # MFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcnQwDAYDVR0TAQH/BAIw # ADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwZgYDVR0g # BF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5t # aWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMAgGBmeBDAEE # AjANBgkqhkiG9w0BAQwFAAOCAgEAAFYcd7rrNVHRZWofhE4ft9YNZPVEzaQ90iE/ # 5kCDoQlCKTE7jFYnFcfxETrL4ed8JSj0JxCZSJQVUwEp6haUSPkiSg4mf7rq+m3q # bCjHB8Dj82rsFSxAs8NqI/08Dq1Ci/rxVhryPOSZmtXRgNeJzxwDqSch50pNBGQM # U8APLSnwpqzhwRN76MK5PXYCVqm/u/v579+fFJh0bIsw49/wTcTCXh3s0C9y0iAm # SvsJKnTfEvtfe+eS9qw2wyf2LdJ5n8klFJ6OtDg8YB9n+E+0vX1EJIDPxN2yX7+2 # sJiABcUSc55jIHxPTArDdzR0YUwQIjZO0j9hIjyMbRYjgjJ4UK9ZLrvN2nUyc0up # LqKKvhAqKP1jX0FL5M0wuneZ9/SGy2ZFn/Bg8ISBOp34ri+412tOlzqR9ZU+CU9X # n1MqcWXvvDhTqjexxKZMVRMqGjRECQWSA62WdCGYjEOWnH5lQJqLYRhYpeAwvjsz # dEAjSFtFXFLGTRw4bSKoad5TjUEvsKFO8DVPCjrbMEzGdku4znmeFddbqXR41Hlu # npyOLuSoC1II/Bh+aX0nU19JU79T10OFRKZDFKUI3LWB9jTdT+3EOJr/pQ5T0fFe # ei0A7UdmTgXbmP4IaCbTc41NG7KMmsmV6Xyank4qB5aSL30uegrrvnHPjQBLLYje # rGCNtQMxggdDMIIHPwIBATB4MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNB # IFRpbWVzdGFtcGluZyBDQSAyMDIwAhMzAAAATBtLnGPC5NN6AAAAAABMMA0GCWCG # SAFlAwQCAQUAoIIEnDARBgsqhkiG9w0BCRACDzECBQAwGgYJKoZIhvcNAQkDMQ0G # CyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNTA4MTcxNzA5MjlaMC8GCSqG # SIb3DQEJBDEiBCDGPDt9vI+r5XcRyeW+nwdf5tcfE5YTeduJBndEhOs1TzCBuQYL # KoZIhvcNAQkQAi8xgakwgaYwgaMwgaAEIN46bOoVmqp2Rt/G6TI8VIZkg7qJ8Odd # iPDqk6jY+midMHwwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRp # bWVzdGFtcGluZyBDQSAyMDIwAhMzAAAATBtLnGPC5NN6AAAAAABMMIIDXgYLKoZI # hvcNAQkQAhIxggNNMIIDSaGCA0UwggNBMIICKQIBATCCAQmhgeGkgd4wgdsxCzAJ # BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jv # c29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVT # Tjo3ODAwLTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0IFB1YmxpYyBSU0Eg # VGltZSBTdGFtcGluZyBBdXRob3JpdHmiIwoBATAHBgUrDgMCGgMVAJueWs/5vWNY # P+JGxmOfpj88ZvzBoGcwZaRjMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNB # IFRpbWVzdGFtcGluZyBDQSAyMDIwMA0GCSqGSIb3DQEBCwUAAgUA7Ew0ZzAiGA8y # MDI1MDgxNzEwNTg0N1oYDzIwMjUwODE4MTA1ODQ3WjB0MDoGCisGAQQBhFkKBAEx # LDAqMAoCBQDsTDRnAgEAMAcCAQACAlNZMAcCAQACAhJ+MAoCBQDsTYXnAgEAMDYG # CisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEA # AgMBhqAwDQYJKoZIhvcNAQELBQADggEBAH/HN0i6hqP/rk4NueAK+hgagiVSGaQz # 2aO5hfBLdFlBiIWjt1wBaKKVCyg24Hc1qav+shdePcDprdVHkQcktjOj47hdbr8p # b6tOe9TW8YXs/omW6nrO8YM6/QRef7EH4SiFka4/3ZfNL3lFrYPOQRcjBldjvn4p # C3cwk023StspzofYFpj0LkXElipPlCXRJt0AHuEhWkutXtPdEg3aZ/HcZZK47/JG # gJcwhHGFfDYL9uTPWTl5J4JVeDXYe4Aq1FmLdqY5+qv/DPaqrbJmWA96KmIum8aJ # vVYnvqr7hp5Z7DIatzDNTEGTzD0Xwt8J/CsBOOy8M1/nRrjUJxz6L28wDQYJKoZI # hvcNAQEBBQAEggIA0MIfwHiRsuu5SPkFJB5YTM6TVTPLsl1u4CcKgswkwZdbe2xQ # AoMgC/FuQHVCM6bnV9Eg9zZc9uwqh6yF6jphur03pTQXVrvS4g1UA8bjgm92XgGc # O+BjDmN6QYVyfSD59l+22V8vz/b+8kBZZ5hodzie3EdU4kbYZqUwxIs+xHH5s+/V # tO+6gIaftdcR11g6KNoFQjnzqRXIwpsKSBlL8nKwUiTriuUcwfbsnp6g3CIe4tem # YaGe31/qIhVXwuUTWvriB+h8lZwSCbr/fklbPjwLL0svg1mL04Telk/u1Y4/v1+X # QV1o5Fu4XHE0NDSHwMDANaefXMl0p8i+bP7RuT1l9JowaMGJ+/V/uBzjyA7/2GUu # YZWU5q/FodUJBRvKfCFmX2hAPnLefh8OuOVnojzoikTgiaXLEdRkBQz6YLB1oC6R # eTrDcyHz1ejXrno5mnhpAW8O+9FuanV6pjYDdzqggpcOguIzX9iBZXxhHyPZtL7A # Z4KNrwgumanOV07134QRoFysFuhC1GidSb6qAweQpAoXUZnXV/bUF8RnMxvHE/Fq # yQLmp0AFSEha2DmSqdd4q8Ea+f7j52pBUj5Tb38DC63zdpcHjhHAgrkrpZGZ36SL # vX+3JjEoly0Zmk09IFpbapSimKw1IsI3CNlDdQEm4fDG7HURjXur0t/ROPI= # SIG # End signature block |