diff --git a/.gitignore b/.gitignore
index 99cdac4..97de8e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,11 @@ Failed Experiments/Mica Discord WinUI 3/bin
Failed Experiments/Mica Discord WinUI 3/obj
Failed Experiments/SettingsBuilder/bin
Failed Experiments/SettingsBuilder/obj
+Mica Discord Packager/bin
+Mica Discord Packager/obj
+Mica Discord Packager/Package.StoreAssociation.xml
+Mica Discord Packager/AppPackages
+Mica Discord Packager/BundleArtifacts
Future/Mica Browser/bin
Future/Mica Browser/obj
Future/Mica Window/bin
diff --git a/Mica Discord WPF/App.xaml.cs b/Mica Discord WPF/App.xaml.cs
index 3c0c23a..9f4a68d 100644
--- a/Mica Discord WPF/App.xaml.cs
+++ b/Mica Discord WPF/App.xaml.cs
@@ -6,6 +6,7 @@
using System.Windows.Forms;
using WPFApplication = System.Windows.Application;
using WV2::Microsoft.Web.WebView2.Core;
+using System.IO;
#if WINDOWS10_0_17763_0_OR_GREATER
using Microsoft.Windows.ApplicationModel.DynamicDependency;
#endif
@@ -32,6 +33,7 @@ protected override void OnStartup(StartupEventArgs e)
{
try
{
+ Directory.SetCurrentDirectory(Path.GetDirectoryName(typeof(MainWindow).Assembly.Location) ?? throw new NullReferenceException());
base.OnStartup(e);
NotifyIcon.Click += (_, _) => OpenMenu();
//var mainwindow = (MainWindow)MainWindow;
diff --git a/Mica Discord WPF/MainWindow.xaml.cs b/Mica Discord WPF/MainWindow.xaml.cs
index fb0d2e0..1e16701 100644
--- a/Mica Discord WPF/MainWindow.xaml.cs
+++ b/Mica Discord WPF/MainWindow.xaml.cs
@@ -29,14 +29,16 @@
using Color = System.Windows.Media.Color;
using Button = System.Windows.Controls.Button;
using Control = System.Windows.Forms.Control;
-
namespace MicaDiscord;
-
+#if WINDOWS10_0_17763_0_OR_GREATER
+using AppSetting = MicaDiscord.Setting;
+#endif
public partial class MainWindow : Window
{
public static int WindowsMajorNumber = Environment.OSVersion.Version.Major;
public static int WindowsBuildNumber = Environment.OSVersion.Version.Build;
#if WINDOWS10_0_17763_0_OR_GREATER
+ static string StartupPath = "."; // Path.GetDirectoryName(typeof(MainWindow).Assembly.Location) ?? throw new NullReferenceException();
static UISettings UISettings { get; } = new();
public static bool IsNewTitleBarSupported => IsWin11; //AppWindowTitleBar.IsCustomizationSupported();
#else
@@ -46,13 +48,13 @@ public static string DefinedCSS
#if DEBUG
=> File.Exists("../../../The CSS.css") ? File.ReadAllText("../../../The CSS.css") : File.ReadAllText("The CSS.css");// Read File Every time
#else
- = File.ReadAllText("./The CSS.css"); // Read only once
+ = File.ReadAllText($"{StartupPath}/The CSS.css"); // Read only once
#endif
public static string DefinedJavascript
#if DEBUG
=> File.Exists("../../../MicaDiscordScript.js") ? File.ReadAllText("../../../MicaDiscordScript.js") : File.ReadAllText("MicaDiscordScript.js");// Read File Every time
#else
- = File.ReadAllText("./MicaDiscordScript.js"); // Read only once
+ = File.ReadAllText($"{StartupPath}/MicaDiscordScript.js"); // Read only once
#endif
public static bool NotSupportedBuild => !IsWin11;
public static bool IsWin11 => WindowsBuildNumber is >=22000;
@@ -164,7 +166,7 @@ void RefreshFrame()
HwndSource mainWindowSrc = HwndSource.FromHwnd(Handle);
#if WINDOWS10_0_17763_0_OR_GREATER
- if (!NotSupportedBuild || Settings.Default.UseBackdropAnyway)
+ if (!NotSupportedBuild || AppSetting.UseBackdropAnyway)
{
mainWindowSrc.CompositionTarget.BackgroundColor = Color.FromArgb(0, 0, 0, 0);
DwmApi.DwmExtendFrameIntoClientArea(Handle, new()
@@ -208,7 +210,7 @@ static bool IsDarkBackground(WinUIColor color)
}
//RefreshDarkMode(dark: Dark);
- SetBackdrop((CustomPInvoke.BackdropType)Enum.Parse(typeof(CustomPInvoke.BackdropType), Settings.Default.BackdropType, ignoreCase: true));
+ SetBackdrop((CustomPInvoke.BackdropType)Enum.Parse(typeof(CustomPInvoke.BackdropType), AppSetting.BackdropType, ignoreCase: true));
#else
ThemeChanged += RefreshFrame;
#endif
@@ -261,7 +263,7 @@ static bool IsDarkBackground(WinUIColor color)
RefreshFrame();
};
- CoreWebView2.Settings.AreDevToolsEnabled = Settings.Default.EnableDevTools;
+ CoreWebView2.Settings.AreDevToolsEnabled = AppSetting.EnableDevTools;
void DevToolsCheck(object _, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.I && Control.ModifierKeys == (Keys.Control | Keys.Shift))
@@ -274,9 +276,9 @@ void DevToolsCheck(object _, System.Windows.Input.KeyEventArgs e)
e.Handled = false;
return;
OK:
- if (Settings.Default.EnableDevTools)
+ if (AppSetting.EnableDevTools)
{
- if (Settings.Default.ReplaceDiscordBackground)
+ if (AppSetting.ReplaceDiscordBackground)
{
#if WINDOWS10_0_17763_0_OR_GREATER
WinUIColor PrimaryColor = UISettings.GetColorValue(UIColorType.AccentLight3);
@@ -323,7 +325,7 @@ void DevToolsCheck(object _, System.Windows.Input.KeyEventArgs e)
{
if (!WebView.Source.OriginalString.Contains("discord.com")) return;
- DiscordEffectApplied = Settings.Default.ReplaceDiscordBackground;
+ DiscordEffectApplied = AppSetting.ReplaceDiscordBackground;
if (DiscordEffectApplied)
{
var Dark = (await WebView.CoreWebView2.ExecuteScriptAsync("document.getElementsByTagName('html')[0].classList.contains('theme-dark')")) == "true";
@@ -408,7 +410,7 @@ await WebView.CoreWebView2.ExecuteScriptAsync($@"
Closing += (_, e) =>
{
- if (!ForceClose && Settings.Default.UseSystemTray)
+ if (!ForceClose && AppSetting.UseSystemTray)
{
e.Cancel = true;
Hide();
@@ -498,12 +500,12 @@ async void InitializeAsync()
SettingsDialog.OnSettingsChanged += () =>
{
#if WINDOWS10_0_17763_0_OR_GREATER
- SetBackdrop((CustomPInvoke.BackdropType)Enum.Parse(typeof(CustomPInvoke.BackdropType), Settings.Default.BackdropType, ignoreCase: true));
+ SetBackdrop((CustomPInvoke.BackdropType)Enum.Parse(typeof(CustomPInvoke.BackdropType), AppSetting.BackdropType ?? "Mica", ignoreCase: true));
#endif
var w = WebView.CoreWebView2;
if (w != null)
{
- w.Settings.AreDevToolsEnabled = Settings.Default.EnableDevTools;
+ w.Settings.AreDevToolsEnabled = AppSetting.EnableDevTools;
}
};
//Icon = ImageSourceFromBitmap(ProgramResources.Logo);
diff --git a/Mica Discord WPF/Mica Discord WPF.csproj b/Mica Discord WPF/Mica Discord WPF.csproj
index a7db2b1..e6b9171 100644
--- a/Mica Discord WPF/Mica Discord WPF.csproj
+++ b/Mica Discord WPF/Mica Discord WPF.csproj
@@ -2,7 +2,8 @@
WinExe
- net6.0-windows10.0.17763.0;net6.0-windows7.0
+
+ net6.0-windows10.0.17763.0
enable
true
MicaDiscord
@@ -14,10 +15,11 @@
true
10.0.17763.0;7.0
win-x86;win-x64;win-arm64
+ AnyCPU;x64
-
+
@@ -66,12 +68,14 @@
WV2
-
+
-
+
+
+
MSBuild:Compile
@@ -88,6 +92,11 @@
Form
+
+ True
+ True
+ Settings.settings
+
@@ -100,6 +109,10 @@
Never
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
Never
diff --git a/Mica Discord WPF/Settings.Designer.cs b/Mica Discord WPF/Settings.Designer.cs
index 6f6029f..bc3d515 100644
--- a/Mica Discord WPF/Settings.Designer.cs
+++ b/Mica Discord WPF/Settings.Designer.cs
@@ -12,7 +12,7 @@ namespace MicaDiscord {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/Mica Discord WPF/SettingsDialog.xaml.cs b/Mica Discord WPF/SettingsDialog.xaml.cs
index cba0dd0..d380cf3 100644
--- a/Mica Discord WPF/SettingsDialog.xaml.cs
+++ b/Mica Discord WPF/SettingsDialog.xaml.cs
@@ -1,9 +1,49 @@
-using System;
+using CustomPInvoke;
+using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;
-namespace MicaDiscord;
+#if WINDOWS10_0_17763_0_OR_GREATER
+using Windows.Storage;
+#endif
+namespace MicaDiscord;
+#if WINDOWS10_0_17763_0_OR_GREATER
+static class Setting {
+ static ApplicationDataContainer ApplicationSetting = ApplicationData.Current.LocalSettings;
+ public static void Save() { /* Do Nothing */ }
+ public static bool ReplaceDiscordBackground
+ {
+ get => (bool)(ApplicationSetting.Values[nameof(ReplaceDiscordBackground)] ?? false);
+ set => ApplicationSetting.Values[nameof(ReplaceDiscordBackground)] = value;
+ }
+ public static bool UseBackdropAnyway
+ {
+ get => (bool)(ApplicationSetting.Values[nameof(UseBackdropAnyway)] ?? false);
+ set => ApplicationSetting.Values[nameof(UseBackdropAnyway)] = value;
+ }
+ public static bool UseSystemTray
+ {
+ get => (bool)(ApplicationSetting.Values[nameof(UseSystemTray)] ?? true);
+ set => ApplicationSetting.Values[nameof(UseSystemTray)] = value;
+ }
+ public static bool EnableDevTools
+ {
+ get => (bool)(ApplicationSetting.Values[nameof(EnableDevTools)] ?? false);
+ set => ApplicationSetting.Values[nameof(EnableDevTools)] = value;
+ }
+ public static bool ModeAwareCSS
+ {
+ get => (bool)(ApplicationSetting.Values[nameof(ModeAwareCSS)] ?? true);
+ set => ApplicationSetting.Values[nameof(ModeAwareCSS)] = value;
+ }
+ public static string? BackdropType
+ {
+ get => (string?)(ApplicationSetting.Values[nameof(BackdropType)] ?? "Mica");
+ set => ApplicationSetting.Values[nameof(BackdropType)] = value;
+ }
+}
+#endif
///
/// Interaction logic for SettingsDialog.xaml
///
@@ -11,6 +51,9 @@ public partial class SettingsDialog : Grid
{
public bool RequiresReload { get; private set; } = false;
public void ResetRequiresReload() => RequiresReload = false;
+#if !WINDOWS10_0_17763_0_OR_GREATER
+ static Settings Setting = Settings.Default;
+#endif
public SettingsDialog()
{
InitializeComponent();
@@ -22,24 +65,24 @@ public SettingsDialog()
#if DEBUG
ReloadCSSButton.Visibility = Visibility.Hidden;
#endif
- Backdrop.SelectedItem = Enum.Parse(typeof(CustomPInvoke.BackdropType), Settings.Default.BackdropType);
- ReplaceBackgroundToggle.Content = Settings.Default.ReplaceDiscordBackground ? "Disable" : "Enable";
- UseBackdropAnyway.Content = Settings.Default.UseBackdropAnyway ? "Use Solid Color" : "Enable Anyway";
- Systray.IsChecked = Settings.Default.UseSystemTray;
- DevTools.Content = Settings.Default.EnableDevTools ? "Disable" : "Enable";
- ModeAwareCSS.IsChecked = Settings.Default.ModeAwareCSS;
+ Backdrop.SelectedItem = Enum.Parse(typeof(BackdropType), Settings.Default.BackdropType);
+ ReplaceBackgroundToggle.Content = Setting.ReplaceDiscordBackground ? "Disable" : "Enable";
+ UseBackdropAnyway.Content = Setting.UseBackdropAnyway ? "Use Solid Color" : "Enable Anyway";
+ Systray.IsChecked = Setting.UseSystemTray;
+ DevTools.Content = Setting.EnableDevTools ? "Disable" : "Enable";
+ ModeAwareCSS.IsChecked = Setting.ModeAwareCSS;
RequiresReload = false;
}
};
Backdrop.SelectionChanged += (_, _) =>
{
- Settings.Default.BackdropType = Backdrop.SelectedItem.ToString();
- Settings.Default.Save();
+ Setting.BackdropType = Backdrop.SelectedItem.ToString();
+ Setting.Save();
OnSettingsChanged?.Invoke();
};
ReplaceBackgroundToggle.Click += (_, _) =>
{
- bool newValue = !Settings.Default.ReplaceDiscordBackground;
+ bool newValue = !Setting.ReplaceDiscordBackground;
if (newValue)
{
if (MessageBox.Show(
@@ -55,9 +98,9 @@ public SettingsDialog()
!= MessageBoxResult.Yes)
return;
}
- Settings.Default.ReplaceDiscordBackground = newValue;
+ Setting.ReplaceDiscordBackground = newValue;
ReplaceBackgroundToggle.Content = newValue ? "Disable" : "Enable";
- Settings.Default.Save();
+ Setting.Save();
OnSettingsChanged?.Invoke();
RequiresReload = true;
};
@@ -79,9 +122,9 @@ public SettingsDialog()
!= MessageBoxResult.Yes)
return;
}
- Settings.Default.EnableDevTools = newValue;
+ Setting.EnableDevTools = newValue;
DevTools.Content = newValue ? "Disable" : "Enable";
- Settings.Default.Save();
+ Setting.Save();
OnSettingsChanged?.Invoke();
RequiresReload = true;
};
@@ -100,9 +143,9 @@ public SettingsDialog()
!= MessageBoxResult.Yes)
return;
}
- Settings.Default.UseBackdropAnyway = newValue;
+ Setting.UseBackdropAnyway = newValue;
UseBackdropAnyway.Content = newValue ? "Use Solid Color" : "Enable Anyway";
- Settings.Default.Save();
+ Setting.Save();
OnSettingsChanged?.Invoke();
RequiresReload = true;
};
@@ -122,20 +165,19 @@ private void OpenAppFolder(object sender, RoutedEventArgs e)
private void SystrayToggled(object sender, RoutedEventArgs e)
{
- Settings.Default.UseSystemTray = Systray.IsChecked ?? false;
- Settings.Default.Save();
+ Setting.UseSystemTray = Systray.IsChecked ?? false;
+ Setting.Save();
}
private void ModeAwareCSSToggled(object sender, RoutedEventArgs e)
{
- Settings.Default.ModeAwareCSS = ModeAwareCSS.IsChecked ?? false;
- Settings.Default.Save();
+ Setting.ModeAwareCSS = ModeAwareCSS.IsChecked ?? false;
+ Setting.Save();
RequiresReload = true;
}
private void ReloadCSS(object sender, RoutedEventArgs e)
{
-#if DEBUG
-#else
+#if !DEBUG
MainWindow.DefinedCSS = System.IO.File.ReadAllText("./The CSS.css");
RequiresReload = true;
#endif
diff --git a/Mica Discord.sln b/Mica Discord.sln
index 24b8216..66d050d 100644
--- a/Mica Discord.sln
+++ b/Mica Discord.sln
@@ -5,6 +5,8 @@ VisualStudioVersion = 17.1.31911.260
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mica Discord WPF", "Mica Discord WPF\Mica Discord WPF.csproj", "{335147AD-1414-4847-99A8-C11A142CED09}"
EndProject
+Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Mica Discord Packager", "Mica Discord Packager\Mica Discord Packager.wapproj", "{C471A8B0-E899-420D-A4A0-44EA4A2540FD}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -35,150 +37,40 @@ Global
{335147AD-1414-4847-99A8-C11A142CED09}.Release|ARM.Build.0 = Release|Any CPU
{335147AD-1414-4847-99A8-C11A142CED09}.Release|ARM64.ActiveCfg = Release|Any CPU
{335147AD-1414-4847-99A8-C11A142CED09}.Release|ARM64.Build.0 = Release|Any CPU
- {335147AD-1414-4847-99A8-C11A142CED09}.Release|x64.ActiveCfg = Release|Any CPU
- {335147AD-1414-4847-99A8-C11A142CED09}.Release|x64.Build.0 = Release|Any CPU
+ {335147AD-1414-4847-99A8-C11A142CED09}.Release|x64.ActiveCfg = Release|x64
+ {335147AD-1414-4847-99A8-C11A142CED09}.Release|x64.Build.0 = Release|x64
{335147AD-1414-4847-99A8-C11A142CED09}.Release|x86.ActiveCfg = Release|Any CPU
{335147AD-1414-4847-99A8-C11A142CED09}.Release|x86.Build.0 = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|ARM.Build.0 = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|ARM64.Build.0 = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|x64.Build.0 = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Debug|x86.Build.0 = Debug|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|Any CPU.Build.0 = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|ARM.ActiveCfg = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|ARM.Build.0 = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|ARM64.ActiveCfg = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|ARM64.Build.0 = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|x64.ActiveCfg = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|x64.Build.0 = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|x86.ActiveCfg = Release|Any CPU
- {2C2200E9-1251-499D-A69A-66D7DB1F96B8}.Release|x86.Build.0 = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|ARM.Build.0 = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|ARM64.Build.0 = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|x64.ActiveCfg = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|x64.Build.0 = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|x86.ActiveCfg = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Debug|x86.Build.0 = Debug|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|Any CPU.Build.0 = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|ARM.ActiveCfg = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|ARM.Build.0 = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|ARM64.ActiveCfg = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|ARM64.Build.0 = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|x64.ActiveCfg = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|x64.Build.0 = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|x86.ActiveCfg = Release|Any CPU
- {753FAE0B-9C6B-4AB3-A079-37AB4965D9B7}.Release|x86.Build.0 = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|ARM.Build.0 = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|ARM64.Build.0 = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|x64.ActiveCfg = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|x64.Build.0 = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|x86.ActiveCfg = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Debug|x86.Build.0 = Debug|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|Any CPU.Build.0 = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|ARM.ActiveCfg = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|ARM.Build.0 = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|ARM64.ActiveCfg = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|ARM64.Build.0 = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|x64.ActiveCfg = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|x64.Build.0 = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|x86.ActiveCfg = Release|Any CPU
- {E3617B44-9CDC-4450-8E5C-994B330987FF}.Release|x86.Build.0 = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|ARM.Build.0 = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|ARM64.Build.0 = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|x64.Build.0 = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Debug|x86.Build.0 = Debug|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|Any CPU.Build.0 = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|ARM.ActiveCfg = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|ARM.Build.0 = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|ARM64.ActiveCfg = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|ARM64.Build.0 = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|x64.ActiveCfg = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|x64.Build.0 = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|x86.ActiveCfg = Release|Any CPU
- {7BA273EE-7DF1-4888-850E-01EE0177ADFD}.Release|x86.Build.0 = Release|Any CPU
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|Any CPU.ActiveCfg = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|Any CPU.Build.0 = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|Any CPU.Deploy.0 = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|ARM.ActiveCfg = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|ARM.Build.0 = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|ARM.Deploy.0 = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|ARM64.ActiveCfg = Debug|arm64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|ARM64.Build.0 = Debug|arm64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|ARM64.Deploy.0 = Debug|arm64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|x64.ActiveCfg = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|x64.Build.0 = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|x64.Deploy.0 = Debug|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|x86.ActiveCfg = Debug|x86
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|x86.Build.0 = Debug|x86
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Debug|x86.Deploy.0 = Debug|x86
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|Any CPU.ActiveCfg = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|Any CPU.Build.0 = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|Any CPU.Deploy.0 = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|ARM.ActiveCfg = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|ARM.Build.0 = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|ARM.Deploy.0 = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|ARM64.ActiveCfg = Release|arm64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|ARM64.Build.0 = Release|arm64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|ARM64.Deploy.0 = Release|arm64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|x64.ActiveCfg = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|x64.Build.0 = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|x64.Deploy.0 = Release|x64
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|x86.ActiveCfg = Release|x86
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|x86.Build.0 = Release|x86
- {CE46DAFE-2233-4B9F-B921-CC78ACFF5842}.Release|x86.Deploy.0 = Release|x86
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|ARM.ActiveCfg = Debug|ARM
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|ARM.Build.0 = Debug|ARM
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|ARM.Deploy.0 = Debug|ARM
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|ARM64.Build.0 = Debug|ARM64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|ARM64.Deploy.0 = Debug|ARM64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|x64.ActiveCfg = Debug|x64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|x64.Build.0 = Debug|x64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|x64.Deploy.0 = Debug|x64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|x86.ActiveCfg = Debug|x86
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|x86.Build.0 = Debug|x86
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Debug|x86.Deploy.0 = Debug|x86
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|Any CPU.Build.0 = Release|Any CPU
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|ARM.ActiveCfg = Release|ARM
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|ARM.Build.0 = Release|ARM
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|ARM.Deploy.0 = Release|ARM
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|ARM64.ActiveCfg = Release|ARM64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|ARM64.Build.0 = Release|ARM64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|ARM64.Deploy.0 = Release|ARM64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|x64.ActiveCfg = Release|x64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|x64.Build.0 = Release|x64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|x64.Deploy.0 = Release|x64
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|x86.ActiveCfg = Release|x86
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|x86.Build.0 = Release|x86
- {349A5302-BF09-4552-8792-9E1966D47F7A}.Release|x86.Deploy.0 = Release|x86
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|ARM.ActiveCfg = Debug|ARM
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|ARM.Build.0 = Debug|ARM
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|ARM.Deploy.0 = Debug|ARM
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|ARM64.Build.0 = Debug|ARM64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|ARM64.Deploy.0 = Debug|ARM64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|x64.ActiveCfg = Debug|x64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|x64.Build.0 = Debug|x64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|x64.Deploy.0 = Debug|x64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|x86.ActiveCfg = Debug|x86
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|x86.Build.0 = Debug|x86
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Debug|x86.Deploy.0 = Debug|x86
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|ARM.ActiveCfg = Release|ARM
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|ARM.Build.0 = Release|ARM
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|ARM.Deploy.0 = Release|ARM
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|ARM64.ActiveCfg = Release|ARM64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|ARM64.Build.0 = Release|ARM64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|ARM64.Deploy.0 = Release|ARM64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|x64.ActiveCfg = Release|x64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|x64.Build.0 = Release|x64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|x64.Deploy.0 = Release|x64
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|x86.ActiveCfg = Release|x86
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|x86.Build.0 = Release|x86
+ {C471A8B0-E899-420D-A4A0-44EA4A2540FD}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE