From 46e0a02577e38f9f29c3185cab6d7a5e134bebe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Fri, 1 May 2026 10:40:44 -0400 Subject: [PATCH 1/3] Add classic mode launcher Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/build-release.yml | 18 +- .github/workflows/dotnet-test.yml | 12 +- AGENTS.md | 4 +- CONTRIBUTING.md | 4 +- scripts/build.ps1 | 17 +- src/Languages/lang_en.json | 2 + src/UniGetUI.Avalonia/App.axaml.cs | 16 + src/UniGetUI.Avalonia/Program.cs | 39 + .../Pages/SettingsPages/Interface_P.axaml | 16 +- .../SettingsEngine_Names.cs | 2 + src/UniGetUI.Tests/ModernAppLauncherTests.cs | 96 ++ src/UniGetUI.Tests/UniGetUI.Tests.csproj | 1 + src/UniGetUI.Windows.slnx | 232 ++++ src/UniGetUI.sln | 999 ------------------ src/UniGetUI/EntryPoint.cs | 4 + src/UniGetUI/ModernAppLauncher.cs | 101 ++ .../GeneralPages/Interface_P.xaml | 9 + 17 files changed, 552 insertions(+), 1020 deletions(-) create mode 100644 src/UniGetUI.Tests/ModernAppLauncherTests.cs create mode 100644 src/UniGetUI.Windows.slnx delete mode 100644 src/UniGetUI.sln create mode 100644 src/UniGetUI/ModernAppLauncher.cs diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 658d72b469..5628cff37b 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -125,7 +125,7 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.NUGET_PACKAGES }} - key: ${{ runner.os }}-nuget-${{ hashFiles('global.json', 'src/**/*.csproj', 'src/**/*.props', 'src/**/*.targets', 'src/**/*.sln') }} + key: ${{ runner.os }}-nuget-${{ hashFiles('global.json', 'src/**/*.csproj', 'src/**/*.props', 'src/**/*.targets', 'src/**/*.sln', 'src/**/*.slnx') }} restore-keys: | ${{ runner.os }}-nuget- @@ -160,17 +160,17 @@ jobs: - name: Restore dependencies working-directory: src - run: dotnet restore UniGetUI.sln + run: dotnet restore UniGetUI.Windows.slnx - name: Run tests working-directory: src shell: pwsh run: | # Retry once to handle flaky tests (e.g. TaskRecyclerTests uses Random) - dotnet test UniGetUI.sln --no-restore --verbosity q --nologo + dotnet test UniGetUI.Windows.slnx --no-restore --verbosity q --nologo /p:Platform=x64 if ($LASTEXITCODE -ne 0) { Write-Host "::warning::First test run failed, retrying..." - dotnet test UniGetUI.sln --no-restore --verbosity q --nologo + dotnet test UniGetUI.Windows.slnx --no-restore --verbosity q --nologo /p:Platform=x64 if ($LASTEXITCODE -ne 0) { exit 1 } } @@ -188,13 +188,19 @@ jobs: $TargetFramework = "$PortableTargetFramework-windows$WindowsTargetPlatformVersion" dotnet publish src/UniGetUI/UniGetUI.csproj /noLogo /p:Configuration=Release /p:Platform=$Platform -p:RuntimeIdentifier=win-$Platform -v m - if ($LASTEXITCODE -ne 0) { throw "dotnet publish failed" } + if ($LASTEXITCODE -ne 0) { throw "dotnet publish WinUI failed" } + + dotnet publish src/UniGetUI.Avalonia/UniGetUI.Avalonia.csproj /noLogo /p:Configuration=Release /p:Platform=$Platform -p:RuntimeIdentifier=win-$Platform --self-contained true -v m + if ($LASTEXITCODE -ne 0) { throw "dotnet publish Avalonia failed" } # Stage binaries $PublishDir = "src/UniGetUI/bin/$Platform/Release/$TargetFramework/win-$Platform/publish" + $AvaloniaPublishDir = "src/UniGetUI.Avalonia/bin/$Platform/Release/$TargetFramework/win-$Platform/publish" if (Test-Path "unigetui_bin") { Remove-Item "unigetui_bin" -Recurse -Force } New-Item "unigetui_bin" -ItemType Directory | Out-Null Get-ChildItem $PublishDir | Move-Item -Destination "unigetui_bin" -Force + New-Item "unigetui_bin/Avalonia" -ItemType Directory | Out-Null + Get-ChildItem $AvaloniaPublishDir | Move-Item -Destination "unigetui_bin/Avalonia" -Force # Backward-compat alias Copy-Item "unigetui_bin/UniGetUI.exe" "unigetui_bin/WingetUI.exe" -Force @@ -330,7 +336,7 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.NUGET_PACKAGES }} - key: ${{ runner.os }}-nuget-${{ hashFiles('global.json', 'src/**/*.csproj', 'src/**/*.props', 'src/**/*.targets', 'src/**/*.sln') }} + key: ${{ runner.os }}-nuget-${{ hashFiles('global.json', 'src/**/*.csproj', 'src/**/*.props', 'src/**/*.targets', 'src/**/*.sln', 'src/**/*.slnx') }} restore-keys: | ${{ runner.os }}-nuget- diff --git a/.github/workflows/dotnet-test.yml b/.github/workflows/dotnet-test.yml index 0c7f3aa559..46e9b3f9b0 100644 --- a/.github/workflows/dotnet-test.yml +++ b/.github/workflows/dotnet-test.yml @@ -58,20 +58,24 @@ jobs: - name: Install dependencies working-directory: src run: | - dotnet restore UniGetUI.sln + dotnet restore UniGetUI.Windows.slnx dotnet restore UniGetUI.Avalonia.slnx - name: Check whitespace formatting run: dotnet format whitespace src --folder --verify-no-changes --verbosity minimal - - name: Check code style formatting (WinUI solution) + - name: Check code style formatting (Windows solution) working-directory: src - run: dotnet format style UniGetUI.sln --no-restore --verify-no-changes --verbosity minimal + run: dotnet format style UniGetUI.Windows.slnx --no-restore --verify-no-changes --verbosity minimal - name: Check code style formatting (Avalonia solution) working-directory: src run: dotnet format style UniGetUI.Avalonia.slnx --no-restore --verify-no-changes --verbosity minimal + - name: Build Windows solution + working-directory: src + run: dotnet build UniGetUI.Windows.slnx --no-restore --verbosity minimal /p:Platform=x64 + - name: Build Avalonia solution working-directory: src run: dotnet build UniGetUI.Avalonia.slnx --no-restore --verbosity minimal @@ -80,5 +84,5 @@ jobs: working-directory: src env: GITHUB_TOKEN: ${{ github.token }} - run: dotnet test UniGetUI.sln --no-restore --verbosity q --nologo + run: dotnet test UniGetUI.Windows.slnx --no-restore --verbosity q --nologo /p:Platform=x64 diff --git a/AGENTS.md b/AGENTS.md index c12183069d..520edf4425 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,7 +5,7 @@ UniGetUI is a WinUI 3 desktop app (C#/.NET 10, Windows App SDK) providing a GUI for CLI package managers (WinGet, Scoop, Chocolatey, Pip, Npm, .NET Tool, PowerShell Gallery, Cargo, Vcpkg). Solution entry points: -- `src/UniGetUI.sln` - official Windows application based on WinUI 3 +- `src/UniGetUI.Windows.slnx` - official Windows solution; builds the WinUI 3 launcher/classic app and the Avalonia app - `src/UniGetUI.Avalonia.slnx` - experimental cross-platform Avalonia port ## Architecture @@ -94,7 +94,7 @@ Use `CoreTools.Translate("text")` for all user-facing strings. Parameterized: `C | Purpose | Path | |---|---| -| Solution | `src/UniGetUI.sln` | +| Windows solution | `src/UniGetUI.Windows.slnx` | | Experimental cross-platform solution | `src/UniGetUI.Avalonia.slnx` | | Shared build props | `src/Directory.Build.props` | | Version info | `src/SharedAssemblyInfo.cs` | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e7e59745a4..f81bcca02a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,9 +41,9 @@ Before reading: All of the rules below are guidelines, which means that they sho ## Formatting: - Run `pwsh ./scripts/install-git-hooks.ps1` once after cloning to enable the repository pre-commit hook. - The pre-commit hook runs `dotnet format whitespace src --folder` on staged files under `src` when the `dotnet` CLI is available, and stops the commit if it had to rewrite files so you can review the changes and commit again. - - CI enforces whitespace formatting with `dotnet format whitespace src --folder --verify-no-changes` and code-style verification with `dotnet format style src/UniGetUI.sln --no-restore --verify-no-changes` in `.github/workflows/dotnet-test.yml`. +- CI enforces whitespace formatting with `dotnet format whitespace src --folder --verify-no-changes` and code-style verification with `dotnet format style src/UniGetUI.Windows.slnx --no-restore --verify-no-changes` in `.github/workflows/dotnet-test.yml`. - The pre-commit hook intentionally does not run `dotnet format style` because solution loading makes it take roughly the same time for one staged C# file as for the full solution. - - If you want to check the same style rules locally before pushing, run `dotnet format style src/UniGetUI.sln --no-restore --verify-no-changes` from the repository root. +- If you want to check the same style rules locally before pushing, run `dotnet format style src/UniGetUI.Windows.slnx --no-restore --verify-no-changes` from the repository root. - If you want to prepare a dedicated formatting-only commit, run `dotnet format whitespace src --folder` from the repository root. ## Coding: diff --git a/scripts/build.ps1 b/scripts/build.ps1 index 0b8c9f7cac..d0ee0d69e9 100644 --- a/scripts/build.ps1 +++ b/scripts/build.ps1 @@ -37,7 +37,9 @@ $ErrorActionPreference = 'Stop' $RepoRoot = Resolve-Path (Join-Path $PSScriptRoot "..") $SrcDir = Join-Path $RepoRoot "src" +$WindowsSolution = Join-Path $SrcDir "UniGetUI.Windows.slnx" $PublishProject = Join-Path $SrcDir "UniGetUI" "UniGetUI.csproj" +$AvaloniaPublishProject = Join-Path $SrcDir "UniGetUI.Avalonia" "UniGetUI.Avalonia.csproj" $BinDir = Join-Path $RepoRoot "unigetui_bin" $BuildPropsPath = Join-Path $SrcDir "Directory.Build.props" [xml] $BuildProps = Get-Content $BuildPropsPath @@ -50,6 +52,7 @@ if ([string]::IsNullOrWhiteSpace($PortableTargetFramework) -or [string]::IsNullO $TargetFramework = "$PortableTargetFramework-windows$WindowsTargetPlatformVersion" $PublishDir = Join-Path $SrcDir "UniGetUI" "bin" $Platform $Configuration $TargetFramework "win-$Platform" "publish" +$AvaloniaPublishDir = Join-Path $SrcDir "UniGetUI.Avalonia" "bin" $Platform $Configuration $TargetFramework "win-$Platform" "publish" # --- Version stamping --- if ($Version) { @@ -66,7 +69,7 @@ Write-Host "Building UniGetUI version: $PackageVersion" # --- Test --- if (-not $SkipTests) { Write-Host "`n=== Running tests ===" -ForegroundColor Cyan - dotnet test (Join-Path $SrcDir "UniGetUI.sln") --verbosity q --nologo --ignore-failed-sources + dotnet test $WindowsSolution --verbosity q --nologo --ignore-failed-sources /p:Platform=$Platform if ($LASTEXITCODE -ne 0) { throw "Tests failed with exit code $LASTEXITCODE" } @@ -74,11 +77,16 @@ if (-not $SkipTests) { # --- Build / Publish --- Write-Host "`n=== Publishing $Configuration|$Platform ===" -ForegroundColor Cyan -dotnet clean (Join-Path $SrcDir "UniGetUI.sln") -v m --nologo +dotnet clean $WindowsSolution -v m --nologo /p:Platform=$Platform dotnet publish $PublishProject /noLogo /p:Configuration=$Configuration /p:Platform=$Platform --ignore-failed-sources -v m if ($LASTEXITCODE -ne 0) { - throw "dotnet publish failed with exit code $LASTEXITCODE" + throw "dotnet publish WinUI failed with exit code $LASTEXITCODE" +} + +dotnet publish $AvaloniaPublishProject /noLogo /p:Configuration=$Configuration /p:Platform=$Platform -p:RuntimeIdentifier=win-$Platform --self-contained true --ignore-failed-sources -v m +if ($LASTEXITCODE -ne 0) { + throw "dotnet publish Avalonia failed with exit code $LASTEXITCODE" } # --- Stage binaries --- @@ -86,6 +94,9 @@ if (Test-Path $BinDir) { Remove-Item $BinDir -Recurse -Force } New-Item $BinDir -ItemType Directory | Out-Null # Move published output into unigetui_bin Get-ChildItem $PublishDir | Move-Item -Destination $BinDir -Force +$AvaloniaBinDir = Join-Path $BinDir "Avalonia" +New-Item $AvaloniaBinDir -ItemType Directory | Out-Null +Get-ChildItem $AvaloniaPublishDir | Move-Item -Destination $AvaloniaBinDir -Force # WingetUI.exe alias for backward compat Copy-Item (Join-Path $BinDir "UniGetUI.exe") (Join-Path $BinDir "WingetUI.exe") -Force diff --git a/src/Languages/lang_en.json b/src/Languages/lang_en.json index 4b7cb387ea..39c33e22ad 100644 --- a/src/Languages/lang_en.json +++ b/src/Languages/lang_en.json @@ -380,6 +380,8 @@ "Follow system color scheme": "Follow system color scheme", "Application theme:": "Application theme:", "UniGetUI startup page:": "UniGetUI startup page:", + "Use classic mode": "Use classic mode", + "Restart UniGetUI to apply this change": "Restart UniGetUI to apply this change", "Proxy settings": "Proxy settings", "Other settings": "Other settings", "Connect the internet using a custom proxy": "Connect the internet using a custom proxy", diff --git a/src/UniGetUI.Avalonia/App.axaml.cs b/src/UniGetUI.Avalonia/App.axaml.cs index 4f6059fa10..c18ddb0f6e 100644 --- a/src/UniGetUI.Avalonia/App.axaml.cs +++ b/src/UniGetUI.Avalonia/App.axaml.cs @@ -65,6 +65,8 @@ public override void OnFrameworkInitializationCompleted() ApplyTheme(CoreSettings.GetValue(CoreSettings.K.PreferredTheme)); var mainWindow = new MainWindow(); desktop.MainWindow = mainWindow; + Program.SecondaryInstanceArgsReceived += args => + HandleSecondaryInstanceArgs(mainWindow, args); if (CoreData.WasDaemon) { @@ -139,6 +141,20 @@ private static async Task StartupAsync(MainWindow mainWindow) await AvaloniaBootstrapper.InitializeAsync(); } + private static void HandleSecondaryInstanceArgs(MainWindow mainWindow, string[] args) + { + bool isDaemonLaunch = args.Contains(AvaloniaCliHandler.DAEMON); + CoreData.IsDaemon = isDaemonLaunch; + + if (isDaemonLaunch) + return; + + if (!mainWindow.IsVisible) + mainWindow.Show(); + + mainWindow.Activate(); + } + public static void ApplyTheme(string value) { Current!.RequestedThemeVariant = value switch diff --git a/src/UniGetUI.Avalonia/Program.cs b/src/UniGetUI.Avalonia/Program.cs index b0e50539e7..9a17876f1b 100644 --- a/src/UniGetUI.Avalonia/Program.cs +++ b/src/UniGetUI.Avalonia/Program.cs @@ -1,11 +1,17 @@ using System; using Avalonia; +using UniGetUI.Avalonia.Infrastructure; using UniGetUI.Core.Data; +using UniGetUI.Core.Logging; namespace UniGetUI.Avalonia; sealed class Program { + private static Mutex? _singleInstanceMutex; + + internal static event Action? SecondaryInstanceArgsReceived; + // Initialization code. Don't use any Avalonia, third-party APIs or any // SynchronizationContext-reliant code before AppMain is called: things aren't initialized // yet and stuff might break. @@ -25,9 +31,42 @@ public static void Main(string[] args) CoreData.WasDaemon = CoreData.IsDaemon = args.Contains(AvaloniaCliHandler.DAEMON); + if (!TryRegisterSingleInstance(args)) + return; + BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); } + private static bool TryRegisterSingleInstance(string[] args) + { + if (!OperatingSystem.IsWindows()) + return true; + + _singleInstanceMutex = new Mutex( + initiallyOwned: true, + name: CoreData.MainWindowIdentifier, + createdNew: out bool createdNew + ); + + if (createdNew) + { + SingleInstanceRedirector.StartListener(args => + SecondaryInstanceArgsReceived?.Invoke(args) + ); + return true; + } + + if (SingleInstanceRedirector.TryForwardToFirstInstance(args)) + { + _singleInstanceMutex.Dispose(); + _singleInstanceMutex = null; + return false; + } + + Logger.Warn("Could not redirect to the existing Avalonia instance; starting a new one"); + return true; + } + // Avalonia configuration, don't remove; also used by visual designer. public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure() diff --git a/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml b/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml index 0781ca8145..2a740179cb 100644 --- a/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml +++ b/src/UniGetUI.Avalonia/Views/Pages/SettingsPages/Interface_P.axaml @@ -21,11 +21,19 @@ - + - + + + + + "PerManagerMinimumUpdateAgeCustom", K.WinGetCliToolPreference => "WinGetCliToolPreference", K.WinGetComApiPolicy => "WinGetComApiPolicy", + K.DisableClassicMode => "DisableClassicMode", K.Test1 => "TestSetting1", K.Test2 => "TestSetting2", diff --git a/src/UniGetUI.Tests/ModernAppLauncherTests.cs b/src/UniGetUI.Tests/ModernAppLauncherTests.cs new file mode 100644 index 0000000000..b34b01dbeb --- /dev/null +++ b/src/UniGetUI.Tests/ModernAppLauncherTests.cs @@ -0,0 +1,96 @@ +using UniGetUI.Core.Data; +using UniGetUI.Core.SettingsEngine; + +namespace UniGetUI.Tests; + +public sealed class ModernAppLauncherTests : IDisposable +{ + private readonly string _testRoot = Path.Combine( + Path.GetTempPath(), + nameof(ModernAppLauncherTests), + Guid.NewGuid().ToString("N") + ); + + public ModernAppLauncherTests() + { + Directory.CreateDirectory(_testRoot); + CoreData.TEST_DataDirectoryOverride = Path.Combine(_testRoot, "Data"); + Directory.CreateDirectory(CoreData.UniGetUIUserConfigurationDirectory); + Settings.ResetSettings(); + } + + public void Dispose() + { + Settings.ResetSettings(); + CoreData.TEST_DataDirectoryOverride = null; + if (Directory.Exists(_testRoot)) + Directory.Delete(_testRoot, recursive: true); + } + + [Fact] + public void ClassicModeDefaultsToEnabled() + { + Assert.True(ModernAppLauncher.IsClassicModeEnabled()); + + Settings.Set(Settings.K.DisableClassicMode, true); + + Assert.False(ModernAppLauncher.IsClassicModeEnabled()); + } + + [Fact] + public void ResolveModernExecutablePath_PrefersAvaloniaSubdirectory() + { + string baseDirectory = Path.Combine(_testRoot, "Launcher"); + string avaloniaDirectory = Path.Combine(baseDirectory, ModernAppLauncher.ModernAppDirectoryName); + Directory.CreateDirectory(avaloniaDirectory); + + string expected = Path.Combine( + avaloniaDirectory, + ModernAppLauncher.ModernAppExecutableName + ); + File.WriteAllText(expected, ""); + + Assert.Equal(expected, ModernAppLauncher.ResolveModernExecutablePath(baseDirectory)); + } + + [Fact] + public void ResolveModernExecutablePath_FindsDevelopmentBuildOutput() + { + string baseDirectory = Path.Combine( + _testRoot, + "UniGetUI", + "bin", + "x64", + "Debug", + "net10.0-windows10.0.26100.0" + ); + Directory.CreateDirectory(baseDirectory); + + string expected = Path.Combine( + _testRoot, + "UniGetUI.Avalonia", + "bin", + "x64", + "Debug", + "net10.0-windows10.0.26100.0", + ModernAppLauncher.ModernAppExecutableName + ); + Directory.CreateDirectory(Path.GetDirectoryName(expected)!); + File.WriteAllText(expected, ""); + + Assert.Equal(expected, ModernAppLauncher.ResolveModernExecutablePath(baseDirectory)); + } + + [Fact] + public void CreateStartInfo_PreservesArguments() + { + string executable = Path.Combine(_testRoot, ModernAppLauncher.ModernAppExecutableName); + string[] args = ["--daemon", "--set-setting-value", "FreshValue", "value with spaces"]; + + var startInfo = ModernAppLauncher.CreateStartInfo(executable, args); + + Assert.Equal(executable, startInfo.FileName); + Assert.Equal(_testRoot, startInfo.WorkingDirectory); + Assert.Equal(args, startInfo.ArgumentList); + } +} diff --git a/src/UniGetUI.Tests/UniGetUI.Tests.csproj b/src/UniGetUI.Tests/UniGetUI.Tests.csproj index 1a205ca3b8..36dd1d92f2 100644 --- a/src/UniGetUI.Tests/UniGetUI.Tests.csproj +++ b/src/UniGetUI.Tests/UniGetUI.Tests.csproj @@ -45,5 +45,6 @@ + diff --git a/src/UniGetUI.Windows.slnx b/src/UniGetUI.Windows.slnx new file mode 100644 index 0000000000..8f1754aeb9 --- /dev/null +++ b/src/UniGetUI.Windows.slnx @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/UniGetUI.sln b/src/UniGetUI.sln deleted file mode 100644 index 6c59655280..0000000000 --- a/src/UniGetUI.sln +++ /dev/null @@ -1,999 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 18 -VisualStudioVersion = 18.0.11123.170 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI", "UniGetUI\UniGetUI.csproj", "{80305A17-2534-48DC-8F75-41F70FCCEAAF}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExternalLibraries.WindowsPackageManager.Interop", "WindowsPackageManager.Interop\ExternalLibraries.WindowsPackageManager.Interop.csproj", "{52AC982E-7382-4746-BB66-4003698FCC02}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniGetUI.Core", "UniGetUI.Core", "{E05D1183-D360-4AFE-8968-314A34FAD3B2}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Data", "UniGetUI.Core.Data\UniGetUI.Core.Data.csproj", "{5F5EF76B-D755-4C12-ADAE-11F08CE3D936}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.LanguageEngine", "UniGetUI.Core.LanguageEngine\UniGetUI.Core.LanguageEngine.csproj", "{B70A6F17-08C8-4194-BBE8-668CA920CFF3}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Logging", "UniGetUI.Core.Logger\UniGetUI.Core.Logging.csproj", "{72180B0C-3D20-4AAD-B015-A9337B91406E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Settings", "UniGetUI.Core.Settings\UniGetUI.Core.Settings.csproj", "{1977360F-2E42-45E6-9369-AB1EE59CC5C5}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Tools", "UniGetUI.Core.Tools\UniGetUI.Core.Tools.csproj", "{25C6CE64-2D61-4832-B6D2-45AFC52E2447}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Classes", "UniGetUI.Core.Classes\UniGetUI.Core.Classes.csproj", "{8156B6D8-BD7E-4201-BD8B-8C9B00177F88}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.IconEngine", "UniGetUI.Core.IconStore\UniGetUI.Core.IconEngine.csproj", "{990F5AFF-ABF6-4019-865D-604D2B23DE2C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Structs", "UniGetUI.PackageEngine.Enums\UniGetUI.PackageEngine.Structs.csproj", "{380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Interface.Enums", "UniGetUI.Interface.Enums\UniGetUI.Interface.Enums.csproj", "{5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniGetUI.PackageEngine", "UniGetUI.PackageEngine", "{7940E867-EEBA-4AFD-9904-1536F003239C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniGetUI.Interface", "UniGetUI.Interface", "{8CF74C87-534F-4017-A4ED-F2918025E31A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ExternalLibraries", "ExternalLibraries", "{7648DA91-6239-4877-86C6-2E5A79755F1E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExternalLibraries.Clipboard", "ExternalLibraries.Clipboard\ExternalLibraries.Clipboard.csproj", "{9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExternalLibraries.FilePickers", "ExternalLibraries.FilePickers\ExternalLibraries.FilePickers.csproj", "{E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{5B9575EA-B4F9-46E4-A75E-59D430779EC7}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Data.Tests", "UniGetUI.Core.Data.Tests\UniGetUI.Core.Data.Tests.csproj", "{562B4814-2A78-4692-90BE-A727AABCEC85}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Classes.Tests", "UniGetUI.Core.Classes.Tests\UniGetUI.Core.Classes.Tests.csproj", "{1A51EA31-6D78-4E98-B767-41A02C6E34D8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.IconEngine.Tests", "UniGetUI.Core.IconEngine.Tests\UniGetUI.Core.IconEngine.Tests.csproj", "{230BF08C-C039-473B-933F-3BF647440E0E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.LanguageEngine.Tests", "UniGetUI.Core.Language.Tests\UniGetUI.Core.LanguageEngine.Tests.csproj", "{C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Logging.Tests", "UniGetUI.Core.Logging.Tests\UniGetUI.Core.Logging.Tests.csproj", "{2979E556-5859-4E88-A1D4-EAB72F82294E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Classes", "UniGetUI.PackageEngine.PackageManagerClasses\UniGetUI.PackageEngine.Classes.csproj", "{7E098666-DE8C-4ABF-B709-4CE7B1A491B0}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Managers", "Managers", "{95168D0B-1B2C-4295-B6D4-D5BAF781B9FA}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.WinGet", "UniGetUI.PackageEngine.Managers.WinGet\UniGetUI.PackageEngine.Managers.WinGet.csproj", "{D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Scoop", "UniGetUI.PackageEngine.Managers.Scoop\UniGetUI.PackageEngine.Managers.Scoop.csproj", "{1143176D-B7F0-477C-90BB-72289068D927}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Homebrew", "UniGetUI.PackageEngine.Managers.Homebrew\UniGetUI.PackageEngine.Managers.Homebrew.csproj", "{A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Managers.Apt", "UniGetUI.PackageEngine.Managers.Apt\UniGetUI.PackageEngine.Managers.Apt.csproj", "{D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Managers.Dnf", "UniGetUI.PackageEngine.Managers.Dnf\UniGetUI.PackageEngine.Managers.Dnf.csproj", "{E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Managers.Pacman", "UniGetUI.PackageEngine.Managers.Pacman\UniGetUI.PackageEngine.Managers.Pacman.csproj", "{F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Managers.Snap", "UniGetUI.PackageEngine.Managers.Snap\UniGetUI.PackageEngine.Managers.Snap.csproj", "{A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.PowerShell", "UniGetUI.PackageEngine.Managers.PowerShell\UniGetUI.PackageEngine.Managers.PowerShell.csproj", "{E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Chocolatey", "UniGetUI.PackageEngine.Managers.Chocolatey\UniGetUI.PackageEngine.Managers.Chocolatey.csproj", "{57D094C1-6913-46BF-A657-84A5F46D4EE7}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Dotnet", "UniGetUI.PackageEngine.Managers.Dotnet\UniGetUI.PackageEngine.Managers.Dotnet.csproj", "{740E2894-903D-4B94-9C32-B630593BEB16}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Pip", "UniGetUI.PackageEngine.Managers.Pip\UniGetUI.PackageEngine.Managers.Pip.csproj", "{D401F706-A182-46E3-A25C-B0BF5AA0D07E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Npm", "UniGetUI.PackageEngine.Managers.Npm\UniGetUI.PackageEngine.Managers.Npm.csproj", "{0FFA3F96-A68A-453F-A5FE-0C281EC371C7}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Generic", "Generic", "{9BF1CD59-1A2C-4023-9C8D-171DCB728078}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.Generic.NuGet", "UniGetUI.PackageEngine.Managers.Generic.NuGet\UniGetUI.PackageEngine.Managers.Generic.NuGet.csproj", "{5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Settings.Tests", "UniGetUI.Core.Settings.Tests\UniGetUI.Core.Settings.Tests.csproj", "{09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Core.Tools.Tests", "UniGetUI.Core.Tools.Tests\UniGetUI.Core.Tools.Tests.csproj", "{BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.PackageLoaders", "UniGetUI.PackageEngine.PackageLoader\UniGetUI.PackageEngine.PackageLoaders.csproj", "{27E0B288-7DFF-468D-9360-035E8CE123CB}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.PEInterface", "UniGetUI.PackageEngine.PackageEngine\UniGetUI.PackageEngine.PEInterface.csproj", "{20F43119-EA00-440D-B3B5-44F96592F4C8}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.Interface.BackgroundApi", "UniGetUI.Interface.BackgroundApi\UniGetUI.Interface.BackgroundApi.csproj", "{CC400751-216E-4BB2-8103-495B4E273477}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E5F60EF3-4347-4294-9CD9-B756027B6321}" - ProjectSection(SolutionItems) = preProject - Directory.Build.props = Directory.Build.props - SharedAssemblyInfo.cs = SharedAssemblyInfo.cs - EndProjectSection -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Managers.PowerShell7", "UniGetUI.PackageEngine.Managers.PowerShell7\UniGetUI.PackageEngine.Managers.PowerShell7.csproj", "{F4E7301D-9C8A-4A4A-92D2-35B896642BF6}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Serializable", "UniGetUI.PackageEngine.Serializable\UniGetUI.PackageEngine.Serializable.csproj", "{29450002-5F93-4886-922E-30350C9C3442}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniGetUI.PackageEngine.Interfaces", "UniGetUI.PAckageEngine.Interfaces\UniGetUI.PackageEngine.Interfaces.csproj", "{C396E5F6-C6D9-465D-9903-7E33D0841E6A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Managers.Cargo", "UniGetUI.PackageEngine.Managers.Cargo\UniGetUI.PackageEngine.Managers.Cargo.csproj", "{54DA0549-366F-4E70-B5D1-0B8891D0A2A5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Managers.Vcpkg", "UniGetUI.PackageEngine.Managers.Vcpkg\UniGetUI.PackageEngine.Managers.Vcpkg.csproj", "{E337A71E-3C30-4315-B8F1-57CBC5CF50A6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Operations", "UniGetUI.PackageEngine.Operations\UniGetUI.PackageEngine.Operations.csproj", "{727866B8-BBD5-43B9-933A-78199F65429C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.Interface.Telemetry", "UniGetUI.Interface.Telemetry\UniGetUI.Interface.Telemetry.csproj", "{3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{015B44EE-32AE-4105-9016-49140743CAF9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Serializable.Tests", "UniGetUI.PackageEngine.Serializable.Tests\UniGetUI.PackageEngine.Serializable.Tests.csproj", "{F1610A61-5444-4C11-9447-13CCA327887E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.Core.SecureSettings", "UniGetUI.Core.SecureSettings\UniGetUI.Core.SecureSettings.csproj", "{B0E59327-933E-4DB0-BD2D-FB16EB9B4194}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.PackageEngine.Tests", "UniGetUI.PackageEngine.Tests\UniGetUI.PackageEngine.Tests.csproj", "{181E4491-B96D-4E33-8102-AC91420D6123}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.Interface.Telemetry.Tests", "UniGetUI.Interface.Telemetry.Tests\UniGetUI.Interface.Telemetry.Tests.csproj", "{991DBBC6-3E13-4A95-BCDC-F99512F87DC3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.Tests", "UniGetUI.Tests\UniGetUI.Tests.csproj", "{8CDDF549-38D0-45DB-9494-3B9B3376E7C0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniGetUI.Pinget.Cli", "UniGetUI.Pinget.Cli\UniGetUI.Pinget.Cli.csproj", "{9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|arm64 = Debug|arm64 - Debug|Any CPU = Debug|Any CPU - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|arm64 = Release|arm64 - Release|Any CPU = Release|Any CPU - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|x64.ActiveCfg = Debug|x64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|x64.Build.0 = Debug|x64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|arm64.ActiveCfg = Debug|arm64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|arm64.Build.0 = Debug|arm64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|x86.ActiveCfg = Debug|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Debug|x86.Build.0 = Debug|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|x64.ActiveCfg = Release|x64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|x64.Build.0 = Release|x64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|arm64.ActiveCfg = Release|arm64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|arm64.Build.0 = Release|arm64 - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|Any CPU.Build.0 = Release|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|x86.ActiveCfg = Release|Any CPU - {80305A17-2534-48DC-8F75-41F70FCCEAAF}.Release|x86.Build.0 = Release|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|x64.ActiveCfg = Debug|x64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|x64.Build.0 = Debug|x64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|arm64.ActiveCfg = Debug|arm64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|arm64.Build.0 = Debug|arm64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|Any CPU.Build.0 = Debug|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|x86.ActiveCfg = Debug|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Debug|x86.Build.0 = Debug|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|x64.ActiveCfg = Release|x64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|x64.Build.0 = Release|x64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|arm64.ActiveCfg = Release|arm64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|arm64.Build.0 = Release|arm64 - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|Any CPU.ActiveCfg = Release|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|Any CPU.Build.0 = Release|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|x86.ActiveCfg = Release|Any CPU - {52AC982E-7382-4746-BB66-4003698FCC02}.Release|x86.Build.0 = Release|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|x64.ActiveCfg = Debug|x64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|x64.Build.0 = Debug|x64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|arm64.ActiveCfg = Debug|arm64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|arm64.Build.0 = Debug|arm64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|x86.ActiveCfg = Debug|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Debug|x86.Build.0 = Debug|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|x64.ActiveCfg = Release|x64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|x64.Build.0 = Release|x64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|arm64.ActiveCfg = Release|arm64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|arm64.Build.0 = Release|arm64 - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|Any CPU.Build.0 = Release|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|x86.ActiveCfg = Release|Any CPU - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936}.Release|x86.Build.0 = Release|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|x64.ActiveCfg = Debug|x64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|x64.Build.0 = Debug|x64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|arm64.ActiveCfg = Debug|arm64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|arm64.Build.0 = Debug|arm64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|x86.ActiveCfg = Debug|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Debug|x86.Build.0 = Debug|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|x64.ActiveCfg = Release|x64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|x64.Build.0 = Release|x64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|arm64.ActiveCfg = Release|arm64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|arm64.Build.0 = Release|arm64 - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|Any CPU.Build.0 = Release|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|x86.ActiveCfg = Release|Any CPU - {B70A6F17-08C8-4194-BBE8-668CA920CFF3}.Release|x86.Build.0 = Release|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|x64.ActiveCfg = Debug|x64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|x64.Build.0 = Debug|x64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|arm64.ActiveCfg = Debug|arm64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|arm64.Build.0 = Debug|arm64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|x86.ActiveCfg = Debug|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Debug|x86.Build.0 = Debug|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|x64.ActiveCfg = Release|x64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|x64.Build.0 = Release|x64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|arm64.ActiveCfg = Release|arm64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|arm64.Build.0 = Release|arm64 - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|Any CPU.Build.0 = Release|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|x86.ActiveCfg = Release|Any CPU - {72180B0C-3D20-4AAD-B015-A9337B91406E}.Release|x86.Build.0 = Release|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|x64.ActiveCfg = Debug|x64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|x64.Build.0 = Debug|x64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|arm64.ActiveCfg = Debug|arm64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|arm64.Build.0 = Debug|arm64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|x86.ActiveCfg = Debug|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Debug|x86.Build.0 = Debug|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|x64.ActiveCfg = Release|x64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|x64.Build.0 = Release|x64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|arm64.ActiveCfg = Release|arm64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|arm64.Build.0 = Release|arm64 - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|Any CPU.Build.0 = Release|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|x86.ActiveCfg = Release|Any CPU - {1977360F-2E42-45E6-9369-AB1EE59CC5C5}.Release|x86.Build.0 = Release|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|x64.ActiveCfg = Debug|x64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|x64.Build.0 = Debug|x64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|arm64.ActiveCfg = Debug|arm64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|arm64.Build.0 = Debug|arm64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|Any CPU.Build.0 = Debug|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|x86.ActiveCfg = Debug|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Debug|x86.Build.0 = Debug|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|x64.ActiveCfg = Release|x64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|x64.Build.0 = Release|x64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|arm64.ActiveCfg = Release|arm64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|arm64.Build.0 = Release|arm64 - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|Any CPU.ActiveCfg = Release|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|Any CPU.Build.0 = Release|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|x86.ActiveCfg = Release|Any CPU - {25C6CE64-2D61-4832-B6D2-45AFC52E2447}.Release|x86.Build.0 = Release|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|x64.ActiveCfg = Debug|x64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|x64.Build.0 = Debug|x64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|arm64.ActiveCfg = Debug|arm64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|arm64.Build.0 = Debug|arm64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|x86.ActiveCfg = Debug|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Debug|x86.Build.0 = Debug|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|x64.ActiveCfg = Release|x64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|x64.Build.0 = Release|x64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|arm64.ActiveCfg = Release|arm64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|arm64.Build.0 = Release|arm64 - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|Any CPU.Build.0 = Release|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|x86.ActiveCfg = Release|Any CPU - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88}.Release|x86.Build.0 = Release|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|x64.ActiveCfg = Debug|x64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|x64.Build.0 = Debug|x64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|arm64.ActiveCfg = Debug|arm64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|arm64.Build.0 = Debug|arm64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|x86.ActiveCfg = Debug|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Debug|x86.Build.0 = Debug|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|x64.ActiveCfg = Release|x64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|x64.Build.0 = Release|x64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|arm64.ActiveCfg = Release|arm64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|arm64.Build.0 = Release|arm64 - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|Any CPU.Build.0 = Release|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|x86.ActiveCfg = Release|Any CPU - {990F5AFF-ABF6-4019-865D-604D2B23DE2C}.Release|x86.Build.0 = Release|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|x64.ActiveCfg = Debug|x64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|x64.Build.0 = Debug|x64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|arm64.ActiveCfg = Debug|arm64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|arm64.Build.0 = Debug|arm64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|x86.ActiveCfg = Debug|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Debug|x86.Build.0 = Debug|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|x64.ActiveCfg = Release|x64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|x64.Build.0 = Release|x64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|arm64.ActiveCfg = Release|arm64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|arm64.Build.0 = Release|arm64 - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|Any CPU.Build.0 = Release|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|x86.ActiveCfg = Release|Any CPU - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8}.Release|x86.Build.0 = Release|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|x64.ActiveCfg = Debug|x64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|x64.Build.0 = Debug|x64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|arm64.ActiveCfg = Debug|arm64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|arm64.Build.0 = Debug|arm64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|x86.ActiveCfg = Debug|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Debug|x86.Build.0 = Debug|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|x64.ActiveCfg = Release|x64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|x64.Build.0 = Release|x64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|arm64.ActiveCfg = Release|arm64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|arm64.Build.0 = Release|arm64 - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|Any CPU.Build.0 = Release|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|x86.ActiveCfg = Release|Any CPU - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2}.Release|x86.Build.0 = Release|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|x64.ActiveCfg = Debug|x64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|x64.Build.0 = Debug|x64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|arm64.ActiveCfg = Debug|arm64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|arm64.Build.0 = Debug|arm64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|x86.ActiveCfg = Debug|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Debug|x86.Build.0 = Debug|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|x64.ActiveCfg = Release|x64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|x64.Build.0 = Release|x64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|arm64.ActiveCfg = Release|arm64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|arm64.Build.0 = Release|arm64 - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|Any CPU.Build.0 = Release|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|x86.ActiveCfg = Release|Any CPU - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E}.Release|x86.Build.0 = Release|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|x64.ActiveCfg = Debug|x64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|x64.Build.0 = Debug|x64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|arm64.ActiveCfg = Debug|arm64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|arm64.Build.0 = Debug|arm64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|x86.ActiveCfg = Debug|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Debug|x86.Build.0 = Debug|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|x64.ActiveCfg = Release|x64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|x64.Build.0 = Release|x64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|arm64.ActiveCfg = Release|arm64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|arm64.Build.0 = Release|arm64 - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|Any CPU.Build.0 = Release|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|x86.ActiveCfg = Release|Any CPU - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC}.Release|x86.Build.0 = Release|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|x64.ActiveCfg = Debug|x64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|x64.Build.0 = Debug|x64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|arm64.ActiveCfg = Debug|arm64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|arm64.Build.0 = Debug|arm64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|Any CPU.Build.0 = Debug|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|x86.ActiveCfg = Debug|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Debug|x86.Build.0 = Debug|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|x64.ActiveCfg = Release|x64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|x64.Build.0 = Release|x64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|arm64.ActiveCfg = Release|arm64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|arm64.Build.0 = Release|arm64 - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|Any CPU.ActiveCfg = Release|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|Any CPU.Build.0 = Release|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|x86.ActiveCfg = Release|Any CPU - {562B4814-2A78-4692-90BE-A727AABCEC85}.Release|x86.Build.0 = Release|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|x64.ActiveCfg = Debug|x64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|x64.Build.0 = Debug|x64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|arm64.ActiveCfg = Debug|arm64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|arm64.Build.0 = Debug|arm64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|x86.ActiveCfg = Debug|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Debug|x86.Build.0 = Debug|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|x64.ActiveCfg = Release|x64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|x64.Build.0 = Release|x64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|arm64.ActiveCfg = Release|arm64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|arm64.Build.0 = Release|arm64 - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|Any CPU.Build.0 = Release|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|x86.ActiveCfg = Release|Any CPU - {1A51EA31-6D78-4E98-B767-41A02C6E34D8}.Release|x86.Build.0 = Release|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|x64.ActiveCfg = Debug|x64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|x64.Build.0 = Debug|x64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|arm64.ActiveCfg = Debug|arm64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|arm64.Build.0 = Debug|arm64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|x86.ActiveCfg = Debug|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Debug|x86.Build.0 = Debug|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|x64.ActiveCfg = Release|x64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|x64.Build.0 = Release|x64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|arm64.ActiveCfg = Release|arm64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|arm64.Build.0 = Release|arm64 - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|Any CPU.Build.0 = Release|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|x86.ActiveCfg = Release|Any CPU - {230BF08C-C039-473B-933F-3BF647440E0E}.Release|x86.Build.0 = Release|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|x64.ActiveCfg = Debug|x64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|x64.Build.0 = Debug|x64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|arm64.ActiveCfg = Debug|arm64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|arm64.Build.0 = Debug|arm64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|x86.ActiveCfg = Debug|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Debug|x86.Build.0 = Debug|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|x64.ActiveCfg = Release|x64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|x64.Build.0 = Release|x64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|arm64.ActiveCfg = Release|arm64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|arm64.Build.0 = Release|arm64 - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|Any CPU.Build.0 = Release|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|x86.ActiveCfg = Release|Any CPU - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234}.Release|x86.Build.0 = Release|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|x64.ActiveCfg = Debug|x64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|x64.Build.0 = Debug|x64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|arm64.ActiveCfg = Debug|arm64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|arm64.Build.0 = Debug|arm64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|x86.ActiveCfg = Debug|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Debug|x86.Build.0 = Debug|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|x64.ActiveCfg = Release|x64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|x64.Build.0 = Release|x64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|arm64.ActiveCfg = Release|arm64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|arm64.Build.0 = Release|arm64 - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|Any CPU.Build.0 = Release|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|x86.ActiveCfg = Release|Any CPU - {2979E556-5859-4E88-A1D4-EAB72F82294E}.Release|x86.Build.0 = Release|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|x64.ActiveCfg = Debug|x64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|x64.Build.0 = Debug|x64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|arm64.ActiveCfg = Debug|arm64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|arm64.Build.0 = Debug|arm64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|x86.ActiveCfg = Debug|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Debug|x86.Build.0 = Debug|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|x64.ActiveCfg = Release|x64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|x64.Build.0 = Release|x64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|arm64.ActiveCfg = Release|arm64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|arm64.Build.0 = Release|arm64 - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|Any CPU.Build.0 = Release|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|x86.ActiveCfg = Release|Any CPU - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0}.Release|x86.Build.0 = Release|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|x64.ActiveCfg = Debug|x64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|x64.Build.0 = Debug|x64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|arm64.ActiveCfg = Debug|arm64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|arm64.Build.0 = Debug|arm64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|x86.ActiveCfg = Debug|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Debug|x86.Build.0 = Debug|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|x64.ActiveCfg = Release|x64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|x64.Build.0 = Release|x64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|arm64.ActiveCfg = Release|arm64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|arm64.Build.0 = Release|arm64 - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|Any CPU.Build.0 = Release|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|x86.ActiveCfg = Release|Any CPU - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC}.Release|x86.Build.0 = Release|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|x64.ActiveCfg = Debug|x64 - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|x64.Build.0 = Debug|x64 - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|arm64.ActiveCfg = Debug|arm64 - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|arm64.Build.0 = Debug|arm64 - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|x86.ActiveCfg = Debug|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Debug|x86.Build.0 = Debug|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Release|x64.ActiveCfg = Release|x64 - {1143176D-B7F0-477C-90BB-72289068D927}.Release|x64.Build.0 = Release|x64 - {1143176D-B7F0-477C-90BB-72289068D927}.Release|arm64.ActiveCfg = Release|arm64 - {1143176D-B7F0-477C-90BB-72289068D927}.Release|arm64.Build.0 = Release|arm64 - {1143176D-B7F0-477C-90BB-72289068D927}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Release|Any CPU.Build.0 = Release|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Release|x86.ActiveCfg = Release|Any CPU - {1143176D-B7F0-477C-90BB-72289068D927}.Release|x86.Build.0 = Release|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|x64.ActiveCfg = Debug|x64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|x64.Build.0 = Debug|x64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|arm64.ActiveCfg = Debug|arm64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|arm64.Build.0 = Debug|arm64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|x86.ActiveCfg = Debug|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Debug|x86.Build.0 = Debug|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|x64.ActiveCfg = Release|x64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|x64.Build.0 = Release|x64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|arm64.ActiveCfg = Release|arm64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|arm64.Build.0 = Release|arm64 - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|Any CPU.Build.0 = Release|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|x86.ActiveCfg = Release|Any CPU - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6}.Release|x86.Build.0 = Release|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|x64.ActiveCfg = Debug|x64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|x64.Build.0 = Debug|x64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|arm64.ActiveCfg = Debug|arm64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|arm64.Build.0 = Debug|arm64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|x86.ActiveCfg = Debug|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Debug|x86.Build.0 = Debug|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|x64.ActiveCfg = Release|x64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|x64.Build.0 = Release|x64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|arm64.ActiveCfg = Release|arm64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|arm64.Build.0 = Release|arm64 - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|Any CPU.Build.0 = Release|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|x86.ActiveCfg = Release|Any CPU - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A}.Release|x86.Build.0 = Release|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|x64.ActiveCfg = Debug|x64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|x64.Build.0 = Debug|x64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|arm64.ActiveCfg = Debug|arm64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|arm64.Build.0 = Debug|arm64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|x86.ActiveCfg = Debug|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Debug|x86.Build.0 = Debug|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|x64.ActiveCfg = Release|x64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|x64.Build.0 = Release|x64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|arm64.ActiveCfg = Release|arm64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|arm64.Build.0 = Release|arm64 - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|Any CPU.Build.0 = Release|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|x86.ActiveCfg = Release|Any CPU - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B}.Release|x86.Build.0 = Release|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|x64.ActiveCfg = Debug|x64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|x64.Build.0 = Debug|x64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|arm64.ActiveCfg = Debug|arm64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|arm64.Build.0 = Debug|arm64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|x86.ActiveCfg = Debug|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Debug|x86.Build.0 = Debug|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|x64.ActiveCfg = Release|x64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|x64.Build.0 = Release|x64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|arm64.ActiveCfg = Release|arm64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|arm64.Build.0 = Release|arm64 - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|Any CPU.Build.0 = Release|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|x86.ActiveCfg = Release|Any CPU - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C}.Release|x86.Build.0 = Release|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|x64.ActiveCfg = Debug|x64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|x64.Build.0 = Debug|x64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|arm64.ActiveCfg = Debug|arm64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|arm64.Build.0 = Debug|arm64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|x86.ActiveCfg = Debug|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Debug|x86.Build.0 = Debug|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|x64.ActiveCfg = Release|x64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|x64.Build.0 = Release|x64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|arm64.ActiveCfg = Release|arm64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|arm64.Build.0 = Release|arm64 - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|Any CPU.Build.0 = Release|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|x86.ActiveCfg = Release|Any CPU - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D}.Release|x86.Build.0 = Release|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|x64.ActiveCfg = Debug|x64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|x64.Build.0 = Debug|x64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|arm64.ActiveCfg = Debug|arm64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|arm64.Build.0 = Debug|arm64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|x86.ActiveCfg = Debug|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Debug|x86.Build.0 = Debug|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|x64.ActiveCfg = Release|x64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|x64.Build.0 = Release|x64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|arm64.ActiveCfg = Release|arm64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|arm64.Build.0 = Release|arm64 - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|Any CPU.Build.0 = Release|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|x86.ActiveCfg = Release|Any CPU - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD}.Release|x86.Build.0 = Release|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|x64.ActiveCfg = Debug|x64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|x64.Build.0 = Debug|x64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|arm64.ActiveCfg = Debug|arm64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|arm64.Build.0 = Debug|arm64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|x86.ActiveCfg = Debug|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Debug|x86.Build.0 = Debug|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|x64.ActiveCfg = Release|x64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|x64.Build.0 = Release|x64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|arm64.ActiveCfg = Release|arm64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|arm64.Build.0 = Release|arm64 - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|Any CPU.Build.0 = Release|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|x86.ActiveCfg = Release|Any CPU - {57D094C1-6913-46BF-A657-84A5F46D4EE7}.Release|x86.Build.0 = Release|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|x64.ActiveCfg = Debug|x64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|x64.Build.0 = Debug|x64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|arm64.ActiveCfg = Debug|arm64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|arm64.Build.0 = Debug|arm64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|Any CPU.Build.0 = Debug|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|x86.ActiveCfg = Debug|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Debug|x86.Build.0 = Debug|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|x64.ActiveCfg = Release|x64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|x64.Build.0 = Release|x64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|arm64.ActiveCfg = Release|arm64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|arm64.Build.0 = Release|arm64 - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|Any CPU.ActiveCfg = Release|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|Any CPU.Build.0 = Release|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|x86.ActiveCfg = Release|Any CPU - {740E2894-903D-4B94-9C32-B630593BEB16}.Release|x86.Build.0 = Release|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|x64.ActiveCfg = Debug|x64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|x64.Build.0 = Debug|x64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|arm64.ActiveCfg = Debug|arm64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|arm64.Build.0 = Debug|arm64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|x86.ActiveCfg = Debug|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Debug|x86.Build.0 = Debug|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|x64.ActiveCfg = Release|x64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|x64.Build.0 = Release|x64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|arm64.ActiveCfg = Release|arm64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|arm64.Build.0 = Release|arm64 - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|Any CPU.Build.0 = Release|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|x86.ActiveCfg = Release|Any CPU - {D401F706-A182-46E3-A25C-B0BF5AA0D07E}.Release|x86.Build.0 = Release|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|x64.ActiveCfg = Debug|x64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|x64.Build.0 = Debug|x64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|arm64.ActiveCfg = Debug|arm64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|arm64.Build.0 = Debug|arm64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|x86.ActiveCfg = Debug|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Debug|x86.Build.0 = Debug|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|x64.ActiveCfg = Release|x64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|x64.Build.0 = Release|x64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|arm64.ActiveCfg = Release|arm64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|arm64.Build.0 = Release|arm64 - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|Any CPU.Build.0 = Release|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|x86.ActiveCfg = Release|Any CPU - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7}.Release|x86.Build.0 = Release|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|x64.ActiveCfg = Debug|x64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|x64.Build.0 = Debug|x64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|arm64.ActiveCfg = Debug|arm64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|arm64.Build.0 = Debug|arm64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|x86.ActiveCfg = Debug|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Debug|x86.Build.0 = Debug|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|x64.ActiveCfg = Release|x64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|x64.Build.0 = Release|x64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|arm64.ActiveCfg = Release|arm64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|arm64.Build.0 = Release|arm64 - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|Any CPU.Build.0 = Release|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|x86.ActiveCfg = Release|Any CPU - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7}.Release|x86.Build.0 = Release|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|x64.ActiveCfg = Debug|x64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|x64.Build.0 = Debug|x64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|arm64.ActiveCfg = Debug|arm64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|arm64.Build.0 = Debug|arm64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|x86.ActiveCfg = Debug|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Debug|x86.Build.0 = Debug|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|x64.ActiveCfg = Release|x64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|x64.Build.0 = Release|x64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|arm64.ActiveCfg = Release|arm64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|arm64.Build.0 = Release|arm64 - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|Any CPU.Build.0 = Release|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|x86.ActiveCfg = Release|Any CPU - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A}.Release|x86.Build.0 = Release|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|x64.ActiveCfg = Debug|x64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|x64.Build.0 = Debug|x64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|arm64.ActiveCfg = Debug|arm64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|arm64.Build.0 = Debug|arm64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|x86.ActiveCfg = Debug|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Debug|x86.Build.0 = Debug|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|x64.ActiveCfg = Release|x64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|x64.Build.0 = Release|x64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|arm64.ActiveCfg = Release|arm64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|arm64.Build.0 = Release|arm64 - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|Any CPU.Build.0 = Release|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|x86.ActiveCfg = Release|Any CPU - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B}.Release|x86.Build.0 = Release|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|x64.ActiveCfg = Debug|x64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|x64.Build.0 = Debug|x64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|arm64.ActiveCfg = Debug|arm64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|arm64.Build.0 = Debug|arm64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|x86.ActiveCfg = Debug|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Debug|x86.Build.0 = Debug|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|x64.ActiveCfg = Release|x64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|x64.Build.0 = Release|x64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|arm64.ActiveCfg = Release|arm64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|arm64.Build.0 = Release|arm64 - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|Any CPU.Build.0 = Release|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|x86.ActiveCfg = Release|Any CPU - {27E0B288-7DFF-468D-9360-035E8CE123CB}.Release|x86.Build.0 = Release|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|x64.ActiveCfg = Debug|x64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|x64.Build.0 = Debug|x64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|arm64.ActiveCfg = Debug|arm64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|arm64.Build.0 = Debug|arm64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|x86.ActiveCfg = Debug|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Debug|x86.Build.0 = Debug|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|x64.ActiveCfg = Release|x64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|x64.Build.0 = Release|x64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|arm64.ActiveCfg = Release|arm64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|arm64.Build.0 = Release|arm64 - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|Any CPU.Build.0 = Release|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|x86.ActiveCfg = Release|Any CPU - {20F43119-EA00-440D-B3B5-44F96592F4C8}.Release|x86.Build.0 = Release|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|x64.ActiveCfg = Debug|x64 - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|x64.Build.0 = Debug|x64 - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|arm64.ActiveCfg = Debug|arm64 - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|arm64.Build.0 = Debug|arm64 - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|x86.ActiveCfg = Debug|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Debug|x86.Build.0 = Debug|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Release|x64.ActiveCfg = Release|x64 - {CC400751-216E-4BB2-8103-495B4E273477}.Release|x64.Build.0 = Release|x64 - {CC400751-216E-4BB2-8103-495B4E273477}.Release|arm64.ActiveCfg = Release|arm64 - {CC400751-216E-4BB2-8103-495B4E273477}.Release|arm64.Build.0 = Release|arm64 - {CC400751-216E-4BB2-8103-495B4E273477}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Release|Any CPU.Build.0 = Release|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Release|x86.ActiveCfg = Release|Any CPU - {CC400751-216E-4BB2-8103-495B4E273477}.Release|x86.Build.0 = Release|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|x64.ActiveCfg = Debug|x64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|x64.Build.0 = Debug|x64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|arm64.ActiveCfg = Debug|arm64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|arm64.Build.0 = Debug|arm64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|x86.ActiveCfg = Debug|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Debug|x86.Build.0 = Debug|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|x64.ActiveCfg = Release|x64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|x64.Build.0 = Release|x64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|arm64.ActiveCfg = Release|arm64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|arm64.Build.0 = Release|arm64 - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|Any CPU.Build.0 = Release|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|x86.ActiveCfg = Release|Any CPU - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6}.Release|x86.Build.0 = Release|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Debug|x64.ActiveCfg = Debug|x64 - {29450002-5F93-4886-922E-30350C9C3442}.Debug|x64.Build.0 = Debug|x64 - {29450002-5F93-4886-922E-30350C9C3442}.Debug|arm64.ActiveCfg = Debug|arm64 - {29450002-5F93-4886-922E-30350C9C3442}.Debug|arm64.Build.0 = Debug|arm64 - {29450002-5F93-4886-922E-30350C9C3442}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Debug|Any CPU.Build.0 = Debug|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Debug|x86.ActiveCfg = Debug|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Debug|x86.Build.0 = Debug|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Release|x64.ActiveCfg = Release|x64 - {29450002-5F93-4886-922E-30350C9C3442}.Release|x64.Build.0 = Release|x64 - {29450002-5F93-4886-922E-30350C9C3442}.Release|arm64.ActiveCfg = Release|arm64 - {29450002-5F93-4886-922E-30350C9C3442}.Release|arm64.Build.0 = Release|arm64 - {29450002-5F93-4886-922E-30350C9C3442}.Release|Any CPU.ActiveCfg = Release|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Release|Any CPU.Build.0 = Release|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Release|x86.ActiveCfg = Release|Any CPU - {29450002-5F93-4886-922E-30350C9C3442}.Release|x86.Build.0 = Release|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|x64.ActiveCfg = Debug|x64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|x64.Build.0 = Debug|x64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|arm64.ActiveCfg = Debug|arm64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|arm64.Build.0 = Debug|arm64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|x86.ActiveCfg = Debug|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Debug|x86.Build.0 = Debug|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|x64.ActiveCfg = Release|x64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|x64.Build.0 = Release|x64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|arm64.ActiveCfg = Release|arm64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|arm64.Build.0 = Release|arm64 - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|Any CPU.Build.0 = Release|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|x86.ActiveCfg = Release|Any CPU - {C396E5F6-C6D9-465D-9903-7E33D0841E6A}.Release|x86.Build.0 = Release|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|x64.ActiveCfg = Debug|x64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|x64.Build.0 = Debug|x64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|arm64.ActiveCfg = Debug|arm64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|arm64.Build.0 = Debug|arm64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|x86.ActiveCfg = Debug|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Debug|x86.Build.0 = Debug|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|x64.ActiveCfg = Release|x64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|x64.Build.0 = Release|x64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|arm64.ActiveCfg = Release|arm64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|arm64.Build.0 = Release|arm64 - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|Any CPU.Build.0 = Release|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|x86.ActiveCfg = Release|Any CPU - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5}.Release|x86.Build.0 = Release|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|x64.ActiveCfg = Debug|x64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|x64.Build.0 = Debug|x64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|arm64.ActiveCfg = Debug|arm64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|arm64.Build.0 = Debug|arm64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|x86.ActiveCfg = Debug|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Debug|x86.Build.0 = Debug|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|x64.ActiveCfg = Release|x64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|x64.Build.0 = Release|x64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|arm64.ActiveCfg = Release|arm64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|arm64.Build.0 = Release|arm64 - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|Any CPU.Build.0 = Release|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|x86.ActiveCfg = Release|Any CPU - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6}.Release|x86.Build.0 = Release|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|x64.ActiveCfg = Debug|x64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|x64.Build.0 = Debug|x64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|arm64.ActiveCfg = Debug|arm64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|arm64.Build.0 = Debug|arm64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|x86.ActiveCfg = Debug|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Debug|x86.Build.0 = Debug|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|x64.ActiveCfg = Release|x64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|x64.Build.0 = Release|x64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|arm64.ActiveCfg = Release|arm64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|arm64.Build.0 = Release|arm64 - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|Any CPU.Build.0 = Release|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|x86.ActiveCfg = Release|Any CPU - {727866B8-BBD5-43B9-933A-78199F65429C}.Release|x86.Build.0 = Release|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|x64.ActiveCfg = Debug|x64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|x64.Build.0 = Debug|x64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|arm64.ActiveCfg = Debug|arm64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|arm64.Build.0 = Debug|arm64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|x86.ActiveCfg = Debug|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Debug|x86.Build.0 = Debug|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|x64.ActiveCfg = Release|x64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|x64.Build.0 = Release|x64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|arm64.ActiveCfg = Release|arm64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|arm64.Build.0 = Release|arm64 - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|Any CPU.Build.0 = Release|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|x86.ActiveCfg = Release|Any CPU - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF}.Release|x86.Build.0 = Release|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|x64.ActiveCfg = Debug|x64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|x64.Build.0 = Debug|x64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|arm64.ActiveCfg = Debug|arm64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|arm64.Build.0 = Debug|arm64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|x86.ActiveCfg = Debug|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Debug|x86.Build.0 = Debug|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|x64.ActiveCfg = Release|x64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|x64.Build.0 = Release|x64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|arm64.ActiveCfg = Release|arm64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|arm64.Build.0 = Release|arm64 - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|Any CPU.Build.0 = Release|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|x86.ActiveCfg = Release|Any CPU - {F1610A61-5444-4C11-9447-13CCA327887E}.Release|x86.Build.0 = Release|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|x64.ActiveCfg = Debug|x64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|x64.Build.0 = Debug|x64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|arm64.ActiveCfg = Debug|arm64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|arm64.Build.0 = Debug|arm64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|x86.ActiveCfg = Debug|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Debug|x86.Build.0 = Debug|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|x64.ActiveCfg = Release|x64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|x64.Build.0 = Release|x64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|arm64.ActiveCfg = Release|arm64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|arm64.Build.0 = Release|arm64 - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|Any CPU.Build.0 = Release|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|x86.ActiveCfg = Release|Any CPU - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194}.Release|x86.Build.0 = Release|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|x64.ActiveCfg = Debug|x64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|x64.Build.0 = Debug|x64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|arm64.ActiveCfg = Debug|arm64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|arm64.Build.0 = Debug|arm64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|Any CPU.Build.0 = Debug|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|x86.ActiveCfg = Debug|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Debug|x86.Build.0 = Debug|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|x64.ActiveCfg = Release|x64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|x64.Build.0 = Release|x64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|arm64.ActiveCfg = Release|arm64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|arm64.Build.0 = Release|arm64 - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|Any CPU.ActiveCfg = Release|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|Any CPU.Build.0 = Release|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|x86.ActiveCfg = Release|Any CPU - {181E4491-B96D-4E33-8102-AC91420D6123}.Release|x86.Build.0 = Release|Any CPU - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|x64.ActiveCfg = Debug|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|x64.Build.0 = Debug|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|arm64.ActiveCfg = Debug|arm64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|arm64.Build.0 = Debug|arm64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|Any CPU.ActiveCfg = Debug|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|Any CPU.Build.0 = Debug|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|x86.ActiveCfg = Debug|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Debug|x86.Build.0 = Debug|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|x64.ActiveCfg = Release|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|x64.Build.0 = Release|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|arm64.ActiveCfg = Release|arm64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|arm64.Build.0 = Release|arm64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|Any CPU.ActiveCfg = Release|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|Any CPU.Build.0 = Release|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|x86.ActiveCfg = Release|x64 - {991DBBC6-3E13-4A95-BCDC-F99512F87DC3}.Release|x86.Build.0 = Release|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|x64.ActiveCfg = Debug|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|x64.Build.0 = Debug|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|arm64.ActiveCfg = Debug|arm64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|arm64.Build.0 = Debug|arm64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|Any CPU.ActiveCfg = Debug|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|Any CPU.Build.0 = Debug|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|x86.ActiveCfg = Debug|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Debug|x86.Build.0 = Debug|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|x64.ActiveCfg = Release|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|x64.Build.0 = Release|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|arm64.ActiveCfg = Release|arm64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|arm64.Build.0 = Release|arm64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|Any CPU.ActiveCfg = Release|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|Any CPU.Build.0 = Release|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|x86.ActiveCfg = Release|x64 - {8CDDF549-38D0-45DB-9494-3B9B3376E7C0}.Release|x86.Build.0 = Release|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|x64.ActiveCfg = Debug|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|x64.Build.0 = Debug|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|arm64.ActiveCfg = Debug|arm64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|arm64.Build.0 = Debug|arm64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|Any CPU.ActiveCfg = Debug|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|Any CPU.Build.0 = Debug|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|x86.ActiveCfg = Debug|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Debug|x86.Build.0 = Debug|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|x64.ActiveCfg = Release|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|x64.Build.0 = Release|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|arm64.ActiveCfg = Release|arm64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|arm64.Build.0 = Release|arm64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|Any CPU.ActiveCfg = Release|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|Any CPU.Build.0 = Release|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|x86.ActiveCfg = Release|x64 - {9DF342BC-DAAA-42E8-953E-0B5D3227FCAA}.Release|x86.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {52AC982E-7382-4746-BB66-4003698FCC02} = {7648DA91-6239-4877-86C6-2E5A79755F1E} - {5F5EF76B-D755-4C12-ADAE-11F08CE3D936} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {B70A6F17-08C8-4194-BBE8-668CA920CFF3} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {72180B0C-3D20-4AAD-B015-A9337B91406E} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {1977360F-2E42-45E6-9369-AB1EE59CC5C5} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {25C6CE64-2D61-4832-B6D2-45AFC52E2447} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {8156B6D8-BD7E-4201-BD8B-8C9B00177F88} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {990F5AFF-ABF6-4019-865D-604D2B23DE2C} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {380E9F5A-23DE-4F5A-9644-EFA51AD1D8E8} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {5A48C2FD-16E4-4B44-BC2C-D793C50E66F2} = {8CF74C87-534F-4017-A4ED-F2918025E31A} - {9AD1DEC9-1561-4753-AB4B-E81FBDBA5C9E} = {7648DA91-6239-4877-86C6-2E5A79755F1E} - {E40BFCBB-7A02-4E2C-AFDB-A717359EF4FC} = {7648DA91-6239-4877-86C6-2E5A79755F1E} - {5B9575EA-B4F9-46E4-A75E-59D430779EC7} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {562B4814-2A78-4692-90BE-A727AABCEC85} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {1A51EA31-6D78-4E98-B767-41A02C6E34D8} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {230BF08C-C039-473B-933F-3BF647440E0E} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {C55F4BA7-BBDD-42A4-88C1-FD3C411EB234} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {2979E556-5859-4E88-A1D4-EAB72F82294E} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {7E098666-DE8C-4ABF-B709-4CE7B1A491B0} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {D47CC16E-466B-4D58-A8FC-ECAE5C9606FC} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {1143176D-B7F0-477C-90BB-72289068D927} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {A8B3C2D1-5E4F-4A7B-9C0D-E1F2A3B4C5D6} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {D1E2F3A4-B5C6-7D8E-9F0A-1B2C3D4E5F6A} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {E2F3A4B5-C6D7-8E9F-0A1B-2C3D4E5F6A7B} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {F3A4B5C6-D7E8-9F0A-1B2C-3D4E5F6A7B8C} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {A4B5C6D7-E8F9-0A1B-2C3D-4E5F6A7B8C9D} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {E454D3A5-C5C6-4291-BE96-220CF0D5CFFD} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {57D094C1-6913-46BF-A657-84A5F46D4EE7} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {740E2894-903D-4B94-9C32-B630593BEB16} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {D401F706-A182-46E3-A25C-B0BF5AA0D07E} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {0FFA3F96-A68A-453F-A5FE-0C281EC371C7} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {9BF1CD59-1A2C-4023-9C8D-171DCB728078} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {5FA79592-DE5B-46FF-9E05-34A2E72A7AF7} = {9BF1CD59-1A2C-4023-9C8D-171DCB728078} - {09FD3D3A-1EFC-4AEE-B3D7-096D238E0D1A} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {BDB7A8F3-87A6-4B77-9E0F-6BC785CBCF2B} = {5B9575EA-B4F9-46E4-A75E-59D430779EC7} - {27E0B288-7DFF-468D-9360-035E8CE123CB} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {20F43119-EA00-440D-B3B5-44F96592F4C8} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {CC400751-216E-4BB2-8103-495B4E273477} = {8CF74C87-534F-4017-A4ED-F2918025E31A} - {F4E7301D-9C8A-4A4A-92D2-35B896642BF6} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {29450002-5F93-4886-922E-30350C9C3442} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {C396E5F6-C6D9-465D-9903-7E33D0841E6A} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {54DA0549-366F-4E70-B5D1-0B8891D0A2A5} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {E337A71E-3C30-4315-B8F1-57CBC5CF50A6} = {95168D0B-1B2C-4295-B6D4-D5BAF781B9FA} - {727866B8-BBD5-43B9-933A-78199F65429C} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {3C8BF564-B4B5-44A7-9D8C-102C2F820EAF} = {8CF74C87-534F-4017-A4ED-F2918025E31A} - {015B44EE-32AE-4105-9016-49140743CAF9} = {7940E867-EEBA-4AFD-9904-1536F003239C} - {F1610A61-5444-4C11-9447-13CCA327887E} = {015B44EE-32AE-4105-9016-49140743CAF9} - {B0E59327-933E-4DB0-BD2D-FB16EB9B4194} = {E05D1183-D360-4AFE-8968-314A34FAD3B2} - {181E4491-B96D-4E33-8102-AC91420D6123} = {015B44EE-32AE-4105-9016-49140743CAF9} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {D044BB14-0B37-47E5-A579-8B30FCBA1F9F} - EndGlobalSection -EndGlobal diff --git a/src/UniGetUI/EntryPoint.cs b/src/UniGetUI/EntryPoint.cs index 286be63a12..b392c19d6e 100644 --- a/src/UniGetUI/EntryPoint.cs +++ b/src/UniGetUI/EntryPoint.cs @@ -77,6 +77,10 @@ private static void Main(string[] args) int ret = CLIHandler.DisableSecureSettingForUser(); Environment.Exit(ret); } + else if (!ModernAppLauncher.IsClassicModeEnabled()) + { + ModernAppLauncher.Launch(args); + } else { CoreData.WasDaemon = CoreData.IsDaemon = args.Contains(CLIHandler.DAEMON); diff --git a/src/UniGetUI/ModernAppLauncher.cs b/src/UniGetUI/ModernAppLauncher.cs new file mode 100644 index 0000000000..48dbb73c10 --- /dev/null +++ b/src/UniGetUI/ModernAppLauncher.cs @@ -0,0 +1,101 @@ +using System.Diagnostics; +using UniGetUI.Core.Logging; +using UniGetUI.Core.SettingsEngine; + +namespace UniGetUI; + +internal static class ModernAppLauncher +{ + internal const string ModernAppDirectoryName = "Avalonia"; + internal const string ModernAppExecutableName = "UniGetUI.Avalonia.exe"; + + public static bool IsClassicModeEnabled() => !Settings.Get(Settings.K.DisableClassicMode); + + public static void Launch(string[] args) + { + string executablePath = ResolveModernExecutablePath(AppContext.BaseDirectory); + using Process process = + Process.Start(CreateStartInfo(executablePath, args)) + ?? throw new InvalidOperationException( + $"Could not launch modern UniGetUI from '{executablePath}'" + ); + + Logger.Info($"Launched modern UniGetUI from {executablePath} with PID {process.Id}"); + } + + internal static string ResolveModernExecutablePath(string baseDirectory) + { + foreach (string candidate in GetModernExecutableCandidates(baseDirectory)) + { + if (File.Exists(candidate)) + return candidate; + } + + throw new FileNotFoundException( + $"Modern UniGetUI executable '{ModernAppExecutableName}' was not found.", + Path.Combine(baseDirectory, ModernAppDirectoryName, ModernAppExecutableName) + ); + } + + internal static ProcessStartInfo CreateStartInfo(string executablePath, IEnumerable args) + { + var startInfo = new ProcessStartInfo + { + FileName = executablePath, + WorkingDirectory = + Path.GetDirectoryName(executablePath) + ?? throw new DirectoryNotFoundException( + $"Could not resolve directory for '{executablePath}'" + ), + UseShellExecute = false, + }; + + foreach (string arg in args) + startInfo.ArgumentList.Add(arg); + + return startInfo; + } + + private static IEnumerable GetModernExecutableCandidates(string baseDirectory) + { + yield return Path.Combine( + baseDirectory, + ModernAppDirectoryName, + ModernAppExecutableName + ); + yield return Path.Combine(baseDirectory, ModernAppExecutableName); + + foreach (string candidate in GetDevelopmentBuildCandidates(baseDirectory)) + yield return candidate; + } + + private static IEnumerable GetDevelopmentBuildCandidates(string baseDirectory) + { + var directory = new DirectoryInfo(Path.GetFullPath(baseDirectory)); + while (directory is not null) + { + string avaloniaBinDirectory = Path.Combine( + directory.FullName, + "UniGetUI.Avalonia", + "bin" + ); + if (Directory.Exists(avaloniaBinDirectory)) + { + foreach ( + string candidate in Directory + .EnumerateFiles( + avaloniaBinDirectory, + ModernAppExecutableName, + SearchOption.AllDirectories + ) + .OrderByDescending(File.GetLastWriteTimeUtc) + ) + { + yield return candidate; + } + } + + directory = directory.Parent; + } + } +} diff --git a/src/UniGetUI/Pages/SettingsPages/GeneralPages/Interface_P.xaml b/src/UniGetUI/Pages/SettingsPages/GeneralPages/Interface_P.xaml index 6687e0052d..2d79a0ea60 100644 --- a/src/UniGetUI/Pages/SettingsPages/GeneralPages/Interface_P.xaml +++ b/src/UniGetUI/Pages/SettingsPages/GeneralPages/Interface_P.xaml @@ -37,6 +37,15 @@ Text="UniGetUI startup page:" /> + + + Date: Fri, 1 May 2026 10:56:45 -0400 Subject: [PATCH 2/3] Fix Avalonia restart through launcher Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Infrastructure/AppRestartHelper.cs | 75 +++++++++++++++++++ .../UniGetUI.Avalonia.csproj | 1 + .../SettingsBasePageViewModel.cs | 10 +-- .../MissingDependencyDialog.axaml.cs | 8 +- 4 files changed, 80 insertions(+), 14 deletions(-) create mode 100644 src/UniGetUI.Avalonia/Infrastructure/AppRestartHelper.cs diff --git a/src/UniGetUI.Avalonia/Infrastructure/AppRestartHelper.cs b/src/UniGetUI.Avalonia/Infrastructure/AppRestartHelper.cs new file mode 100644 index 0000000000..3657e87069 --- /dev/null +++ b/src/UniGetUI.Avalonia/Infrastructure/AppRestartHelper.cs @@ -0,0 +1,75 @@ +using System.Diagnostics; +using Avalonia.Controls.ApplicationLifetimes; +using UniGetUI.Avalonia.Views; + +namespace UniGetUI.Avalonia.Infrastructure; + +internal static class AppRestartHelper +{ + private const string LauncherExecutableName = "UniGetUI.exe"; + + public static void Restart() + { + string executablePath = ResolveRestartExecutablePath(AppContext.BaseDirectory); + Process.Start(new ProcessStartInfo(executablePath) + { + UseShellExecute = false, + }); + + if (MainWindow.Instance is { } mainWindow) + { + mainWindow.QuitApplication(); + return; + } + + (global::Avalonia.Application.Current?.ApplicationLifetime + as IClassicDesktopStyleApplicationLifetime)?.Shutdown(); + } + + internal static string ResolveRestartExecutablePath(string baseDirectory) + { + if (!OperatingSystem.IsWindows()) + return Environment.ProcessPath + ?? throw new InvalidOperationException("Could not resolve the current executable path."); + + foreach (string candidate in GetWindowsLauncherCandidates(baseDirectory)) + { + if (File.Exists(candidate)) + return candidate; + } + + return Environment.ProcessPath + ?? throw new FileNotFoundException( + $"Could not find the UniGetUI launcher '{LauncherExecutableName}'." + ); + } + + private static IEnumerable GetWindowsLauncherCandidates(string baseDirectory) + { + yield return Path.Combine(baseDirectory, "..", LauncherExecutableName); + yield return Path.Combine(baseDirectory, LauncherExecutableName); + + var directory = new DirectoryInfo(Path.GetFullPath(baseDirectory)); + while (directory is not null) + { + string launcherBinDirectory = Path.Combine(directory.FullName, "UniGetUI", "bin"); + if (Directory.Exists(launcherBinDirectory)) + { + foreach ( + string candidate in Directory + .EnumerateFiles( + launcherBinDirectory, + LauncherExecutableName, + SearchOption.AllDirectories + ) + .OrderByDescending(File.GetLastWriteTimeUtc) + ) + { + yield return candidate; + } + } + + directory = directory.Parent; + } + } +} diff --git a/src/UniGetUI.Avalonia/UniGetUI.Avalonia.csproj b/src/UniGetUI.Avalonia/UniGetUI.Avalonia.csproj index 062c71e555..8c339dd323 100644 --- a/src/UniGetUI.Avalonia/UniGetUI.Avalonia.csproj +++ b/src/UniGetUI.Avalonia/UniGetUI.Avalonia.csproj @@ -87,6 +87,7 @@ + diff --git a/src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/SettingsBasePageViewModel.cs b/src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/SettingsBasePageViewModel.cs index eb8cc66c9e..7cd544fddb 100644 --- a/src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/SettingsBasePageViewModel.cs +++ b/src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/SettingsBasePageViewModel.cs @@ -1,6 +1,6 @@ -using Avalonia.Controls.ApplicationLifetimes; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; +using UniGetUI.Avalonia.Infrastructure; using UniGetUI.Avalonia.ViewModels; using UniGetUI.Core.Tools; @@ -22,12 +22,6 @@ public partial class SettingsBasePageViewModel : ViewModelBase [RelayCommand] private static void RestartApp() { - var exe = Environment.ProcessPath; - if (exe is not null) - System.Diagnostics.Process.Start( - new System.Diagnostics.ProcessStartInfo(exe) { UseShellExecute = true }); - (global::Avalonia.Application.Current?.ApplicationLifetime - as IClassicDesktopStyleApplicationLifetime) - ?.Shutdown(); + AppRestartHelper.Restart(); } } diff --git a/src/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs b/src/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs index 9c85097c1f..dfdd76ea12 100644 --- a/src/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs +++ b/src/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs @@ -1,8 +1,8 @@ using System.Diagnostics; using Avalonia; using Avalonia.Controls; -using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Threading; +using UniGetUI.Avalonia.Infrastructure; using UniGetUI.Core.Logging; using UniGetUI.Core.SettingsEngine; using UniGetUI.Core.Tools; @@ -78,11 +78,7 @@ private async Task OnInstallClickedAsync() } else if (_current == _total) { - var exe = Environment.ProcessPath; - if (exe is not null) - Process.Start(new ProcessStartInfo(exe) { UseShellExecute = true }); - (Application.Current?.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime) - ?.Shutdown(); + AppRestartHelper.Restart(); } else { From 61f5fc7ab6cae8582fec0fbd096d51b9ada2b1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Fri, 1 May 2026 11:13:41 -0400 Subject: [PATCH 3/3] Simplify dotnet test workflow Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/dotnet-test.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/dotnet-test.yml b/.github/workflows/dotnet-test.yml index 46e9b3f9b0..f5fb5b5b74 100644 --- a/.github/workflows/dotnet-test.yml +++ b/.github/workflows/dotnet-test.yml @@ -57,9 +57,7 @@ jobs: - name: Install dependencies working-directory: src - run: | - dotnet restore UniGetUI.Windows.slnx - dotnet restore UniGetUI.Avalonia.slnx + run: dotnet restore UniGetUI.Windows.slnx - name: Check whitespace formatting run: dotnet format whitespace src --folder --verify-no-changes --verbosity minimal @@ -68,18 +66,10 @@ jobs: working-directory: src run: dotnet format style UniGetUI.Windows.slnx --no-restore --verify-no-changes --verbosity minimal - - name: Check code style formatting (Avalonia solution) - working-directory: src - run: dotnet format style UniGetUI.Avalonia.slnx --no-restore --verify-no-changes --verbosity minimal - - name: Build Windows solution working-directory: src run: dotnet build UniGetUI.Windows.slnx --no-restore --verbosity minimal /p:Platform=x64 - - name: Build Avalonia solution - working-directory: src - run: dotnet build UniGetUI.Avalonia.slnx --no-restore --verbosity minimal - - name: Run Tests working-directory: src env: