Private/Release-SpecPreviousComPort.ps1
function Release-SpecPreviousComPort { <# .SYNOPSIS Releases a previous COM port from the COM Name Arbiter database. .DESCRIPTION This function releases a previous COM port entry from the COM Name Arbiter database. It calculates the appropriate byte and bit positions, updates the binary array, and modifies the registry accordingly. .PARAMETER OldPort The previous COM port value to be released. .OUTPUTS System.Int32 Returns 400 if the COM port is successfully released. Returns 401 if an error occurs during the release process. .EXAMPLE $statusCode = Release-SpecPreviousComPort -OldPort 3 if ($statusCode -eq 400) { Write-Host "COM port released successfully." } elseif ($statusCode -eq 401) { Write-Host "Failed to release COM port." } .NOTES Author : owen.heaume Version : 1.0 #> [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [int]$OldPort ) Begin { $Byte = ($OldPort - ($OldPort % 8)) / 8 $Bit = 8 - ($OldPort % 8) if ($Bit -eq 8) { $Bit = 0 $Byte = $Byte - 1 } } Process { try { $ComDB = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\COM Name Arbiter" -Name ComDB -ErrorAction Stop -ErrorVariable x $ComBinaryArray = ([convert]::ToString($ComDB.ComDB[$Byte], 2)).ToCharArray() while ($ComBinaryArray.Length -ne 8) { $ComBinaryArray = , "0" + $ComBinaryArray } $ComBinaryArray[$Bit] = "0" $ComBinary = [string]::Join("", $ComBinaryArray) $ComDB.ComDB[$Byte] = [convert]::ToInt32($ComBinary, 2) Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\COM Name Arbiter" -Name ComDB -Value ([byte[]]$ComDB.ComDB) -ErrorAction Stop -ErrorVariable x Write-Verbose "COM port released successfully.`n" return 400 } catch { Write-Verbose "Unable to release previous port from COM database: $x" return 401 } } } # SIG # Begin signature block # MIIsowYJKoZIhvcNAQcCoIIslDCCLJACAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDwlME3brDfLwAZ # 5Tf3a+2JOuJ/IrJFbh6P9VyQ8JhYjKCCE7owggWQMIIDeKADAgECAhAFmxtXno4h # MuI5B72nd3VcMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0xMzA4MDExMjAwMDBaFw0z # ODAxMTUxMjAwMDBaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ # bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0 # IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB # AL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/z # G6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZ # anMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7s # Wxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL # 2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfb # BHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3 # JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3c # AORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqx # YxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0 # viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aL # T8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjQjBAMA8GA1Ud # EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTs1+OC0nFdZEzf # Lmc/57qYrhwPTzANBgkqhkiG9w0BAQwFAAOCAgEAu2HZfalsvhfEkRvDoaIAjeNk # aA9Wz3eucPn9mkqZucl4XAwMX+TmFClWCzZJXURj4K2clhhmGyMNPXnpbWvWVPjS # PMFDQK4dUPVS/JA7u5iZaWvHwaeoaKQn3J35J64whbn2Z006Po9ZOSJTROvIXQPK # 7VB6fWIhCoDIc2bRoAVgX+iltKevqPdtNZx8WorWojiZ83iL9E3SIAveBO6Mm0eB # cg3AFDLvMFkuruBx8lbkapdvklBtlo1oepqyNhR6BvIkuQkRUNcIsbiJeoQjYUIp # 5aPNoiBB19GcZNnqJqGLFNdMGbJQQXE9P01wI4YMStyB0swylIQNCAmXHE/A7msg # dDDS4Dk0EIUhFQEI6FUy3nFJ2SgXUE3mvk3RdazQyvtBuEOlqtPDBURPLDab4vri # RbgjU2wGb2dVf0a1TD9uKFp5JtKkqGKX0h7i7UqLvBv9R0oN32dmfrJbQdA75PQ7 # 9ARj6e/CVABRoIoqyc54zNXqhwQYs86vSYiv85KZtrPmYQ/ShQDnUBrkG5WdGaG5 # nLGbsQAe79APT0JsyQq87kP6OnGlyE0mpTX9iV28hWIdMtKgK1TtmlfB2/oQzxm3 # i0objwG2J5VT6LaJbVu8aNQj6ItRolb58KaAoNYes7wPD1N1KarqE3fk3oyBIa0H # EEcRrYc9B9F1vM/zZn4wggawMIIEmKADAgECAhAIrUCyYNKcTJ9ezam9k67ZMA0G # CSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJ # bmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0 # IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0zNjA0MjgyMzU5NTla # MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE # AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz # ODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVtC9C # 0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0JAfhS0/TeEP0F9ce # 2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJrQ5qZ8sU7H/Lvy0da # E6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhFLqGfLOEYwhrMxe6T # SXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+FLEikVoQ11vkunKoA # FdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh3K3kGKDYwSNHR7Oh # D26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJwZPt4bRc4G/rJvmM # 1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQayg9Rc9hUZTO1i4F4z # 8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbIYViY9XwCFjyDKK05 # huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchApQfDVxW0mdmgRQRNY # mtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRroOBl8ZhzNeDhFMJlP # /2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IBWTCCAVUwEgYDVR0T # AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHwYD # VR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMG # A1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYY # aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2Fj # ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNV # HR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRU # cnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAEDMAgGBmeBDAEEATAN # BgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql+Eg08yy25nRm95Ry # sQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFFUP2cvbaF4HZ+N3HL # IvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1hmYFW9snjdufE5Btf # Q/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3RywYFzzDaju4ImhvTnh # OE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5UbdldAhQfQDN8A+KVssIh # dXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw8MzK7/0pNVwfiThV # 9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnPLqR0kq3bPKSchh/j # wVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatEQOON8BUozu3xGFYH # Ki8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bnKD+sEq6lLyJsQfmC # XBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQjiWQ1tygVQK+pKHJ6l # /aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbqyK+p/pQd52MbOoZW # eE4wggduMIIFVqADAgECAhAJoJUtTqC7i9+OKkwQKIGcMA0GCSqGSIb3DQEBCwUA # MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UE # AxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEz # ODQgMjAyMSBDQTEwHhcNMjMwODA4MDAwMDAwWhcNMjUwODA3MjM1OTU5WjB2MQsw # CQYDVQQGEwJHRzERMA8GA1UEBxMIR3Vlcm5zZXkxKTAnBgNVBAoTIFNwZWNzYXZl # cnMgT3B0aWNhbCBHcm91cCBMaW1pdGVkMSkwJwYDVQQDEyBTcGVjc2F2ZXJzIE9w # dGljYWwgR3JvdXAgTGltaXRlZDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC # ggIBAOPMoe4VdNIy4/vGzO34XwI7nCi+OH1mZuy14lq6l2iYKfo7E2DFmtAkZiH/ # vP1rbJ1yytpuhuP51ujqHfqKJ9cikkMAhI9LjD69TP9DkAgsb1DsxcWTBgNeLpNc # dvk5gqLD2PrR+yeMKdWLnydE+oavli/nk/btmmO6jwRqdAKUTXu8hCmDDJ35anVc # EC50aGek2LAjSNw9pUQHI0TuwhQBj22bVRwPv3SqnxXmpi4Lvk/4aRGDWkJCciWI # a26nF3inFre5LTh1Rp1jtIf3GteieEW/bPnyhy8sJuRhhPsCxtdGxTNSIGwNxhvU # 6FKgW1vQC6p/kPb9doDK8MF8w2gN7jJkjT8QtCdthUuSwbvfa2iNg80hzOHJ/2Ep # t8aCVVxZgHnuWZwP4uy+mzLoE/MVPo+LbtvUXOwi8tUjcK4m0wlvWjbouwuGA/dO # ahZ1MuQh7+DHOXHdUhJwm0RPVE/tdkJoozx7PBaOocsTxCiFmIq6GD9sBPq2yB5I # MXRxP0ORUtgE6bL/vfVwdB0u3iLI4xT+fwS0mHMqCrEVV1AkfH8jfFB6/hLvwYo2 # d1fnGPhlykCUEltgDehuPHA7edHP7F7gJsLMLsJn5+1z/PT+ZenhA7EY7ONvgNKl # bR1p2Z2RlxGCCKTKhc2RJ5hvYQRxKL76zFr+23FUhgDjYahtAgMBAAGjggIDMIIB # /zAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNVHQ4EFgQU7WId # ep8KzsDOpdKUoMlbdIsx+ckwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsG # AQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0 # LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIw # MjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNl # cnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDA+ # BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRp # Z2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsGAQUFBzABhhho # dHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKGUGh0dHA6Ly9jYWNl # cnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNB # NDA5NlNIQTM4NDIwMjFDQTEuY3J0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQAD # ggIBAKWiLtlCokxJ3Z2lxExg3RLHEqYMrrZSQCud8jMJdkpJFn+YocIVY91pVFen # LroZOXaPSG5q9KVEOQ1rOjKDNZbkI1k/AC6qY4b6ZcwrSWjKpZYhPdeaKixp+see # MMv1HIZGBULIPv2ECsvYRXLBY2cMaFaDcT6zEJ2SwAlibWGsAffWCDmt+HDfvxCs # zFKkUuVUmLRKAKVoRVY5bMI9TBp+BOLsj5aD8OgulHk6htiJ7rh8mDt4CksEk1yE # e60BZiiyNTvcY/NdYyJc7onHkMguHDue6BMo6T8+3oTpuHYdddvvCeXGpGV9SG3M # SwgRuOVo7GCiRyRqJjd1ekeOKjjgwbqUqCwfydDZ3neUv9f/lZ/RwMvvQctmc1jv # DR2CoQ4tfMl7ISd3EmMRsDoQCk6SfV8AgC7ZpflVJRY5PZwxKB6lzy9lksdIs8IV # 4ef3uwIPdsuRQhsmqVMkZahtLqWHXP4QdKFLRYR6yFHoJ13L4dhwaRbbpTFPDyrS # LmSC7dbqYUlfQo23/yHMUKiG3+Tv+OELsbXaHC4DsKjl+3NxNRLOlq79AR5dNJJJ # 1vXfvgihF+hmsEs/3oEVv8QHQdbLSBF8QBSZ1+icPagquysQguKwbzMAMTCpyEws # LztEZyOIkkSuldBJxP6PdUcu6ywBry5uPEW06UbmfBtplI88MYIYPzCCGDsCAQEw # fTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNV # BAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hB # Mzg0IDIwMjEgQ0ExAhAJoJUtTqC7i9+OKkwQKIGcMA0GCWCGSAFlAwQCAQUAoIGg # MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor # BgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCDqBi4EJbk3XQ/nmhkqUFtZV67Odn9u # GMdNPWtiFqvqizA0BgorBgEEAYI3AgEMMSYwJKACgAChHoAcaHR0cHM6Ly93d3cu # c3BlY3NhdmVycy5jby51azANBgkqhkiG9w0BAQEFAASCAgDaH4+MUDJi/ugRFrN6 # bSXQsZtI0Xb5TRzS2ywJnPTlCnqyJJhIdTnfvTPMswqaIktv3bLCVAQVbnrLiaKu # Dm8kHPATDCK4Wy+FECi8XY1hWl6NTWmfW2giM/A2y2AB1+3AiCEpbCm/FxIb86dt # T1ypwZzFCOgtNo48gGG6wX1uaDtk70g5x/mlC8HjfilGVttjQ6bqjIlnkqRl4z6M # FnnHjNEX1qPP3dOEqWwJdzZ0eJVb8Eygl7E0QKTC57OQVtODE8H+H59MbmTfiJQA # lQ6XRKQJX2b+KTcvrEj8X+P+XV3KglzTyji/bOruF4rlIuWctM0FHrrgfnE1Qlxy # B4FihMIK+TkdzDz3OwgI3lM8URxBXTZI0dKJV05viBvohNeZgKFWf1TLUZZgSEXd # 9/CcN+9kb2GpvoysHd7sS4NDhYUOSXmzIHfR2y0/J8+SHWmWr7LWyabnHnZEh5/Y # i5UsHjeCAhb1SXfPifL9kSWriUPtSWr9X87TSNCuGaJsipqSHpjNyF20Cp5jctSY # J8kd2oJklIe38sNJOY2AEplY89dIaJ+oRcYzn9RGEnKiY0DnLbOrcDyo5FwDE0k5 # kpZzmRN8rqf7Tt6tpNZrHjLMjJKXfM788SUAfKKgvRNN+zZ2SrL9xcsHwXgwX6TC # oel6l535dSspYMn9xz0hP3NV76GCFPAwghTsBgorBgEEAYI3AwMBMYIU3DCCFNgG # CSqGSIb3DQEHAqCCFMkwghTFAgEDMQ0wCwYJYIZIAWUDBAIBMHcGCyqGSIb3DQEJ # EAEEoGgEZjBkAgEBBgwrBgEEAYKpMAEDBgEwMTANBglghkgBZQMEAgEFAAQgQH83 # 8ipieqczvxtefxwy8lkgPfKWkzNEKw2o9OrRLB0CCEDTDh1EqXIDGA8yMDIzMDkw # MTEyMDEyM1owAwIBAaCCEdkwggT5MIIC4aADAgECAhAa1gin1jS1zd6Xy6PM8NBL # MA0GCSqGSIb3DQEBCwUAMHMxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQ # MA4GA1UEBwwHSG91c3RvbjERMA8GA1UECgwIU1NMIENvcnAxLzAtBgNVBAMMJlNT # TC5jb20gVGltZXN0YW1waW5nIElzc3VpbmcgUlNBIENBIFIxMB4XDTIyMTIwOTE4 # MzA1MVoXDTMyMTIwNjE4MzA1MFowazELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRl # eGFzMRAwDgYDVQQHDAdIb3VzdG9uMREwDwYDVQQKDAhTU0wgQ29ycDEnMCUGA1UE # AwweU1NMLmNvbSBUaW1lc3RhbXBpbmcgVW5pdCAyMDIyMFkwEwYHKoZIzj0CAQYI # KoZIzj0DAQcDQgAE3nz6kiWUstk02cheBocqRK/WAmOOCkK/uP0dvuEDh8gMQi8m # DCKJVS0M2qjskniOpyOI//i9Wgdyb/R3gT07uKOCAVowggFWMB8GA1UdIwQYMBaA # FAydECWOmqcbmYdDzwh+4b2BkPTPMFEGCCsGAQUFBwEBBEUwQzBBBggrBgEFBQcw # AoY1aHR0cDovL2NlcnQuc3NsLmNvbS9TU0wuY29tLXRpbWVTdGFtcGluZy1JLVJT # QS1SMS5jZXIwUQYDVR0gBEowSDA8BgwrBgEEAYKpMAEDBgEwLDAqBggrBgEFBQcC # ARYeaHR0cHM6Ly93d3cuc3NsLmNvbS9yZXBvc2l0b3J5MAgGBmeBDAEEAjAWBgNV # HSUBAf8EDDAKBggrBgEFBQcDCDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3Js # cy5zc2wuY29tL1NTTC5jb20tdGltZVN0YW1waW5nLUktUlNBLVIxLmNybDAdBgNV # HQ4EFgQUBbqT0d/iFKwgKoZZMX8ocg6trF8wDgYDVR0PAQH/BAQDAgeAMA0GCSqG # SIb3DQEBCwUAA4ICAQBaqLSWEGMNRGjMx5OTZSS2ic8Q39543mTUt4jKzr2TwDJy # ccz3iFhqp3iOq8RnTsHsKkt4GHAj2ShGoNllU464QaRbTeaAnW52gkLlnCR739x9 # dODQYWLKpAqzMFqKNxNlHWsOPTwXmaGRTMpD62kxvyN1u+haD9QbsyPcYUhueg80 # Z95SMCIPNCYIprEQEiRMHMOCtlJNGtWjt4SfP0R4WexGdm0hEH8spuupFG7hrJLM # c24LQkmaZO+ly30/q0jiC+UmPlgiIlXfha1D3y4RTEs8Y8G1bkQORS3XC+/qfZLk # oIKVCPptn88K6KXV+hh6aeRH2HaVhmQ3QfUfn2yoiwueIG83drmwKxJ9UBzsHuSt # al6o2K3pWrSGzZQOTVEuwSZpnI5S7YhjH6sP35knxjr6NZXtRxZ0RY9UCWF/a2JL # tok7Yxkuo4lAJj+kNsorp5/JzVbYFGAqKw+TbIG5lRKs3HCCJCiJlvSMVhzkhRru # NWbMKUhigwAXHavjXFFU8I4OkJbxot60LQFWSml1s222Uoke4TNAg7XD8FzynYW7 # XRpCZrwrwX19+e6u/nZpAd1x2C7XqMRHwpczETCfQChdKkoeoX+D04PVmy8BTQgp # VkHjPQl7aYuRFg98LuQ5XyA6SJzcFGQzzq1TtAxrvfprHe9p2jD12U5fnL67/TCC # BdgwggTAoAMCAQICEQDkJwSV9oyR1tDse0lOpN8cMA0GCSqGSIb3DQEBCwUAMH4x # CzAJBgNVBAYTAlBMMSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEu # MScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNV # BAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMTgwOTExMDkyNjQ3WhcN # MjMwOTExMDkyNjQ3WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO # BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UE # AwwoU1NMLmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIw # DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh # 4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVTo # ZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO # 7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZEx # qysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9 # aqkpk8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrI # M/4RJTXq/LrFYD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUW # NmuF6R7As93EJNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH # 4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvig # Y2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnI # k2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s # bE6x/c+cCbqiM+2HAgMBAAGjggFRMIIBTTASBgNVHRMBAf8ECDAGAQH/AgECMB0G # A1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAfBgNVHSMEGDAWgBQIds3LB/8k # 9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYwNgYDVR0fBC8wLTAroCmgJ4Yl # aHR0cDovL3NzbGNvbS5jcmwuY2VydHVtLnBsL2N0bmNhLmNybDBzBggrBgEFBQcB # AQRnMGUwKQYIKwYBBQUHMAGGHWh0dHA6Ly9zc2xjb20ub2NzcC1jZXJ0dW0uY29t # MDgGCCsGAQUFBzAChixodHRwOi8vc3NsY29tLnJlcG9zaXRvcnkuY2VydHVtLnBs # L2N0bmNhLmNlcjA6BgNVHSAEMzAxMC8GBFUdIAAwJzAlBggrBgEFBQcCARYZaHR0 # cHM6Ly93d3cuY2VydHVtLnBsL0NQUzANBgkqhkiG9w0BAQsFAAOCAQEAH5WaI1Tu # hcLz1G+56QSPRn8s9zLAp0OsBwDt4KlFLf0X4e0AQMivmKz1wBmtG6CXMEBs7Fv7 # o5NOjIliG3zwOl+nQs9YynVlnCJMv3Z7mJOcFYMzsQ7cUTiHfJWcEmmUHgB4dH7c # wAZ3unAthyzXaJ3juoWtSfOPZLQVBoOSxpekQJOLrfFnlLS5WmdUPKgb2QXP5KT5 # iBIABoglhdRe7vOTV9aB+Cyu9/VRSKu2Yjp52+wu8j8UVjrI2cukok8lqNGbqy0w # IFAHGm/x8ZQdOYNj6B/9SdDoHUayRoImvZyd4aJoQUhRbnr8NZb0VNK8K0TlR9d3 # gqVKq1+XM6skETCCBvwwggTkoAMCAQICEG1SGHCH6CNNhWAA0ICPk1YwDQYJKoZI # hvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQH # DAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNT # TC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTkxMTEz # MTg1MDA1WhcNMzQxMTEyMTg1MDA1WjBzMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF # VGV4YXMxEDAOBgNVBAcMB0hvdXN0b24xETAPBgNVBAoMCFNTTCBDb3JwMS8wLQYD # VQQDDCZTU0wuY29tIFRpbWVzdGFtcGluZyBJc3N1aW5nIFJTQSBDQSBSMTCCAiIw # DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK5REBPS+TwgoCCF3slQHGTJ4f3F # 6TT/Cn8xSOhyWsVeqGH98Yf3UVz7t+bQwcITsD7CY6KoGP04OskBgareubfeMKcd # KwIE1YBBjKhq4urwiOqxLUmVcvb2oM0wx3BnxQ3NBLu9ZkwMnjQlIY2mEwZMgDaq # fZuiEa2BFzinXf3kRLKlQ5oa8ne3QU0vcG4qZvphy0xxBQXayqigzN3z2HQTq6N2 # 8EOjpnA2dajGPtiZ9aNJeDfcDka5j3KbhBkzk4RWCjx5vP8H6DKHIIs02GHgxv/j # G8JMIxWY1isG+IaB09livKbxlvzhNAKZK5fQmUstrpYrVo7qqXAhJtv1tUaHzrp6 # QpuUL9dE/bSAC7UKO9xhyJSA1OsYWDx/wAmBA84JzX8IJ1olJjCEmlJ2F4o6dCAR # KA2Zhk+EU4LogpowBReTlTW2NNwUKAW+8Cte0rhrMBZQ47Vjd92V0gEvouOTMtQJ # gk2QVeqGwFVw8y4HSdQNa8sl8+Kay2MnyUXhLoQLFaeVaLs4SVXBOe3Ua1Gp5j3J # 2+8Yue1T4V5wrsNuocNR3frpSt4yRIG3N68Bz1qqhk+eNUyO8WpXWlg6POZOJUdm # 0BzzRsB8V7kst8nM8joOe03KqhunBN69Ckeo8M32qo07zeveRrDwD2P4dmJLDYBf # lwZ1A/SQbS+HN+AHAgMBAAGjggGBMIIBfTASBgNVHRMBAf8ECDAGAQH/AgEAMB8G # A1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMIGDBggrBgEFBQcBAQR3MHUw # UQYIKwYBBQUHMAKGRWh0dHA6Ly93d3cuc3NsLmNvbS9yZXBvc2l0b3J5L1NTTGNv # bVJvb3RDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5UlNBLmNydDAgBggrBgEFBQcwAYYU # aHR0cDovL29jc3BzLnNzbC5jb20wPwYDVR0gBDgwNjA0BgRVHSAAMCwwKgYIKwYB # BQUHAgEWHmh0dHBzOi8vd3d3LnNzbC5jb20vcmVwb3NpdG9yeTATBgNVHSUEDDAK # BggrBgEFBQcDCDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3Jscy5zc2wuY29t # L3NzbC5jb20tcnNhLVJvb3RDQS5jcmwwHQYDVR0OBBYEFAydECWOmqcbmYdDzwh+ # 4b2BkPTPMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAkhl1DaZa # Qs8ZB9ny/JT6wJvwFelEllovcTPdUOUTe5mTdw/E+3JtV8u6ppyLRbpIHbYlMy20 # KJAychU6xdaci4BsP9oVNxSRMsEjfHKz7ARqPNdpclhYAINLjsFGMO1iUNbXiAsn # F/xboNCgfeMcMYbLyQYkU6UMobv9isrtQZ8e0EAQNV7qXJn4W0KyuTt0P8iIv/5D # dDpIUBIktDZcjz2KEW6B1gvvsKIM1esjYwWylAazBcQAake5pANMdSn8t1HdPKsi # wuWfOguyRQazAX8oXz6SlZSIok0Lis9a02vGVtdhEaB0R3HxIyNRMMKWV1yuSeUX # FuoexWav3GRPZC0WYb50SrW/l+wgrS8doetaMwyZon2L7ioYlIPSy1h9Dq/Q911P # sSkbEZ3zrsB1roVnIfBu5BJp0xvQrQ/Q4LavuvCoFR7QFoypNrotbNYi2AGMZw5t # d4zGZtCqUTPZi0BwSuRm+HRYAEMMThTwbJX/fYV1oC8mBN970yIvadIGKhh7+DmY # dRJYBrL8inVFCZAK+YX2w1+qWEnCSPL/VTWJtSRMhQFfceDKbJC+pBNksvKzqkva # 0J1ZyMj1i4vDfSuBmbz4rfzsvvJxS+quZDdkmW6MeXevWGBXvqzdbAw+AqTVsAQU # yP6tFeKZIL4S/fSFdl2rIx2X+KXkqx3S+EYxggJZMIICVQIBATCBhzBzMQswCQYD # VQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24xETAPBgNV # BAoMCFNTTCBDb3JwMS8wLQYDVQQDDCZTU0wuY29tIFRpbWVzdGFtcGluZyBJc3N1 # aW5nIFJTQSBDQSBSMQIQGtYIp9Y0tc3el8ujzPDQSzALBglghkgBZQMEAgGgggFh # MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjMw # OTAxMTIwMTIzWjAoBgkqhkiG9w0BCTQxGzAZMAsGCWCGSAFlAwQCAaEKBggqhkjO # PQQDAjAvBgkqhkiG9w0BCQQxIgQgx//C0ntOlScaz3qSvCPmmNksqxIsN+4EZ7EL # IncXlyAwgckGCyqGSIb3DQEJEAIvMYG5MIG2MIGzMIGwBCCNxcQlQtJPFc/1yBlu # 1FqDaNTK1r3L5CGp3iNQnYvTIjCBizB3pHUwczELMAkGA1UEBhMCVVMxDjAMBgNV # BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMREwDwYDVQQKDAhTU0wgQ29ycDEv # MC0GA1UEAwwmU1NMLmNvbSBUaW1lc3RhbXBpbmcgSXNzdWluZyBSU0EgQ0EgUjEC # EBrWCKfWNLXN3pfLo8zw0EswCgYIKoZIzj0EAwIESDBGAiEAsL9Q1es2z+PQplyv # 77X7HNr4xdF0upIvdEC40/+NVeMCIQCKieaBnl2/UD32H1gpHwAFfP+H2olR0l4l # o7lihdBLlg== # SIG # End signature block |