Skip to content

Instantly share code, notes, and snippets.

@ThioJoe
Last active August 8, 2025 15:31
Show Gist options
  • Select an option

  • Save ThioJoe/56e1c4951be2c1a19b126ec619ec26c4 to your computer and use it in GitHub Desktop.

Select an option

Save ThioJoe/56e1c4951be2c1a19b126ec619ec26c4 to your computer and use it in GitHub Desktop.
PowerShell script to allocate and pass through GPU to Hyper-V Virtual Machine
# Script to easily set resource allocation for GPUs to be passed through into a Hyper-V VM
#
# Author: ThioJoe / https://github.com/thiojoe
#
### Instructions for copying drivers to VM - Will likely need to do this before running this script
# NOTE: Instead of manually copying the files, if you have an Nvidia GPU you can use my other script called "Copy-GPU-Drivers-VM.ps1" to do it automatically
# 1. Open C:\Windows\System32 on host machine and copy any files beginning with "nv" (Except nvspinfo.exe and NvAgent.dll , which are unrelated)
# 2. Place those files into the System32 folder on the VM
# 3. On the VM, create the following directory: C:\Windows\System32\HostDriverStore\FileRepository
# 4. For Nvidia GPUs, open C:\Windows\System32\DriverStore\FileRepository, copy any folders beginning with "nv_" (The number of folders should match the number of GPUs, or at least number of different models of GPU)
# 5. Place those copied folders into the new HostDriverStore\FileRepository folder on the VM
# 6. Shut down VM and run this script.
# Ask for user input for VM Name
do {
Write-Host ""
$vm = Read-Host "Enter your Hyper-V VM Name"
$vmObject = Get-VM -Name $vm -ErrorAction SilentlyContinue
if (-not $vmObject) {
Write-Host "VM with name '$vm' not found. Please check the name and ensure you're running this script as administrator." -ForegroundColor Red
} else {
Write-Host "VM '$vm' found successfully." -ForegroundColor Green
}
} while (-not $vmObject)
# Ask for user input for number of GPUs
$numGPUs = Read-Host "`nEnter the number of GPUs (1 or 2)"
# Gets info about the GPUs and whether they are partitionable
Write-Host "`nRetrieving information about partitionable GPUs..." -ForegroundColor Yellow
$partitionableGPUs = Get-VMHostPartitionableGpu
# Displaying GPU information
foreach ($gpu in $partitionableGPUs) {
Write-Host "Partitionable GPU found: $($gpu.Name)" -ForegroundColor Yellow
}
# Pausing for user to review GPU information
Write-Host "`nPress Enter to proceed with the configuration..." -ForegroundColor Cyan
$null = Read-Host
# Get existing GPU adapters
$existingAdapters = Get-VMGpuPartitionAdapter -VMName $vm
# Loop through each GPU based on user input
for ($i=0; $i -lt $numGPUs; $i++) {
$targetGpu = $partitionableGPUs[$i]
$instancePath = $targetGpu.Name
Write-Host "Configuring GPU $i with Instance Path: $instancePath" -ForegroundColor Yellow
# Check if adapters with this instance path already exist
$matchingAdapters = $existingAdapters | Where-Object { $_.InstancePath -eq $instancePath }
$adapterCount = $matchingAdapters | Measure-Object | Select-Object -ExpandProperty Count
if ($adapterCount -gt 1) {
# Multiple adapters found - ask user if they want to remove them
Write-Host "`nWARNING: $adapterCount GPU adapters found with the same instance path." -ForegroundColor Red
Write-Host "This indicates duplicate assignments which may not be desired." -ForegroundColor Red
$removeChoice = Read-Host "Do you want to remove all existing adapters and create a fresh one? (Y/N)"
if ($removeChoice -eq "Y" -or $removeChoice -eq "y") {
Write-Host "Removing existing GPU adapters..." -ForegroundColor Yellow
foreach ($adapter in $matchingAdapters) {
Remove-VMGpuPartitionAdapter -VMName $vm -AdapterId $adapter.Id
Write-Host "Removed adapter with ID: $($adapter.Id)" -ForegroundColor Yellow
}
# Add new GPU adapter
Write-Host "Adding fresh GPU partition adapter for VM '$vm'..." -ForegroundColor Yellow
Add-VMGpuPartitionAdapter -VMName $vm -InstancePath $instancePath
# Get the newly added adapter
$gpus = Get-VMGpuPartitionAdapter -VMName $vm
$existingAdapter = $gpus | Where-Object { $_.InstancePath -eq $instancePath }
$adapterId = $existingAdapter.Id
} else {
# User chose not to remove - use the first adapter
Write-Host "Using the first existing adapter for configuration." -ForegroundColor Yellow
$adapterId = $matchingAdapters[0].Id
}
} elseif ($adapterCount -eq 1) {
Write-Host "One GPU adapter for instance path $instancePath already exists. Using existing adapter." -ForegroundColor Yellow
$adapterId = $matchingAdapters[0].Id
} else {
# Add new GPU adapter
Write-Host "Adding GPU partition adapter for VM '$vm'..." -ForegroundColor Yellow
Add-VMGpuPartitionAdapter -VMName $vm -InstancePath $instancePath
# Get the newly added adapter
$gpus = Get-VMGpuPartitionAdapter -VMName $vm
$existingAdapter = $gpus | Where-Object { $_.InstancePath -eq $instancePath }
$adapterId = $existingAdapter.Id
}
# Configure GPU adapter (whether existing or new)
Write-Host "Setting configurations for GPU partition adapter..." -ForegroundColor Yellow
Set-VMGpuPartitionAdapter -VMName $vm -AdapterId $adapterId `
-MinPartitionVRAM $targetGpu.MinPartitionVRAM `
-MaxPartitionVRAM $targetGpu.MaxPartitionVRAM `
-OptimalPartitionVRAM $targetGpu.OptimalPartitionVRAM `
-MinPartitionEncode $targetGpu.MinPartitionEncode `
-MaxPartitionEncode $targetGpu.MaxPartitionEncode `
-OptimalPartitionEncode $targetGpu.OptimalPartitionEncode `
-MinPartitionDecode $targetGpu.MinPartitionDecode `
-MaxPartitionDecode $targetGpu.MaxPartitionDecode `
-OptimalPartitionDecode $targetGpu.OptimalPartitionDecode `
-MinPartitionCompute $targetGpu.MinPartitionCompute `
-MaxPartitionCompute $targetGpu.MaxPartitionCompute `
-OptimalPartitionCompute $targetGpu.OptimalPartitionCompute
Write-Host "GPU configuration completed for adapter ID: $adapterId`n" -ForegroundColor Green
}
# Additional VM settings
Write-Host "Setting additional VM configurations for '$vm'..." -ForegroundColor Yellow
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1GB -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
Write-Host "Additional VM configurations set." -ForegroundColor Green
Write-Host "`n--------------------------------------------------------------------------"
Write-Host "Script execution complete. If there were no errors, your VM '$vm' is now configured with GPU passthrough.`n" -ForegroundColor Green
# SIG # Begin signature block
# MII6kAYJKoZIhvcNAQcCoII6gTCCOn0CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBF5RiZ8NiD+X12
# aJHOzeZpozXXfpNauEMHGPYJy4tXLqCCIrQwggXMMIIDtKADAgECAhBUmNLR1FsZ
# lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu
# dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy
# MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv
# c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo
# b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD
# Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH
# or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD
# PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV
# qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70
# ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1
# vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3
# W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK
# xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg
# trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj
# O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7
# swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE
# AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ
# T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn
# LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c
# Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF
# xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx
# AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8
# FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY
# lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2
# 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY
# uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al
# GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk
# ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T
# 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggbuMIIE1qADAgECAhMzAALtvQ7r
# mviBJqoOAAAAAu29MA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ
# RCBWZXJpZmllZCBDUyBBT0MgQ0EgMDIwHhcNMjUwMzA1MTEyNjUwWhcNMjUwMzA4
# MTEyNjUwWjBsMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHV3lvbWluZzERMA8GA1UE
# BxMIU2hlcmlkYW4xGzAZBgNVBAoTElRoaW8gU29mdHdhcmUsIExMQzEbMBkGA1UE
# AxMSVGhpbyBTb2Z0d2FyZSwgTExDMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
# igKCAYEAqxZlpsKXMGXjrF+aj89M+goMOvNaHBaP7KPiZg7iJpKu1UdkeOEV/wP2
# ZFFJCe1LrbWzu+G6GidWtLGlUJM9RoXlALXBGAQp5z04Z4DVPi/l9PldiCb2VFPG
# tSCoGPrg7tPVQUCJOU+tfWxp4m5R2pLlfw4IFjMHELeEvAQRHktGvwJWZi+korzY
# 8qVbxmEyGg7K0uV6OeSDjFnb3WvwFSFjM549vzDbrnqCxHqATyLkN+cx5O9C95rA
# sfdtyFyzo+xxrxw+GBVAMWzEWtZ+YgNvkUMpDSTFQxzQN8ZWuYh/VFEs0rBlj6XJ
# 22Et0xBBbMrbjrN6WU3dRYUJOs9pJig635Xl8fQqWSSz7pF8EU8bwmsRynnJJVbp
# FAWajhd+a8RWLKNwZ8W1RVaa1Q4STaP9BSg0w3aTvIJYYXNzU/tF8y74H6R8IRnK
# sY4WPXfcKCu3yDhQT2rhg/LvquHFOrJoUP4FL55kfrwigcJVNvNh6ahBC0T+6Khq
# T4wl7iADAgMBAAGjggIZMIICFTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIH
# gDA8BgNVHSUENTAzBgorBgEEAYI3YQEABggrBgEFBQcDAwYbKwYBBAGCN2GCyITf
# TKbD3mqByam9GIO77qlmMB0GA1UdDgQWBBSr2AYaNAh3/xAG094Qu1ypBXm4pjAf
# BgNVHSMEGDAWgBQkRZmhd5AqfMPKg7BuZBaEKvgsZzBnBgNVHR8EYDBeMFygWqBY
# hlZodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQl
# MjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBBT0MlMjBDQSUyMDAyLmNybDCBpQYIKwYB
# BQUHAQEEgZgwgZUwZAYIKwYBBQUHMAKGWGh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
# bS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENTJTIw
# QU9DJTIwQ0ElMjAwMi5jcnQwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1p
# Y3Jvc29mdC5jb20vb2NzcDBmBgNVHSAEXzBdMFEGDCsGAQQBgjdMg30BATBBMD8G
# CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv
# UmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQDJ9pqA
# Y7jUMmDWd+BP3PFlOxgqV5BCgRNplIjgpFNxOK6ynHukwZImPrcD8momkzqLIKg0
# aoV/PcQHAT3hZFbtSdV9oUZl7Y/aKFDA6HE1LjLg2BWP9xHtdJUq34DQR4o070Xm
# mo6IPhNkE4NwBCZr1kgM57dbf5NQ+FQWwVW0e2a7mUr1/CiG3mCOoNYABDGIcLKH
# aKR7x2KUO315e09i4BjYUenVvgdMlOsmnOjs7kATvPf15n3cyFwagk1OntbGyVl/
# 5ge9npMsBAWINYy/w50sMF1zANh2OhxY4aZrCsANlukOcJiG+qZs1bY5O3AK3zFz
# t0Mvao4+q5sR5pi+L8fVF/buQaIXjKGLhRS3l4B1cwGCMa4hLrtsj2erD9RogaUM
# WIXm8sbl5pq8ZCRQzOGblc9rz70aXMKQ9UKaECwkEApx4NM9Uyiey5CmG9PuEtSP
# XIPDt7YEJVQQA/oxV1/PgmsBUeUp0z879B5hnCi6GoouYE2Q8LZQc30MvkvE4y18
# vfsZVvBoWwz5cnLFucxs1tcuPfhMkIHMBp7kKQRZ8FlCycHnYs9DWtPe5TDR5Qtc
# RSsy17uk3jaqZO+rtWq0kzBU2/gRMBcF9+IoYrWW6T0wjvc/QZk8lWoE3sbne2yF
# pRyLX2roNbQGpVrYm0Tbp5ObzxM45zAeFj2vdjCCBu4wggTWoAMCAQICEzMAAu29
# Duua+IEmqg4AAAAC7b0wDQYJKoZIhvcNAQEMBQAwWjELMAkGA1UEBhMCVVMxHjAc
# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0
# IElEIFZlcmlmaWVkIENTIEFPQyBDQSAwMjAeFw0yNTAzMDUxMTI2NTBaFw0yNTAz
# MDgxMTI2NTBaMGwxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdXeW9taW5nMREwDwYD
# VQQHEwhTaGVyaWRhbjEbMBkGA1UEChMSVGhpbyBTb2Z0d2FyZSwgTExDMRswGQYD
# VQQDExJUaGlvIFNvZnR3YXJlLCBMTEMwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw
# ggGKAoIBgQCrFmWmwpcwZeOsX5qPz0z6Cgw681ocFo/so+JmDuImkq7VR2R44RX/
# A/ZkUUkJ7UuttbO74boaJ1a0saVQkz1GheUAtcEYBCnnPThngNU+L+X0+V2IJvZU
# U8a1IKgY+uDu09VBQIk5T619bGniblHakuV/DggWMwcQt4S8BBEeS0a/AlZmL6Si
# vNjypVvGYTIaDsrS5Xo55IOMWdvda/AVIWMznj2/MNuueoLEeoBPIuQ35zHk70L3
# msCx923IXLOj7HGvHD4YFUAxbMRa1n5iA2+RQykNJMVDHNA3xla5iH9UUSzSsGWP
# pcnbYS3TEEFsytuOs3pZTd1FhQk6z2kmKDrfleXx9CpZJLPukXwRTxvCaxHKeckl
# VukUBZqOF35rxFYso3BnxbVFVprVDhJNo/0FKDTDdpO8glhhc3NT+0XzLvgfpHwh
# GcqxjhY9d9woK7fIOFBPauGD8u+q4cU6smhQ/gUvnmR+vCKBwlU282HpqEELRP7o
# qGpPjCXuIAMCAwEAAaOCAhkwggIVMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQD
# AgeAMDwGA1UdJQQ1MDMGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhsrBgEEAYI3YYLI
# hN9MpsPeaoHJqb0Yg7vuqWYwHQYDVR0OBBYEFKvYBho0CHf/EAbT3hC7XKkFebim
# MB8GA1UdIwQYMBaAFCRFmaF3kCp8w8qDsG5kFoQq+CxnMGcGA1UdHwRgMF4wXKBa
# oFiGVmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m
# dCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEFPQyUyMENBJTIwMDIuY3JsMIGlBggr
# BgEFBQcBAQSBmDCBlTBkBggrBgEFBQcwAoZYaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1Ml
# MjBBT0MlMjBDQSUyMDAyLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29uZW9jc3Au
# bWljcm9zb2Z0LmNvbS9vY3NwMGYGA1UdIARfMF0wUQYMKwYBBAGCN0yDfQEBMEEw
# PwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9j
# cy9SZXBvc2l0b3J5Lmh0bTAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQADggIBAMn2
# moBjuNQyYNZ34E/c8WU7GCpXkEKBE2mUiOCkU3E4rrKce6TBkiY+twPyaiaTOosg
# qDRqhX89xAcBPeFkVu1J1X2hRmXtj9ooUMDocTUuMuDYFY/3Ee10lSrfgNBHijTv
# Reaajog+E2QTg3AEJmvWSAznt1t/k1D4VBbBVbR7ZruZSvX8KIbeYI6g1gAEMYhw
# sodopHvHYpQ7fXl7T2LgGNhR6dW+B0yU6yac6OzuQBO89/XmfdzIXBqCTU6e1sbJ
# WX/mB72ekywEBYg1jL/DnSwwXXMA2HY6HFjhpmsKwA2W6Q5wmIb6pmzVtjk7cArf
# MXO3Qy9qjj6rmxHmmL4vx9UX9u5BoheMoYuFFLeXgHVzAYIxriEuu2yPZ6sP1GiB
# pQxYhebyxuXmmrxkJFDM4ZuVz2vPvRpcwpD1QpoQLCQQCnHg0z1TKJ7LkKYb0+4S
# 1I9cg8O3tgQlVBAD+jFXX8+CawFR5SnTPzv0HmGcKLoaii5gTZDwtlBzfQy+S8Tj
# LXy9+xlW8GhbDPlycsW5zGzW1y49+EyQgcwGnuQpBFnwWULJwediz0Na097lMNHl
# C1xFKzLXu6TeNqpk76u1arSTMFTb+BEwFwX34ihitZbpPTCO9z9BmTyVagTexud7
# bIWlHItfaug1tAalWtibRNunk5vPEzjnMB4WPa92MIIHWjCCBUKgAwIBAgITMwAA
# AASWUEvS2+7LiAAAAAAABDANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQGEwJVUzEe
# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTQwMgYDVQQDEytNaWNyb3Nv
# ZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWduaW5nIFBDQSAyMDIxMB4XDTIxMDQxMzE3
# MzE1MloXDTI2MDQxMzE3MzE1MlowWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1p
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZlcmlm
# aWVkIENTIEFPQyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
# AOHOoOgzomOmwDsAj2wZUBdrY6N3JFGbmm+WaKzJ0aeKzpsGQ4k2yKcxZGf5PJOI
# rwSVdcOf2/6MpCPnlwKmmsTHcgDtDKHZxFuyJ30Pq05MpBMx8UWwjYOig7E52HP2
# HS+yCIiZYvJOdbqWhyy+wmJvWDXNEhWL5WhY9jtB4zvcvzUZnFjY2pmTpUY8VtnF
# oFLFHWs0h4EQnpPO1dmzP9e2/qPFl1FvdSKYIEWrJomeuVhBR1ym8oZti24QSumV
# pkKBXhPhlqylghiv6v+EYk2jDYR11r1r/v/yOfFLTsVYtw2itX0OmC8iCBh8w+Ap
# rXKxor8bqav3K6x7pxjQe//0JrpdmT/R3DpmP2qbYFJ8E/ttIPwN+4g37rlcOskt
# i6NP5Kf42/ifLxOBTKiIsMRgci+PNjzFQQt6nfzWxUGvDJo+np7FPhxKr/Wq/gG3
# CsLpm2aiSSpkKxmkjXVn5NjaHYHFjpqu48oW8cGTo5y49P28J7FDXDQHtPb/qoqM
# 8kEHrPAN1Fz3EUG/BvnNMmjtiAon1kyu8krslCfPJNZrTdtgjX7W44rYgHmn6GfV
# ZoZ+UX2/kvyuWq1b03C7pLeT3Uw0MZeeexCBOgPulxQaXbIzs5C83RIexC5PD1Tz
# I0HzwoCrSfOHNe33dgvfqcRdZREFBV2P2LQi/jZrPXFlAgMBAAGjggIOMIICCjAO
# BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFCRFmaF3
# kCp8w8qDsG5kFoQq+CxnMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y
# eS5odG0wGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwEgYDVR0TAQH/BAgwBgEB
# /wIBADAfBgNVHSMEGDAWgBTZQSmwDw9jbO9p1/XNKZ6kSGow5jBwBgNVHR8EaTBn
# MGWgY6Bhhl9odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNy
# b3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUyMFNpZ25pbmclMjBQQ0ElMjAy
# MDIxLmNybDCBrgYIKwYBBQUHAQEEgaEwgZ4wbQYIKwYBBQUHMAKGYWh0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBW
# ZXJpZmllZCUyMENvZGUlMjBTaWduaW5nJTIwUENBJTIwMjAyMS5jcnQwLQYIKwYB
# BQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDANBgkqhkiG
# 9w0BAQwFAAOCAgEAZy04XZWzDSKJHSrc0mvIqPqRDveQnN1TsmP4ULCCHHTMpNoS
# Tsy7fzNVl30MhJQ5P0Lci81+t03Tm+SfpzvLdKc88Iu2WLzIjairwEDudLDDiZ90
# 94Qj6acTTYaBhVcc9lMokOG9rzq3LCyvUzhBV1m1DCTm0fTzNMGbAASIbuJOlVS8
# RA3tBknkF/2ROzx304OOC7n7eCCqmJp79QrqLKd4JRWLFXoC5zFmVGfFLTvRfEAo
# gKLiWIS+TpQpLIA2/b3vx0ISxZ3pX4OnULmyBbKgfSJQqJ2CiWfx2jGb2LQO8vRD
# kSuHMZb03rQlwB2soklx9LnhP0/dsFRtHLL+VXVMo+sla5ttr5SmAJFyDSrwzgfP
# rOIfk4EoZVGtgArthVp+yc5U0m6ZNCBPERLmJpLshPwU5JPd1gzMez8C55+CfuX5
# L2440NPDnsH6TIYfErj3UCqpmeNCOFtlMiSjDE23rdeiRYpkqgwoYJwgepcJaXtI
# H26Pe1O6a6W3wSqegdpNn+2Pk41q0GDfjnXDzskAHcRhjwcCUmiRt6IXZJQsYACe
# WpwsXmJe0o0ORLmumrYyHlYTdCnzyxT6WM+QkFPiQth+/ceHfzumDhUfWmHuePwh
# rqe3UVCHy0r9f49Az3OhJX92MlsZaFo/MnmN5B62RWgJUTMIQF8j0N6xF/cwggee
# MIIFhqADAgECAhMzAAAAB4ejNKN7pY4cAAAAAAAHMA0GCSqGSIb3DQEBDAUAMHcx
# CzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBG
# BgNVBAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0
# aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMTA0MDEyMDA1MjBaFw0zNjA0MDEy
# MDE1MjBaMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBDb2RlIFNpZ25p
# bmcgUENBIDIwMjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCy8MCv
# GYgo4t1UekxJbGkIVQm0Uv96SvjB6yUo92cXdylN65Xy96q2YpWCiTas7QPTkGnK
# 9QMKDXB2ygS27EAIQZyAd+M8X+dmw6SDtzSZXyGkxP8a8Hi6EO9Zcwh5A+wOALNQ
# bNO+iLvpgOnEM7GGB/wm5dYnMEOguua1OFfTUITVMIK8faxkP/4fPdEPCXYyy8NJ
# 1fmskNhW5HduNqPZB/NkWbB9xxMqowAeWvPgHtpzyD3PLGVOmRO4ka0WcsEZqyg6
# efk3JiV/TEX39uNVGjgbODZhzspHvKFNU2K5MYfmHh4H1qObU4JKEjKGsqqA6Rzi
# ybPqhvE74fEp4n1tiY9/ootdU0vPxRp4BGjQFq28nzawuvaCqUUF2PWxh+o5/TRC
# b/cHhcYU8Mr8fTiS15kRmwFFzdVPZ3+JV3s5MulIf3II5FXeghlAH9CvicPhhP+V
# aSFW3Da/azROdEm5sv+EUwhBrzqtxoYyE2wmuHKws00x4GGIx7NTWznOm6x/niqV
# i7a/mxnnMvQq8EMse0vwX2CfqM7Le/smbRtsEeOtbnJBbtLfoAsC3TdAOnBbUkbU
# fG78VRclsE7YDDBUbgWt75lDk53yi7C3n0WkHFU4EZ83i83abd9nHWCqfnYa9qIH
# PqjOiuAgSOf4+FRcguEBXlD9mAInS7b6V0UaNwIDAQABo4ICNTCCAjEwDgYDVR0P
# AQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTZQSmwDw9jbO9p
# 1/XNKZ6kSGow5jBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt
# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYD
# VR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIwgYQGA1UdHwR9MHsweaB3oHWG
# c2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy
# MElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIw
# QXV0aG9yaXR5JTIwMjAyMC5jcmwwgcMGCCsGAQUFBwEBBIG2MIGzMIGBBggrBgEF
# BQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNy
# b3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZp
# Y2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8v
# b25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJKoZIhvcNAQEMBQADggIBAH8l
# Kp7+1Kvq3WYK21cjTLpebJDjW4ZbOX3HD5ZiG84vjsFXT0OB+eb+1TiJ55ns0BHl
# uC6itMI2vnwc5wDW1ywdCq3TAmx0KWy7xulAP179qX6VSBNQkRXzReFyjvF2BGt6
# FvKFR/imR4CEESMAG8hSkPYso+GjlngM8JPn/ROUrTaeU/BRu/1RFESFVgK2wMz7
# fU4VTd8NXwGZBe/mFPZG6tWwkdmA/jLbp0kNUX7elxu2+HtHo0QO5gdiKF+YTYd1
# BGrmNG8sTURvn09jAhIUJfYNotn7OlThtfQjXqe0qrimgY4Vpoq2MgDW9ESUi1o4
# pzC1zTgIGtdJ/IvY6nqa80jFOTg5qzAiRNdsUvzVkoYP7bi4wLCj+ks2GftUct+f
# GUxXMdBUv5sdr0qFPLPB0b8vq516slCfRwaktAxK1S40MCvFbbAXXpAZnU20FaAo
# Dwqq/jwzwd8Wo2J83r7O3onQbDO9TyDStgaBNlHzMMQgl95nHBYMelLEHkUnVVVT
# UsgC0Huj09duNfMaJ9ogxhPNThgq3i8w3DAGZ61AMeF0C1M+mU5eucj1Ijod5O2M
# MPeJQ3/vKBtqGZg4eTtUHt/BPjN74SsJsyHqAdXVS5c+ItyKWg3Eforhox9k3Wgt
# WTpgV4gkSiS4+A09roSdOI4vrRw+p+fL4WrxSK5nMYIXMjCCFy4CAQEwcTBaMQsw
# CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYD
# VQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgQU9DIENBIDAyAhMzAALtvQ7r
# mviBJqoOAAAAAu29MA0GCWCGSAFlAwQCAQUAoF4wEAYKKwYBBAGCNwIBDDECMAAw
# GQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEICQFdIgk
# Q8vySK41ih1cRyFRzHViHCZ0JgEXrzSqzy+AMA0GCSqGSIb3DQEBAQUABIIBgCW5
# SruTGhAqxTlV9RsNcPVVj3IvbuSK6GaNSizmyQgLCFhps6sRiupt97fPorrCkTmX
# tLad5pb1KyQddI9n0j9d4/b83eaKvsgP6+k2grl0H41ECKLF8lFCMvmQdeOSJZuw
# XqEaxA6ex3xMGHqxXtk86YdUiyx6/41BIqi6LoNCsZMR64RL+FyLH5q8Khiegsc4
# i4Baq38qHfhdV4sC3LM6ZNbRiftHZ0ZlJ5vfrhrbx1xeFQ9tVOIY5zSZyQHpqAuW
# lU5A4rjW2+nvB+dfJ9PXEx8EAXhPWXLjoGrc0Hq5YAoxid1UafImFEUZ5feHzu82
# ruUamgsrpqDeWdUyRHulKJjRE1M3PpN/SlCjtzmaroG1d4k0N+bD2oDLdXntZJRt
# Zdfnvus429yzSZYQree48F4E8Vu7oZ01NGQ1bjHUjSMfxJFhSjy/g1JQC6b7toDw
# +0l1Vig0fYXwXaO75V6hKy2CSs/0gE32DR2wU5BsCsBJnweqLkilt6aQsz6Qj6GC
# FLIwghSuBgorBgEEAYI3AwMBMYIUnjCCFJoGCSqGSIb3DQEHAqCCFIswghSHAgED
# MQ8wDQYJYIZIAWUDBAIBBQAwggFqBgsqhkiG9w0BCRABBKCCAVkEggFVMIIBUQIB
# AQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCC37nNTwZDvfS+x4grM7Mfj
# dXQwaP/1ue32wHJLbnnsEgIGZ7jUk3ESGBMyMDI1MDMwNTE2NTQxNS44MDhaMASA
# AgH0oIHppIHmMIHjMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
# MS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx
# JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3QTFBLTA1RTAtRDk0NzE1MDMGA1UE
# AxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHmg
# gg8pMIIHgjCCBWqgAwIBAgITMwAAAAXlzw//Zi7JhwAAAAAABTANBgkqhkiG9w0B
# AQwFADB3MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMUgwRgYDVQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJv
# b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjAxMTE5MjAzMjMxWhcN
# MzUxMTE5MjA0MjMxWjBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l
# c3RhbXBpbmcgQ0EgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
# AJ5851Jj/eDFnwV9Y7UGIqMcHtfnlzPREwW9ZUZHd5HBXXBvf7KrQ5cMSqFSHGqg
# 2/qJhYqOQxwuEQXG8kB41wsDJP5d0zmLYKAY8Zxv3lYkuLDsfMuIEqvGYOPURAH+
# Ybl4SJEESnt0MbPEoKdNihwM5xGv0rGofJ1qOYSTNcc55EbBT7uq3wx3mXhtVmtc
# CEr5ZKTkKKE1CxZvNPWdGWJUPC6e4uRfWHIhZcgCsJ+sozf5EeH5KrlFnxpjKKTa
# vwfFP6XaGZGWUG8TZaiTogRoAlqcevbiqioUz1Yt4FRK53P6ovnUfANjIgM9JDdJ
# 4e0qiDRm5sOTiEQtBLGd9Vhd1MadxoGcHrRCsS5rO9yhv2fjJHrmlQ0EIXmp4DhD
# BieKUGR+eZ4CNE3ctW4uvSDQVeSp9h1SaPV8UWEfyTxgGjOsRpeexIveR1MPTVf7
# gt8hY64XNPO6iyUGsEgt8c2PxF87E+CO7A28TpjNq5eLiiunhKbq0XbjkNoU5Jht
# YUrlmAbpxRjb9tSreDdtACpm3rkpxp7AQndnI0Shu/fk1/rE3oWsDqMX3jjv40e8
# KN5YsJBnczyWB4JyeeFMW3JBfdeAKhzohFe8U5w9WuvcP1E8cIxLoKSDzCCBOu0h
# WdjzKNu8Y5SwB1lt5dQhABYyzR3dxEO/T1K/BVF3rV69AgMBAAGjggIbMIICFzAO
# BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGtpKDo1
# L0hjQM972K9J6T7ZPdshMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y
# eS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA
# YgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSobyhmYBAcn
# z1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRp
# b24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNybDCB
# lAYIKwYBBQUHAQEEgYcwgYQwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3Lm1pY3Jv
# c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVy
# aWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAy
# MC5jcnQwDQYJKoZIhvcNAQEMBQADggIBAF+Idsd+bbVaFXXnTHho+k7h2ESZJRWl
# uLE0Oa/pO+4ge/XEizXvhs0Y7+KVYyb4nHlugBesnFqBGEdC2IWmtKMyS1OWIviw
# pnK3aL5JedwzbeBF7POyg6IGG/XhhJ3UqWeWTO+Czb1c2NP5zyEh89F72u9UIw+I
# fvM9lzDmc2O2END7MPnrcjWdQnrLn1Ntday7JSyrDvBdmgbNnCKNZPmhzoa8PccO
# iQljjTW6GePe5sGFuRHzdFt8y+bN2neF7Zu8hTO1I64XNGqst8S+w+RUdie8fXC1
# jKu3m9KGIqF4aldrYBamyh3g4nJPj/LR2CBaLyD+2BuGZCVmoNR/dSpRCxlot0i7
# 9dKOChmoONqbMI8m04uLaEHAv4qwKHQ1vBzbV/nG89LDKbRSSvijmwJwxRxLLpMQ
# /u4xXxFfR4f/gksSkbJp7oqLwliDm/h+w0aJ/U5ccnYhYb7vPKNMN+SZDWycU5OD
# IRfyoGl59BsXR/HpRGtiJquOYGmvA/pk5vC1lcnbeMrcWD/26ozePQ/TWfNXKBOm
# kFpvPE8CH+EeGGWzqTCjdAsno2jzTeNSxlx3glDGJgcdz5D/AAxw9Sdgq/+rY7jj
# gs7X6fqPTXPmaCAJKVHAP19oEjJIBwD1LyHbaEgBxFCogYSOiUIr0Xqcr1nJfiWG
# 2GwYe6ZoAF1bMIIHnzCCBYegAwIBAgITMwAAAER45LNw/Hbb6gAAAAAARDANBgkq
# hkiG9w0BAQwFADBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENv
# cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lc3Rh
# bXBpbmcgQ0EgMjAyMDAeFw0yNDA0MTgxNzU5MjFaFw0yNTA0MTcxNzU5MjFaMIHj
# MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
# bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRN
# aWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5T
# aGllbGQgVFNTIEVTTjo3QTFBLTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0
# IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqGSIb3
# DQEBAQUAA4ICDwAwggIKAoICAQCkOm8duCg12uPg10xT6Cq6p3rqkaoYZrIyu9Rs
# j1pFsoU1aG2xh5IVMn8JX+rE3DVagmANFwKQ/lLext/45uMFC71vLxqQCw6VBXgA
# Ovg/D2631BjEYa7WRkb/OTOQqEOBEjRwLfLier4O+FCWZDy5BlpZzWBsSHcV5OrW
# rrhdeWD4EZILdKOqJFXiM3hRz/OO+cua3HfZwcA4Q9WYNFex2pyIAfShiUhMjCr2
# YGRFFwOFyzv27f/qXBYdAlkmQXlZsPQAWmnHnbvDyNg/b6fHBQSoSjW6h/2m5Ghh
# +D72RQQ6Sv3UYA7MvoQYNXHp8CnlQtlUI8t4muRefT/jwVXRSzpgQtaMhD6v7nnY
# du1CSzdV58TOa523bre4iYyzA5skuxDOaJFDkYlvRRftfTRgBfyhIj9EJpmkS89w
# /kJgO+4OxXDLvta0uQo2R+N8ixVx5odrLuK0O2oCEZF0xzR9THbYUSBb0peaAXbz
# iUHlSp92N1L6wO24DdKfjY12/CSLxFpXIdaO3Cp8zUOxPpLNAoT2AYvU8JAY6yQM
# NFEbQWF2qJ+wrVrPLlRvuYt7EvLNOZKUGvSAp83fYsou1x803cFSQfixHLcGo/7z
# eZ92SeTbtId2vGpGJwiWSrNXVIE0BTOzVrbAUZl3rTUw61SiHop8eSqXfIpqQH7S
# 7GhgnQIDAQABo4IByzCCAccwHQYDVR0OBBYEFCCPw+UF492FV00UbbZlYYgv0MOu
# MB8GA1UdIwQYMBaAFGtpKDo1L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMwYaBf
# oF2GW2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m
# dCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcmww
# eQYIKwYBBQUHAQEEbTBrMGkGCCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jvc29m
# dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRp
# bWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB
# Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBRBgwr
# BgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkqhkiG
# 9w0BAQwFAAOCAgEAFgi00QwJ/iM7fbqNgXFAC8IwZ+aLZGFJzVDNcFg7qM20LvnL
# jor98X8hdORnEmU08uQ0B5FqrbDFoXKZNKFrWnv81NlkwOkMnlEGLQIAVzBgRHOK
# LtKgyc864JkON4Cxt2eBpdv3EGwjYjb6jSCME5XEfl2isP6fNivL5zYFuyXTmtTi
# c25M3eEt0PiAgfX34kvHkexN44XzMT+mixR93L2ohq7bgP6I//Zmn5Ol7dBlzJXf
# NpQyWLCVuEiIqB5jaYmAj3umgG3hU6ykUgXyx2i15rtflJc/ddUKlB9p2Hh/Up+O
# 7cTw0A4BjvtYs5ogqWurdaGzWrStMkB+yGgv78iNYJ8mEBoN1ylhP95BbhXltF75
# 4yRx6N09tX8sN9gwc8ukv1PRNYQ3fskSURMlikW7IiG7OBH4Fx3ZVWo/TtksXZau
# XF2Ie3Mb5h1QamrP2il9Ym4szqyMGlv7eMEI3D1B2uXgC1bOFzxMZxpQLQ2M+xix
# ycurfC2ptjv5KJyTw2BxqUSBvzwSNgvDRfrrYo+ODKX7owxH0stNbvWPdrP/ElhS
# eDZvAyI9CrhT0FRhNtVIx0kEVywCwpBOCtcEjQy0u16kWk3JK5lv0bVx0Bcb88Uo
# cU8xjgv2LmWxlYey+aMpdy6nb/ZYEBvr6sZE276zm7wSgr+DM9VZqq/rZgExggPU
# MIID0AIBATB4MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFt
# cGluZyBDQSAyMDIwAhMzAAAARHjks3D8dtvqAAAAAABEMA0GCWCGSAFlAwQCAQUA
# oIIBLTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIE
# ILpjxVG8ii379DFA/Yq/by/tbgOyj+Df6Q+kD6aV2E8KMIHdBgsqhkiG9w0BCRAC
# LzGBzTCByjCBxzCBoAQgdWVJ7Gn31DnkMwnvpWJjMD7VtGgYCMppdl2knxpf5ZYw
# fDBlpGMwYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5n
# IENBIDIwMjACEzMAAABEeOSzcPx22+oAAAAAAEQwIgQgh4ir7L6OSnsS7N0Z58NF
# w8CJZK6BqOkWzz9C0LGCymYwDQYJKoZIhvcNAQELBQAEggIAm69ytnxXe8J3Ahva
# wZb8J9BGqMUXh3wTn5GV6JmOSIo2tnN9/IkSrWzV0v9wHyAdBlOJrmjVXQXwGHVM
# iB1Hggv69DpkzI/zUY+n72g2n268u14JV5gpdHRO3pwhAnTtgFnRcG/hVcYA+dsw
# iXX6BnU2n4kDi5H9mu4IAvbo2ZMRZ6mpEBR5FmHWZQEUsYkm4HdPZ3r0SJthRCrx
# 15PGXzOovv782D/YWHVS5sTJAvKiO9xZ8+TWUbR63jewO409iilILxzOEXH849vY
# uuPz06ZyKsyIxP1ynfQFIlFmn9AKrLGHfkVrd3UsggtjkG+vkY/6Im8sizPzjck2
# +5wR+MWfN6ewSvdup7W5lFG98zxcvraq1k+AizTsy/xUtksEMYpqaa5LAVwNtyEt
# y8fJTixNJbW0mDykRVuc5IOKsKn8HkrCygBDLcd9efQJwtLpNUdgCE06HyWb9b1l
# 7qepKN+SlQQ5TAGJHE7BxyhhUUJljgUPODPohOUDoEBNXIXSsaXtO21PPqVMiPDU
# 23kNvPqCPCXqRpnl3+9ONF7NGb32zpE1duWP/sp0fIHebPgKxqBGvatjWhhEL7Ou
# fdFQ+68Hz5fPISSCqPU/GImcVZaigYSqN9CwAeRYA11XzUJHVMFjE2ZoSMZ7aAYJ
# Eum6QMACbY+AFgHkcHs/hfvqChU=
# SIG # End signature block
@mhtvsSFrpHdE
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment