This commit is contained in:
Clint Woon 2023-08-28 15:32:47 -07:00
Родитель 5d74973f63
Коммит 1d647f13f0
48 изменённых файлов: 313 добавлений и 292 удалений

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be7d0422bed0b1b3ab5bee935ef1572cd273ed88e8b03a51eef6e09885cb0ca1
size 16543
oid sha256:be292b453edda55eab8d2f5e7c6ef77bb0956dcfe05bc6c131c0a7a3ae6aa2c9
size 6872

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:65fb764cb221884970c75b7c2cd54b1004372b6e4154c55b4546690a3ffbca2b
size 60601199
oid sha256:51f7e88fb50e6dbc52781fa40ca2a206b3e2cfba9b5572b2741cf67c5763bd08
size 60408493

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d00e54ae32c68b7e6f1623e629af389aa43418461af0a6b2cc50a822fba175e
size 20650
oid sha256:894180489f16ac500f89a17a32c32b0f4f21438287e1ca49821ad6fe85be3a62
size 10856

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3af8883c0a75df23eddaa6a6353968d03656961020b97a8e0ef42928ea319baa
size 80983
oid sha256:568299b940fb53144b2d6a653ea826724133248476b7bdd55ae099bdf0a174da
size 81847

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f66d3dad3cdeae8a022b40e70d5f7596aafdff9b980f2f7f1626e32aa9b5a9e
size 1264967
oid sha256:01d6089280b223d3437ff24645dce6d5492ffda6159bb7de7149b75c6c0b1062
size 1249283

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75cdb9d5c5f345fc897d0034c4b03befb94391a0b4a3ca5e8d9eca2bcfc63bf9
size 9780
oid sha256:5bff62aea389d10ae676f9e98636c2c47638442547c5e6b0c3253178847e83bf
size 6706

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6952fe2e90f9b0c074c7fe6b95f163031f9fd25ec55b6ae322faf81d95a07434
size 6902722
oid sha256:c619fc5ff9f61ac8f9364c0b7b6a28a2f506227ef5b48cf7f21c1cd09750f6a0
size 6611754

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cc205709d7a25f08e7f6cc80bad843b47022383178f20cc1706fd553484a5a45
size 9968
oid sha256:07e8a1ff130eb2d99d45d0efd981fc4e971f1c1ef083219235a0d86d6e533862
size 6846

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ac6b42220f8aaebd55bf7a8ebeb389facea0b76e27d4bf5fda72be2fa30ad07
size 56320
oid sha256:e9d9a51542063e4154cf63cc91a472349c1bf1b174190fff4c0cebc851d73ddb
size 58368

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49ca9f2daaf44dc4c86f175786fdc614aab56011c86ce41050e8b8fae0b8882e
size 54799776
oid sha256:5d2de3b9056bc6544c889a1d47244532dc6545ef91271484f5fc0a107b4736ba
size 54606077

Просмотреть файл

@ -1,138 +1,173 @@
[CmdletBinding()]
param
(
[Parameter(Mandatory = $false)]
[Parameter(Mandatory=$false)]
[string]
$AppxPath,
[Parameter(Mandatory = $false)]
[Parameter(Mandatory=$false)]
[string]
$LogPath,
[Parameter(Mandatory=$false)]
[string]
$AppxDepDirPath
)
$Error.Clear();
function Logic
{
$Error.Clear();
if (-not $AppxPath) {
$AppxPath = Join-Path $PSScriptRoot "GamingServices.appxbundle";
if(!$AppxPath)
{
$AppxPath = Join-Path $PSScriptRoot "GamingServices.appxbundle";
}
if(-not (test-path $AppxPath))
{
Write-Output "ERROR: Appx not found: $AppxPath";
exit 1;
}
if(!$AppxDepDirPath)
{
$AppxDepDirPath = (get-item $AppxPath).Directory.FullName;
}
$systemVolume = Get-AppxVolume | Where-Object -Property IsSystemVolume -eq $True | Select-Object -First 1;
if(!$systemVolume)
{
Write-Output "ERROR: System volume not found.";
exit 1;
}
Write-Output ("System volume found.`n{0}" -f ($systemVolume | Format-List | Out-String).trim());
$systemRoot = [System.IO.path]::GetPathRoot($systemVolume.PackageStorePath);
if(!$systemRoot)
{
Write-Output "ERROR: System root not found.";
exit 1;
}
Write-Output "System root found: $systemRoot";
$package = Get-AppxPackage -Name Microsoft.GamingServices* | Sort-Object -Property Version -Descending | Select-Object -First 1;
$isOldPackagePresent = $false;
if($package)
{
Write-Output ("Version {0} of {1} was found already installed on the PC.`n{2}" -f $package.Version, $package.Name, ($package | Format-List | Out-String).trim());
$isOldPackagePresent = (([Version]$package.Version -lt [Version]'4.66.28001.0') -or ([Version]$package.Version -eq [Version]'1.43.2002.0'));
if($isOldPackagePresent)
{
Write-Output "Uninstalling $($package.PackageFullName) version $($package.Version)";
remove-appxpackage -allusers $package.PackageFullName -ErrorAction Continue;
if($Error)
{
Write-Output "Remove-AppxPackage failed for $($package.PackageFullName)";
}
else
{
Write-Output "Remove-AppxPackage completed for $AppxPath";
}
}
}
else
{
Write-Output 'No versions of Microsoft.GamingServices were found installed on the PC.';
}
if(($package -eq $null) -or $isOldPackagePresent)
{
Write-Output "Installing $AppxPath Version 4.66.28001.0 Volume $systemRoot";
$allDepsFound = $TRUE;
[string[]]$depPackageNames = 'Microsoft.NET.Native.Runtime.2.2','Microsoft.NET.Native.Framework.2.2','Microsoft.VCLibs.x64.14.00';
$dependencyPaths = $depPackageNames | ForEach-Object {Join-Path -Path $AppxDepDirPath -ChildPath "$_.appx"};
ForEach ($dep in $dependencyPaths) {if (-not (test-path $dep)) {$allDepsFound = $FALSE;}};
if($allDepsFound)
{
Write-Output "Installing $AppxPath Version 4.66.28001.0 Volume $systemRoot -DependencyPath $dependencyPaths";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -DependencyPath $dependencyPaths -ErrorAction Continue;
}
else
{
Write-Output "Installing $AppxPath Version 4.66.28001.0 Volume $systemRoot";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -ErrorAction Continue;
}
if($Error)
{
Write-Output "ERROR: Add-AppxPackage failed for $AppxPath";
$guid = ($error -split ' ' | select -Last 1) -as [Guid];
if($guid)
{
Write-Output "Get-AppPackageLog -ActivityID $guid";
Get-AppPackageLog -ActivityID $guid;
}
}
else
{
Write-Output "Add-AppxPackage completed for $AppxPath";
}
}
else
{
Write-Output "No installation needed as version $($package.Version) of $($package.Name) was found already installed on the PC.";
}
}
if (-not (test-path $AppxPath)) {
Write-Output "ERROR: Appx not found: $AppxPath";
exit 1;
$output = Logic;
if($LogPath)
{
$output | Out-File -FilePath $LogPath -Append -Force;
}
if (-not $AppxDepDirPath) {
$AppxDepDirPath = (get-item $AppxPath).Directory.FullName;
}
$systemVolume = Get-AppxVolume | Where-Object -Property IsSystemVolume -eq $True | Select-Object -First 1;
if (-not $systemVolume) {
Write-Output "ERROR: System volume not found.";
exit 1;
}
Write-Output ("System volume found.`n{0}" -f ($systemVolume | Format-List | Out-String).trim());
$systemRoot = [System.IO.path]::GetPathRoot($systemVolume.PackageStorePath);
if (-not $systemRoot) {
Write-Output "ERROR: System root not found.";
exit 1;
}
Write-Output "System root found: $systemRoot";
$package = Get-AppxPackage -Name Microsoft.GamingServices* | Sort-Object -Property Version -Descending | Select-Object -First 1;
$isOldPackagePresent = $false;
if ($package) {
Write-Output ("Version {0} of {1} was found already installed on the PC.`n{2}" -f $package.Version, $package.Name, ($package | Format-List | Out-String).trim());
$isOldPackagePresent = (([Version]$package.Version -lt [Version]'13.78.15003.0') -or ([Version]$package.Version -eq [Version]'1.43.2002.0'));
if ($isOldPackagePresent) {
Write-Output "Uninstalling $($package.PackageFullName) version $($package.Version)";
remove-appxpackage -allusers $package.PackageFullName -ErrorAction Continue;
if ($Error) {
Write-Output "Remove-AppxPackage failed for $($package.PackageFullName)";
}
else {
Write-Output "Remove-AppxPackage completed for $AppxPath";
}
}
}
else {
Write-Output 'No versions of Microsoft.GamingServices were found installed on the PC.';
}
if (($package -eq $null) -or $isOldPackagePresent) {
Write-Output "Installing $AppxPath Version 13.78.15003.0 Volume $systemRoot";
$allDepsFound = $TRUE;
[string[]]$depPackageNames = 'Microsoft.NET.Native.Runtime.2.2', 'Microsoft.NET.Native.Framework.2.2', 'Microsoft.VCLibs.x64.14.00';
$dependencyPaths = $depPackageNames | ForEach-Object { Join-Path -Path $AppxDepDirPath -ChildPath "$_.appx" };
ForEach ($dep in $dependencyPaths) { if (-not (test-path $dep)) { $allDepsFound = $FALSE; } };
if ($allDepsFound) {
Write-Output "Installing $AppxPath Version 13.78.15003.0 Volume $systemRoot -DependencyPath $dependencyPaths";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -DependencyPath $dependencyPaths -ErrorAction Continue;
}
else {
Write-Output "Installing $AppxPath Version 13.78.15003.0 Volume $systemRoot";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -ErrorAction Continue;
}
if ($Error) {
Write-Output "ERROR: Add-AppxPackage failed for $AppxPath";
$guid = ($error -split ' ' | select -Last 1) -as [Guid];
if ($guid) {
Write-Output "Get-AppPackageLog -ActivityID $guid";
Get-AppPackageLog -ActivityID $guid;
}
}
else {
Write-Output "Add-AppxPackage completed for $AppxPath";
}
}
else {
Write-Output "No installation needed as version $($package.Version) of $($package.Name) was found already installed on the PC.";
else
{
$output;
}
exit ($Error.Count);
# SIG # Begin signature block
# MIImBwYJKoZIhvcNAQcCoIIl+DCCJfQCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# MIIl3gYJKoZIhvcNAQcCoIIlzzCCJcsCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDPJCjzPaMj6HOR
# VqOSIAzGd020zWWBiQRy75jVdj5psKCCC2cwggTvMIID16ADAgECAhMzAAAFACfW
# Mm9Dc3uHAAAAAAUAMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAn3alm6ya4o3yj
# gXk2/0FHWjAcpSrApUj+4GUCoozq+qCCC2cwggTvMIID16ADAgECAhMzAAAEOA/I
# Xba8U/0OAAAAAAQ4MA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTAwHhcNMjMwMjE2MjAxMTExWhcNMjQwMTMxMjAxMTExWjB0MQsw
# bmcgUENBIDIwMTAwHhcNMjEwOTAyMTgyNTU3WhcNMjIwOTAxMTgyNTU3WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDFkbktTPAJwujWqeAF9Ei9qjEcHHhgDOcCGXKPZFsect6P72/fGD6iv9vq96xQ
# LkSI0PhfXnBwBGLUltZwi5PJaA7IFyaQPjLb5TB9EG0R78McIuMgyRweI3jDce54
# WPOaJCFdfi3hBvH/AoW7tQH0Ua+2QycxbHZgg8/EplcBaLWM/PrXIT3N0ZmDbSCW
# x/mZu/zJEDTS7Z37Sc5avkBdObK4H1XVNLh74iop34yBziFNXhQ8fR2usy6B2uf3
# jckPogHwykdvh0PibY8Lgq55IltjvV9KlHd6QHxeRJ6M0EZKgIUfcAF0w5XWFJZz
# eOHWB6E5NmdyU5sE6nQuGpGhAgMBAAGjggFuMIIBajAfBgNVHSUEGDAWBgorBgEE
# AYI3PQYBBggrBgEFBQcDAzAdBgNVHQ4EFgQUnQrZdzAcYTWhzLarYgjDOio1KSMw
# AQCurn8/CcSq9qOPnAFrKtGtCy/iX+WUNZ9pll+bOTwGISP3nAKZGu3AJVgzK2Kx
# dEciTQExXZIEpUKSBJDNY4QX6beqtbbU6lGNlbxB3b73e5tQ16DpQGYUkeHJk2a9
# uT3cv0j8VOZDZCqb1zFpJtrF4vggAimoc2DPUVa7B7oDemRU8GQuCCFPl1IydL4u
# 57q9W7gb0zIm0DGw1P03Yv7SzQPAFbVRe+92D8f4W9SM8/EYDAAEdOn1RwRmRZd5
# avK5U1D3/APqdldgNzn0UozCWbiz84AsHR7BheqzDWEx0wvSsCIywv82xUW7wY2c
# 0K6eXMKAIjhAOtJT5RCun1CnAgMBAAGjggFuMIIBajAfBgNVHSUEGDAWBgorBgEE
# AYI3PQYBBggrBgEFBQcDAzAdBgNVHQ4EFgQUgZix3QHakOJ1+OMpggGOIMFUPxgw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwODY1KzUwMDIzMTAfBgNVHSMEGDAWgBTm/F97uyIAWORyTrX0
# MBQGA1UEBRMNMjMwODY1KzQ2NzM5NzAfBgNVHSMEGDAWgBTm/F97uyIAWORyTrX0
# IXQjMubvrDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5j
# b20vcGtpL2NybC9wcm9kdWN0cy9NaWNDb2RTaWdQQ0FfMjAxMC0wNy0wNi5jcmww
# WgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29m
# dC5jb20vcGtpL2NlcnRzL01pY0NvZFNpZ1BDQV8yMDEwLTA3LTA2LmNydDAMBgNV
# HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQDh0kPUjUYtzlPEvMoFNXHo4aX5
# RPpdZ4rbyrU3Ur4LK4hXLXoMinXxgSnSxusJylXdemovg38RlxiZlgYYc0Yc7Ygd
# BWRl9zmeA+rgQ0srfR6F1ztgobrYxtHOjoThiWvBeLmZOjUVtrmvJgGu2ehfFeD2
# rmDz9CgLOkw2eG492vJ0poAFRIRZ8BtpgCDwzZgmuhAp7hKowwRyMk/pEROCtA04
# RLMShlIkT4NJBDE2OVD5TP0/DzNr3I8jEGBVzqb/QAlJf1MMBStHzYxTQ/UeH9PL
# /gr2iyLUER3m48izBli14+xyviBVC7cCKXAAv17c8+QR3NKfL5x5Ajo18YdFMIIG
# HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQDOS4QT+AjIqX3O7FH4FD6TTJWK
# viXQBZv1aL02GgTGqHvFqbilEbQ8TW81TcoU7t7WB2QGqu/utgFqh1UaNsrQNf+R
# +NIvcB5hESNsDco18jQtul935jlJu+J01I1CeeoW4/Xlrbmbuluugm5wUcGclLi5
# 3uALKWQGMp2d14BeIu52stPJQdnn292bk6b9aONC4ic3rjSZGxwz92kmO2XRFsdK
# 5DPVlJj06FLU7i4nzcOLijtLkuIm9vcWDIwgpSV+JHYirr3nGis2AbR9qzTGhOHq
# OfsHvN7gunVTcP3Fz8JRds8nmyS0tSR9ulYU/n1uyDx1CxRq5seFa7fGBfVMMIIG
# cDCCBFigAwIBAgIKYQxSTAAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE
# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0
@ -167,143 +202,143 @@ exit ($Error.Count);
# 7UIJ0Q124yNWeCImNr7KsYxuqh3khdpHM2KPpMmRM19xHkCvmGXJIuhCISWKHC1g
# 2TeJQYkqFg/XYTyUaGBS79ZHmaCAQO4VgXc+nOBTGBpQHTiVmx5mMxMnORd4hzbO
# TsNfsvU9R1O24OXbC2E9KteSLM43Wj5AQjGkHxAIwlacvyRdUQKdannSF9PawZSO
# B3slcUSrBmrm1MbfI5qWdcUxghn2MIIZ8gIBATCBlTB+MQswCQYDVQQGEwJVUzET
# B3slcUSrBmrm1MbfI5qWdcUxghnNMIIZyQIBATCBlTB+MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
# aWduaW5nIFBDQSAyMDEwAhMzAAAFACfWMm9Dc3uHAAAAAAUAMA0GCWCGSAFlAwQC
# aWduaW5nIFBDQSAyMDEwAhMzAAAEOA/IXba8U/0OAAAAAAQ4MA0GCWCGSAFlAwQC
# AQUAoIIBBDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgEL
# MQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgVsQU1Q4gkUEGRfl2otRL
# Q2I5Bkwy5N3O43ntAtkiJjEwPAYKKwYBBAGCNwoDHDEuDCxzUFk3eFBCN2hUNWc1
# SEhyWXQ4ckRMU005VnVaUnVXWmFlZjJlMjJSczU0PTBaBgorBgEEAYI3AgEMMUww
# MQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgGZVAbUW4je8Z6/iXMi0l
# tgeRIidqQtltNlHR2orqvl8wPAYKKwYBBAGCNwoDHDEuDCxSbU5FSFRzZkMrNHhY
# djZJMitTTW9VUDRiZjZxUHpjQ3Q2VjRrTFNMWFc0PTBaBgorBgEEAYI3AgEMMUww
# SqAkgCIATQBpAGMAcgBvAHMAbwBmAHQAIABXAGkAbgBkAG8AdwBzoSKAIGh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqGSIb3DQEBAQUABIIBAEqN
# 5GCOBLZo5CrDF3DziPZITXRAr2RCbtMTeKsW76+loudNfTVHQVE9/RPVtiI+tMHN
# NKtK+yzsz5LOTOa4TFH24HZLOhpJF6JPOgYHZA7yw7Su+wm7tRopEqqBHgyT2OAo
# XYBt4NRPwUQYZh9uyIa5PrTqIk0Shw+GkwagQJZz8vscm6uoKeInVAeLrjpHtiME
# wtMvn+SPmqU5APzg3KR43DWcsa4EVVUP4NjRzM96Oy52ESoz3Ukz4Hqf3mqGhAkE
# FZNWCgPYqUzkvGw5OF0egWVRfchAYqyvjnh7Hvha35DU+GJCKjf42Jcd6xJ2byz8
# pCbM16KCCJeEM0JSsTOhghcpMIIXJQYKKwYBBAGCNwMDATGCFxUwghcRBgkqhkiG
# 9w0BBwKgghcCMIIW/gIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQ
# AQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg
# dcJ9GrVsXJPuTgxkqMlG/yVVPTuKw/0d88BqVbEVWRoCBmSTLElF3hgTMjAyMzA3
# MTQxNjI5MDkuOTM1WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNV
# Ly93d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqGSIb3DQEBAQUABIIBAIDP
# gYkde4n2OqFLq3OPMeehtWlT8JiGF5E+gdQP/5wWTlhnTKqTTPo2VEAsaSZpRpwP
# GttOsXm1aNjZhjiNUQ/CaZmkiIane/SXwIP1uVG0mrooRWwveBFt4wCw77gJyDeF
# ajx3MQhp9jZIme6NLIB4Bm8dtvI2Ue4sFzAuCXqJAv6pYyTNMVzZYgfGqZU+tiea
# hJNhg9YsX6rXUdM4Ow46s1jlVpPJtGxYqvQ4hWMGMYEns3/IfUHxo1eXyokrshMK
# 3zJyMcXdLcZFXCs0vudMUr2iR/6o6bJ6f7XxCc/Yc95FJiwoWXfCUsiKqRojhwIb
# CjDUgh84WdSCWRhodfihghcAMIIW/AYKKwYBBAGCNwMDATGCFuwwghboBgkqhkiG
# 9w0BBwKgghbZMIIW1QIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcNAQkQ
# AQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg
# Qmzbzc8e4Q8MzsRwVmOjP+AmbzoRfUrDe1dzLh3aSnQCBmK0yve1XxgTMjAyMjA3
# MjAwNTI3MTIuNTg2WjAEgAIB9KCB0KSBzTCByjELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl
# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4NkRGLTRC
# QkMtOTMzNTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCC
# EXgwggcnMIIFD6ADAgECAhMzAAABtyEnGgeiKoZGAAEAAAG3MA0GCSqGSIb3DQEB
# CwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIyMDkyMDIwMjIx
# NFoXDTIzMTIxNDIwMjIxNFowgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMg
# TGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046ODZERi00QkJDLTkzMzUx
# JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0GCSqG
# SIb3DQEBAQUAA4ICDwAwggIKAoICAQDH/c9XUDQTZEwatxyXJcqY0HCSJQwIKb7M
# OLxyXtOp+d9kShpHJ9Fe6euTngNcDqDvvDbKKZ4z6VWfPuLP0YXTAjDT0CV6FnZF
# jqf96biBLNX8zwYEya3Zs3clGM6wJaCAmMe9toJnaWzX9z9MuWdoETuPLFiGMmHj
# SWHIfmXyc16qr7r6uxvDZvCDEIvGWsr8fuXUhgTOVWBwcQhI1xfRDekMOwOtEml4
# yo6I0qVJqWjOBZlXnPfOTzXUofITnj9rS+/NUgWp/dg09fbXzR7/R9BQJhNhxkcI
# sx5Cf/5gGXUtLOm4v1MDzJLAImuW6ZyAwTqGmHVpFdJVRuazdPpbUc/c45Wh/boX
# RkyflojSjq+5kZ5c2EAOd37UkiQarBKU8wr+3Ou933b5bcd8uPD3q+r3OlEeXuJE
# mbB9eNSIcYZkUdkphGm7mCjk3Tu0P75bwH0MbhJyfdzS+C2FdSFsPDvsTTuoJY6w
# aQjnzjk0IFiRfjOvyD8rmK3L+/S7u5XOu0vlPTBLtnaINDLiSKGAjIrlWl0ufhZj
# iYsn4gmZtFSbCee9MvZP7REHumkEfTMQ1tadhdx1nm6JV4/bLu866xJTZRwBL6RY
# XIKDJ4spTU4k2cy8FI+0x/N4J7oMNRQhFVYeVPZcDTDy9SBrs/91PkU/cGQgSWCK
# xST3epPFLQIDAQABo4IBSTCCAUUwHQYDVR0OBBYEFLPyOT4MNCQFYQ3WAdsjyCPJ
# eLTsMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRYMFYw
# VKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jv
# c29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEFBQcB
# AQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv
# cHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku
# Y3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0P
# AQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4ICAQANnWTMm4VcUl02ycxYLzYjAlef
# wMp+VLsyVOPeWA7XHn6JXdHoUfUARgYR5gDLddFmAh89lkFMjN5kA+CLB3xC9SRM
# IBvbRqu9bnJ/XZJywRw99Cb20EYSCnLxUp70QgqVaYpTPBf2GllwvVYm0nn/z1Nh
# lgPtc7OuFRcSah3rsvCqq0MnxdtEgp3fM0WZeGGAXI4fRtBo4SR1DwGBMdK/I0lo
# 8otqNlgBw+gqaQbZMJ2Un+wOvAy+DsMAaZhQd/r7m44DcGiAkvn5Blb0Zz9mYJpX
# 52gGrPDMe4oCanIqqtEOgJ/tKx49ZMYrDXSIk8xZbuRsNnoV6S65efZL7JjjVQCR
# 4Z3acd5/9K++kx/t1jUvVE/Y28UJBPrdrYYn+jCuZKxTJ5ASAgkfw1XFdasPbIOr
# DBKNMFkl5UGF73EFgOuXlc0pKLMpYSJSGWSy9xh2Q9S0LQI6dgORewtyMODbewu2
# gwn6RcaJt2bpUZxSaJZTx297p4/YQPcb0Yip1jADKUuDGQKIleDtvc1imXVM8oKe
# 4A+FoyitdeSgidKLxHH/dgJ8DAFzJzbNaNCwrM4Prg5okGbOXke483Ss1Xxdc+23
# w2DTwCb5uaUkHW8t8CDrDf7LWIzPhJGj7VM6/DsjMKxvo6RTG7AeHHzerbyHhra7
# ZJTCRbZxevAnGWeSADCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw
# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg
# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO
# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41
# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5
# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL
# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9
# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj
# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE
# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0
# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435
# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB
# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE
# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG
# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo
# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m
# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j
# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv
# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN
# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4
# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54
# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX
# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew
# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0
# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd
# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr
# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh
# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n
# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+
# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw
# ZvKhggLUMIICPQIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046ODZERi00QkJD
# LTkzMzUxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB
# ATAHBgUrDgMCGgMVAMhnQRjDmzg5bBgWZklF9qFoH6nGoIGDMIGApH4wfDELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDoW1JqMCIY
# DzIwMjMwNzE0MTI0OTQ2WhgPMjAyMzA3MTUxMjQ5NDZaMHQwOgYKKwYBBAGEWQoE
# ATEsMCowCgIFAOhbUmoCAQAwBwIBAAICBUgwBwIBAAICEXUwCgIFAOhco+oCAQAw
# NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgC
# AQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQCvJ9HjNkUB7ctxQySBjkrqM3tUmGEy
# z2/fZ8609kDnG9H128wT1PCYKgEPl9zqpCmpfLnhEwspGQu1B9mSGW/8RIfOPXDg
# IYoIoyKuNSNgPj4DJLUeE033eW7mgpsZfZd1Oqqx4vt52ZYVJfkn9CJjhxzXqlbd
# EYD71vbZfSSc2DGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
# QSAyMDEwAhMzAAABtyEnGgeiKoZGAAEAAAG3MA0GCWCGSAFlAwQCAQUAoIIBSjAa
# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIGt36zXC
# Ugrn8yH/JifDxY2PFhyBOSknoGPC0f45d3r/MIH6BgsqhkiG9w0BCRACLzGB6jCB
# 5zCB5DCBvQQgbCd407Ie2i/ITXomBi+f/CAZ/M1H6+/0O65DPInNcEEwgZgwgYCk
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAbchJxoHoiqGRgAB
# AAABtzAiBCD26r7RmMG9YlPma6O1j8TOJ2Rm6VDvyZsTD4xQ5/FatzANBgkqhkiG
# 9w0BAQsFAASCAgC18BPfE8mrl3jEB0XVsSuOPIlxQqMKqYRK9V15v8VVz9utPwbX
# IxfcYs5Nl7QdLLVOYTIf9Swvt8XhCtlEtJAHpsydykNOpAcJN0yNnaG52ERyC926
# zHYhXcIpr3ATjOA2Mw24/y+fA68Ja6DIOYrffDQohAyWytHdAmce5tUFSXHRIcHJ
# JM7lg1t4zBcaPxxokpx+Lb0TMQwz3kCFCthXTCpHZTe7fhF0kd20DspuMl9yBDPf
# njV2EWeCALdFhLcn7Y4Ve5I/UrIy3V3Q0xmA7aL9s73wXI/aCeZMlHsEAO+DSMTM
# wTRN6QpF++fl9F8V2xloB41amZCPY6DErx7BU/eyLOTxsHR9VuS681GgTKDrRcUz
# neLxcCb+jS71387g+Lld7904JfhZRx36JyE68ejGK3j/flyrrQLUS9etuMRCqk7R
# vqkYJ1G0y+TDxJAeoW6CLplDQAAzcJm3R3F+pah9/OrA1sNw3npOEdRXtFRMLzya
# oOFkpFDuh7gW6Uy0S9LZZxzVeud61nlaWQq1ZRuNAq5yzMaDCJPR5vpQ4YiAOPXP
# FPS4FBkF5ngMUxn0JMTcdozcBiXnP7dghkz9RqH15NsQnsBo1sYaRQHs3D5Aa2ov
# ouQuSUQuOkmxaE/jMH0eS4k5do4Ede0XZZ+CvTnh6tXYJ89534KZsupuqQ==
# c29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3Bl
# cmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MjI2NC1FMzNFLTc4MEMx
# JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFXMIIHDDCC
# BPSgAwIBAgITMwAAAZh2s4zF0AWhAQABAAABmDANBgkqhkiG9w0BAQsFADB8MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy
# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMTEyMDIxOTA1MTVaFw0yMzAy
# MjgxOTA1MTVaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
# MSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQL
# Ex1UaGFsZXMgVFNTIEVTTjoyMjY0LUUzM0UtNzgwQzElMCMGA1UEAxMcTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
# AgoCggIBAMbUlaxWSynzEbiwsyd/F+K3dKEj7sbUx9NP7le9DO4A57yvkxEAUhNO
# aMXHOgsV+ZrEu89WWYOCQOLSuqw6z0CX2NXBhIVUX/BYLb4Hvo7KyLJGPD40+PkD
# hyYyE+oh02REsIT7C24j/AJqrf8t/iSgMa50hwRhGAyqpOg45QhXh7sR1hveT2tg
# 83tKyXCwsVKn4W+b9BzLkqp+SYxfhLegnHsd2JCEpsrULpl+Jv7vrVuat08tPp51
# 2WfLCWzuEKsgi4W2BRtSPookhmfUxthjyGsAzn228ul4aYVbcaN4ECa8HECfuj0u
# nafKRPXD0jSz113CkWeMtPY8rvgYNKzEVRkbVS0vKmL+RlyD1Z6c8BmlS08V87ky
# 2J/wlryNdcsg/or5vkuJBXygjEVIF+AU3v9Mva1JJ9BVy+pfWZxI6vH+2yCrcvpg
# DEjo+XiHXNCtwCZOjKkSg9g1z9GVIGTqWOY3I0OxfeC0rynpzscJZSEX5iMyB9qd
# CYyNRixuN0SwLIvpACiNnR/qS143hxXqhsXBxQS+JjKBZt51pPzo4Z70sQ7E+6HO
# AW/ZmhtWvQnyGXUVV1xkVt8U3+B2Mdn+dwMOos1aBygygSHDDOjsUA5uoprF8HnM
# IGphKPjmaI07mDeE/wCALR5IIeXesrsk8yvUH7wlMe3BGRIrP/5zAgMBAAGjggE2
# MIIBMjAdBgNVHQ4EFgQUbpGEco2myDeaCiezstHlgdPN4TcwHwYDVR0jBBgwFoAU
# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFt
# cCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcw
# AoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3Nv
# ZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIw
# ADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAgEAJPoHoXfe
# L/z3NdOCpDwvoJgwfH0GJoc5X7CTnck6uILN5ouNiBHKywmGaecn8J0drmqNxLC9
# Gm1alkk9UrmzGE4iNEE+Cz/f4RHS9LzsgD5oZt/s0XstlmXFY86X/IUGD2pne2k4
# Y6iFAidCfnOlXbeFailo3hzj2MYkcs8B/L27v5lIZC7DXgKxb9dEsQsdPXwjrRbS
# 4o4Frk+bZWKiEyi9xuk1QIQRGog71Y/DMjAxFHDfj8uCO6yUcmin7/VV78J/I2rB
# 5SbB6lAcmt37BMtSWCbgQ1tcXqLnaMV9ikRLAt0Cfnqj+mP6Cux3YusAQ9BHKHj2
# ta8j+pl86G1PYVabMXDogm9nsLNPU74VzSAgME2pqyzlBuaQ6QpjL1TucUDqqfdl
# n4ytkywlOPuDEB/TIyRWrBhZlGThutj2rwkM+Zx81KNGtV+ljLMRUSp6YZqebG8M
# NPNLbCRIFrfNw3A6BiFYFOYl0uDKJYkZ6rKPWblvA2Cc7Do3NcKJUzN9vO12So51
# NHzwu0AkY1GN69aNB3leK0a56BKnaYwmCUXNHCSdxBq7UEmwKP/VoNjigyI7xyie
# SZpYGth7XVAJLz3r+xnBJ2cRQlqTSqmcFEUH5MdEjEiK8Io1vEbZBFnx2H3lw5eC
# jRi8E3lrWn6Ine83DOd5TYAgLvPeushs3Z8wggdxMIIFWaADAgECAhMzAAAAFcXn
# a54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0
# aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAx
# ODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk
# BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9Kp
# bE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cy
# wBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6
# xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5Tz9bs
# hVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZht
# aDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tn
# YN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+Autuqfjbs
# Nkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNO
# wTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28M
# yTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsl
# uq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3
# PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGC
# NxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP0
# 5dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUF
# BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3Np
# dG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBT
# AHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw
# FoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0
# XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAx
# MC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5y
# S/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi
# 7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2Rje
# bYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n
# 4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/
# LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Q
# q3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk
# 2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBM
# drVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/
# AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdC
# PSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQ
# wXEGahC0HVUzWLOhcGbyoYICzjCCAjcCAQEwgfihgdCkgc0wgcoxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBB
# bWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjIyNjQt
# RTMzRS03ODBDMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl
# oiMKAQEwBwYFKw4DAhoDFQDzLB7+IXkzx8hTZpPrJDe+c+lXk6CBgzCBgKR+MHwx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
# Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA5oGP
# AjAiGA8yMDIyMDcyMDA0MTM1NFoYDzIwMjIwNzIxMDQxMzU0WjB3MD0GCisGAQQB
# hFkKBAExLzAtMAoCBQDmgY8CAgEAMAoCAQACAhdMAgH/MAcCAQACAhFsMAoCBQDm
# guCCAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMH
# oSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAIEik/qc4v+Epnnf1gYai
# gl9PtdxRDbus2Xs6pnigaH00P3R3DWYicR4eZfWTcUhwp3/4NSRwF6ScTFKgi0Cw
# Zifd5svZ7WNXJup9O+HTQK1GyOYd+OTnaTcUCy1CewMqFJTfa0kAqx7UjU+p1HhU
# aJxXxaNf16MgQUTCEasVM7wxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMAITMwAAAZh2s4zF0AWhAQABAAABmDANBglghkgBZQMEAgEF
# AKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEi
# BCC9lmu8babTyhRTKCVDMcK8N+sfResL9qGgqR777940VDCB+gYLKoZIhvcNAQkQ
# Ai8xgeowgecwgeQwgb0EIL+mzgY5Of/3A7U2Ecz1B97SWgHeyWTDUUXev5uHbVbE
# MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm
# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGYdrOM
# xdAFoQEAAQAAAZgwIgQg3ZiKrXL23+CN11ChVBLO2bvqLvjdB80aUAKYCsvPqcow
# DQYJKoZIhvcNAQELBQAEggIASAaysksw/8qx/U2sQ11KeaJL0WCFB+aM4Tdolm91
# wOnWAnm0IY9MzbzeWL7ZVF28Gt8MHWaXU4xP6fln9PZWbbPIte1EXNJs3oLR+/gL
# WB+xBa3FUD1gjhNIRCbNs/oAUL2af3/by7YT5EnLxxyfx1oQjEKzpOXxdFrKBOgj
# djcAmoIhP4FK1VmpeiR+GzlvJEPb1hzTaUKHocYHSCevNdNdkNFP3pXPeT//ygi6
# G7mIPLNXvNanFc93o1z0MxqOuBh+DzetQ1sQZOt44JLLgNnsRKZ1yVSHlrHp+711
# eP/XUD0lEq52HsqPbyc9oPQMqinhBjl2xi3NAndueSLlwx323Ju6FYi1jyWdXEMI
# mMMGVZ5rj8KffZZJjOLhrTqpQaI/Ex6ptaSmNlhmYLK7B/Rzb9A3cQQkMPjErjBZ
# 6pFGdRteX/oF0qQs86hr23HNmRvVbitK7Dsryhx5e5nCpIRYRMH1seg4eyGhNC3P
# op1A5v6t+iiGCBc/fwS4fFQP2mz9lARAXUNoUQ6CPcCAgND62UpZY9ZFX0Fui0Pn
# l5dOaXQYtcL6YJGCY7yiLlyO1hMkGymoZfYrxm2FOzl2NdDS8ApG72S03coNB+ty
# kgs74ogT/mJkMfDskDlWvMO3pxxs3Vkhp+ig9K7aHm8y2968lS7/jUZZwdbFA18k
# L+c=
# SIG # End signature block

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичные данные
Installers/VS2017PCCommon.vsix Normal file

Двоичный файл не отображается.

Двоичные данные
Installers/VS2017PCEditionFilesV141.vsix Normal file

Двоичный файл не отображается.

Двоичные данные
Installers/VS2017PCTemplatesV141.vsix Normal file

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCCommon.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCCommonClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCCommonV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCEditionFilesClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCEditionFilesV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCEditionFilesV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCTemplatesV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommon.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommonClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommonV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommonV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesV143.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCTemplatesV143.vsix

Двоичный файл не отображается.

Просмотреть файл

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce8ba9832a77937e0f7a9e0827fbc3f043b7ce77e0878edbd6feb5e796df6e99
size 13974

Просмотреть файл

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:317bf85520e446a107de2cfda9bd2feb9f46ebe86f61ae2b708049debc496fb1
size 16353

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3dcfb52f69d6c42d9f9b8c76b264cc96ad0369ac02e39403c02ae849d3dd9641
size 28686
oid sha256:c6c95b53521b03f5e0e7d7138053d9f51d6d76dae8a1ca1cecb744b17e2eb81c
size 27854

Просмотреть файл

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:29e5a5e954d4106d9214248e3a9facfe772924f8b995a73027c6db0388bab851
size 6975543

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff69b6ffd95ac0f82b1a6c1f76acc190882f4dec8cb13fff511c4e8bd0325fff
size 264094
oid sha256:359250d2765cd312767605fb49dfbb8d4d70c15fb132218084b40ed26ea6c338
size 239452

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d364ffde21f1fa33c5576770393f29dac4cf82567f1cf3521aaf697f78b714e
size 9881843
oid sha256:134e52b821538e2f2f20d57bc703bd404d481838160a715cc8d63e9cf962e3f1
size 7100839

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75dd8a39314c46aa3b2a9b5c86345148a952732539802fafea4dd6dfa5c39966
size 125210053
oid sha256:00942040a85f1dda85fda2b5be634c66ee00dd3ecda60adcd08a7fecb89fa8ff
size 109497518

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6b429835d959bdfa33c09b46ef0adf5ae0ce682c9bce713e981e7aea3b0b3cc
size 9803319
oid sha256:a2568cfec48cb9dd8b2a864abfa234b3750bcd9162903c225eeb7bb173c475a1
size 7021096

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19977f485e1191256bf893cbb97e1b358c7ea1ecd1a86af89f5a50acba53a7ef
size 78896
oid sha256:276cd010ef1f50f668c4f2a307a96476a9e465e8f453a8aa0fec0cc63ccb7312
size 76080

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:682640bea614c8b3857f584a0874dffe501b9cec3ae16249afe087bd2087eef9
size 81920
oid sha256:743822370611073ac2b0715efc69aa33f1bea3f387fe6a772dc7e21fee132251
size 45056

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f77201a4dcdcd1c4bad1913eb39c1e5f4baffce99142eeddaf1e1d6e19b62a3d
size 4825912
oid sha256:9f3924c10578a8dac745b67f9eb2d79e7e6f5c121f231242777a2cdf9d2c211c
size 4317528

Двоичные данные
Redistributable/10.1.22621.1011/GameInputRedist.msi Normal file

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -1,17 +0,0 @@
File,Hash
pgdk.exe,F77201A4DCDCD1C4BAD1913EB39C1E5F4BAFFCE99142EEDDAF1E1D6E19B62A3D
0037f7733689a74f2678cba42a603866.cab,BE7D0422BED0B1B3AB5BEE935EF1572CD273ED88E8B03A51EEF6E09885CB0CA1
120b38b03e1fe7823dcdd24eb5a8bcaf.cab,65FB764CB221884970C75B7C2CD54B1004372B6E4154C55B4546690A3FFBCA2B
29ed3e615b33e5f98eeb2dc2ff475882.cab,8D00E54AE32C68B7E6F1623E629AF389AA43418461AF0A6B2CC50A822FBA175E
30679793b6e614f833a017b2e03aa8d6.cab,3AF8883C0A75DF23EDDAA6A6353968D03656961020B97A8E0EF42928EA319BAA
670febca25fedf84a45c7147c362244d.cab,2F66D3DAD3CDEAE8A022B40E70D5F7596AAFDFF9B980F2F7F1626E32AA9B5A9E
76f86130718ca751edd6d8906ea62638.cab,75CDB9D5C5F345FC897D0034C4B03BEFB94391A0B4A3CA5E8D9ECA2BCFC63BF9
7e85ae666854837dec3b2637a97c5ee0.cab,6952FE2E90F9B0C074C7FE6B95F163031F9FD25EC55B6AE322FAF81D95A07434
8c499b56707a4a2a53feb53819c881e6.cab,CC205709D7A25F08E7F6CC80BAD843B47022383178F20CC1706FD553484A5A45
b5a3a0cfca4a553d0272f020cd99aa37.cab,CE8BA9832A77937E0F7A9E0827FBC3F043B7CE77E0878EDBD6FEB5E796DF6E99
be91a880ff793bf3b90a60284bf3bad5.cab,3DCFB52F69D6C42D9F9B8C76B264CC96AD0369AC02E39403C02AE849D3DD9641
cb5d76c683a994a2bde8042e1d61e2b6.cab,FF69B6FFD95AC0F82B1A6C1F76ACC190882F4DEC8CB13FFF511C4E8BD0325FFF
ded860912bf935135bda92ea394b7237.cab,4D364FFDE21F1FA33C5576770393F29DAC4CF82567F1CF3521AAF697F78B714E
e10d509ac138cbffc692905299d03436.cab,75DD8A39314C46AA3B2A9B5C86345148A952732539802FAFEA4DD6DFA5C39966
f2e56827b392f0eb99672caf73dd3239.cab,E6B429835D959BDFA33C09B46EF0ADF5AE0CE682C9BCE713E981E7AEA3B0B3CC
faccc661227fc6a4ddc96f6ea9e1b76f.cab,19977F485E1191256BF893CBB97E1B358C7EA1ECD1A86AF89F5A50ACBA53A7EF
1 File Hash
2 pgdk.exe F77201A4DCDCD1C4BAD1913EB39C1E5F4BAFFCE99142EEDDAF1E1D6E19B62A3D
3 0037f7733689a74f2678cba42a603866.cab BE7D0422BED0B1B3AB5BEE935EF1572CD273ED88E8B03A51EEF6E09885CB0CA1
4 120b38b03e1fe7823dcdd24eb5a8bcaf.cab 65FB764CB221884970C75B7C2CD54B1004372B6E4154C55B4546690A3FFBCA2B
5 29ed3e615b33e5f98eeb2dc2ff475882.cab 8D00E54AE32C68B7E6F1623E629AF389AA43418461AF0A6B2CC50A822FBA175E
6 30679793b6e614f833a017b2e03aa8d6.cab 3AF8883C0A75DF23EDDAA6A6353968D03656961020B97A8E0EF42928EA319BAA
7 670febca25fedf84a45c7147c362244d.cab 2F66D3DAD3CDEAE8A022B40E70D5F7596AAFDFF9B980F2F7F1626E32AA9B5A9E
8 76f86130718ca751edd6d8906ea62638.cab 75CDB9D5C5F345FC897D0034C4B03BEFB94391A0B4A3CA5E8D9ECA2BCFC63BF9
9 7e85ae666854837dec3b2637a97c5ee0.cab 6952FE2E90F9B0C074C7FE6B95F163031F9FD25EC55B6AE322FAF81D95A07434
10 8c499b56707a4a2a53feb53819c881e6.cab CC205709D7A25F08E7F6CC80BAD843B47022383178F20CC1706FD553484A5A45
11 b5a3a0cfca4a553d0272f020cd99aa37.cab CE8BA9832A77937E0F7A9E0827FBC3F043B7CE77E0878EDBD6FEB5E796DF6E99
12 be91a880ff793bf3b90a60284bf3bad5.cab 3DCFB52F69D6C42D9F9B8C76B264CC96AD0369AC02E39403C02AE849D3DD9641
13 cb5d76c683a994a2bde8042e1d61e2b6.cab FF69B6FFD95AC0F82B1A6C1F76ACC190882F4DEC8CB13FFF511C4E8BD0325FFF
14 ded860912bf935135bda92ea394b7237.cab 4D364FFDE21F1FA33C5576770393F29DAC4CF82567F1CF3521AAF697F78B714E
15 e10d509ac138cbffc692905299d03436.cab 75DD8A39314C46AA3B2A9B5C86345148A952732539802FAFEA4DD6DFA5C39966
16 f2e56827b392f0eb99672caf73dd3239.cab E6B429835D959BDFA33C09B46EF0ADF5AE0CE682C9BCE713E981E7AEA3B0B3CC
17 faccc661227fc6a4ddc96f6ea9e1b76f.cab 19977F485E1191256BF893CBB97E1B358C7EA1ECD1A86AF89F5A50ACBA53A7EF