diff --git a/Samples/ManualGraphRequestSample/App.xaml b/Samples/ManualGraphRequestSample/App.xaml
new file mode 100644
index 0000000..5982d83
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/App.xaml
@@ -0,0 +1,7 @@
+
+
+
diff --git a/Samples/ManualGraphRequestSample/App.xaml.cs b/Samples/ManualGraphRequestSample/App.xaml.cs
new file mode 100644
index 0000000..8c872a2
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/App.xaml.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using Windows.ApplicationModel.Activation;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace ManualGraphRequestSample
+{
+ sealed partial class App : Application
+ {
+
+ public App()
+ {
+ InitializeComponent();
+ }
+
+ protected override void OnLaunched(LaunchActivatedEventArgs e)
+ {
+ Frame rootFrame = Window.Current.Content as Frame;
+ if (rootFrame == null)
+ {
+ rootFrame = new Frame();
+ Window.Current.Content = rootFrame;
+ }
+
+ if (e.PrelaunchActivated == false)
+ {
+ if (rootFrame.Content == null)
+ {
+ rootFrame.Navigate(typeof(MainPage), e.Arguments);
+ }
+ Window.Current.Activate();
+ }
+ }
+ }
+}
diff --git a/Samples/ManualGraphRequestSample/Assets/LockScreenLogo.scale-200.png b/Samples/ManualGraphRequestSample/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000..735f57a
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/LockScreenLogo.scale-200.png differ
diff --git a/Samples/ManualGraphRequestSample/Assets/SplashScreen.scale-200.png b/Samples/ManualGraphRequestSample/Assets/SplashScreen.scale-200.png
new file mode 100644
index 0000000..023e7f1
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/SplashScreen.scale-200.png differ
diff --git a/Samples/ManualGraphRequestSample/Assets/Square150x150Logo.scale-200.png b/Samples/ManualGraphRequestSample/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000..af49fec
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/Square150x150Logo.scale-200.png differ
diff --git a/Samples/ManualGraphRequestSample/Assets/Square44x44Logo.scale-200.png b/Samples/ManualGraphRequestSample/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000..ce342a2
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/Square44x44Logo.scale-200.png differ
diff --git a/Samples/ManualGraphRequestSample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Samples/ManualGraphRequestSample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000..f6c02ce
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/Samples/ManualGraphRequestSample/Assets/StoreLogo.png b/Samples/ManualGraphRequestSample/Assets/StoreLogo.png
new file mode 100644
index 0000000..7385b56
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/StoreLogo.png differ
diff --git a/Samples/ManualGraphRequestSample/Assets/Wide310x150Logo.scale-200.png b/Samples/ManualGraphRequestSample/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000..288995b
Binary files /dev/null and b/Samples/ManualGraphRequestSample/Assets/Wide310x150Logo.scale-200.png differ
diff --git a/Samples/ManualGraphRequestSample/MainPage.xaml b/Samples/ManualGraphRequestSample/MainPage.xaml
new file mode 100644
index 0000000..0d73d05
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/MainPage.xaml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/ManualGraphRequestSample/MainPage.xaml.cs b/Samples/ManualGraphRequestSample/MainPage.xaml.cs
new file mode 100644
index 0000000..6e8c153
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/MainPage.xaml.cs
@@ -0,0 +1,107 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using CommunityToolkit.Authentication;
+using ManualGraphRequestSample.Models;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Net.Http;
+using System.Threading.Tasks;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace ManualGraphRequestSample
+{
+ public sealed partial class MainPage : Page
+ {
+ public ObservableCollection TaskCollection = new ObservableCollection();
+
+ public MainPage()
+ {
+ InitializeComponent();
+
+ ProviderManager.Instance.ProviderUpdated += OnProviderUpdated;
+ ProviderManager.Instance.GlobalProvider = new WindowsProvider(new string[] { "User.Read", "Tasks.ReadWrite" });
+ }
+
+ private async void OnProviderUpdated(object sender, ProviderUpdatedEventArgs e)
+ {
+ IProvider provider = ProviderManager.Instance.GlobalProvider;
+
+ switch (provider?.State)
+ {
+ case ProviderState.Loading:
+ SignInButton.Content = "Loading...";
+ SignInLoadingRing.IsActive = true;
+ SignInButton.IsEnabled = false;
+ break;
+
+ case ProviderState.SignedOut:
+ SignInButton.Content = "Sign In";
+ SignInLoadingRing.IsActive = false;
+ SignInButton.IsEnabled = true;
+
+ TaskCollection.Clear();
+ break;
+
+ case ProviderState.SignedIn:
+ SignInButton.Content = "Sign Out";
+ SignInLoadingRing.IsActive = false;
+ SignInButton.IsEnabled = true;
+
+ IList tasks = await GetDefaultTaskListAsync();
+ if (tasks != null)
+ {
+ foreach (var task in tasks)
+ {
+ TaskCollection.Add(task);
+ }
+ }
+ break;
+ }
+ }
+
+ private async void OnSignInButtonClick(object sender, RoutedEventArgs e)
+ {
+ IProvider provider = ProviderManager.Instance.GlobalProvider;
+ if (provider?.State == ProviderState.SignedOut)
+ {
+ await ProviderManager.Instance.GlobalProvider.SignInAsync();
+ }
+ else if (provider?.State == ProviderState.SignedIn)
+ {
+ await ProviderManager.Instance.GlobalProvider.SignOutAsync();
+ }
+ }
+
+ private async Task> GetDefaultTaskListAsync()
+ {
+ var httpClient = new HttpClient();
+ var requestUri = "https://graph.microsoft.com/v1.0/me/todo/lists/tasks/tasks";
+
+ var getRequest = new HttpRequestMessage(HttpMethod.Get, requestUri);
+ await ProviderManager.Instance.GlobalProvider.AuthenticateRequestAsync(getRequest);
+
+ using (httpClient)
+ {
+ var response = await httpClient.SendAsync(getRequest);
+
+ if (response.IsSuccessStatusCode)
+ {
+ var jsonResponse = await response.Content.ReadAsStringAsync();
+ var jObject = JObject.Parse(jsonResponse);
+ if (jObject.ContainsKey("value"))
+ {
+ var tasks = JsonConvert.DeserializeObject>(jObject["value"].ToString());
+ return tasks;
+ }
+ }
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/Samples/ManualGraphRequestSample/ManualGraphRequestSample.csproj b/Samples/ManualGraphRequestSample/ManualGraphRequestSample.csproj
new file mode 100644
index 0000000..2714ddd
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/ManualGraphRequestSample.csproj
@@ -0,0 +1,182 @@
+
+
+
+
+ Debug
+ x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}
+ AppContainerExe
+ Properties
+ ManualGraphRequestSample
+ ManualGraphRequestSample
+ en-US
+ UAP
+ 10.0.19041.0
+ 10.0.17763.0
+ 14
+ 512
+ {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ true
+ false
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ x86
+ false
+ prompt
+ true
+
+
+ bin\x86\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ x86
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\ARM\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ ARM
+ false
+ prompt
+ true
+
+
+ bin\ARM\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ ARM
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\ARM64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ ARM64
+ false
+ prompt
+ true
+ true
+
+
+ bin\ARM64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ ARM64
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ x64
+ false
+ prompt
+ true
+
+
+ bin\x64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ x64
+ false
+ prompt
+ true
+ true
+
+
+ PackageReference
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+ 6.2.11
+
+
+ 13.0.1
+
+
+
+
+ {2e4a708a-df53-4863-b797-e14cdc6b90fa}
+ CommunityToolkit.Authentication.Uwp
+
+
+ {B323A2E1-66EF-4037-95B7-2DEFA051B4B1}
+ CommunityToolkit.Authentication
+
+
+
+ 14.0
+
+
+
+
\ No newline at end of file
diff --git a/Samples/ManualGraphRequestSample/Models/TodoTask.cs b/Samples/ManualGraphRequestSample/Models/TodoTask.cs
new file mode 100644
index 0000000..14149e6
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/Models/TodoTask.cs
@@ -0,0 +1,43 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using Newtonsoft.Json;
+
+namespace ManualGraphRequestSample.Models
+{
+ ///
+ /// The type Todo Task.
+ /// The complete type definition can refer to here: https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/src/Microsoft.Graph/Generated/model/TodoTask.cs
+ ///
+ [JsonObject(MemberSerialization = MemberSerialization.OptIn)]
+ public class TodoTask
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public TodoTask()
+ {
+ this.ODataType = "microsoft.graph.todoTask";
+ }
+
+ ///
+ /// Gets or sets @odata.type.
+ ///
+ [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "@odata.type", Required = Required.Default)]
+ public string ODataType { get; set; }
+
+ ///
+ /// Gets or sets id.
+ ///
+ [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "id", Required = Required.Default)]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets title.
+ /// A brief description of the task.
+ ///
+ [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "title", Required = Required.Default)]
+ public string Title { get; set; }
+ }
+}
diff --git a/Samples/ManualGraphRequestSample/Package.appxmanifest b/Samples/ManualGraphRequestSample/Package.appxmanifest
new file mode 100644
index 0000000..d39052c
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/Package.appxmanifest
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+ ManualGraphRequestSample
+ Microsoft
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/ManualGraphRequestSample/Properties/AssemblyInfo.cs b/Samples/ManualGraphRequestSample/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..a02c795
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/Properties/AssemblyInfo.cs
@@ -0,0 +1,30 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("ManualGraphRequestSample")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ManualGraphRequestSample")]
+[assembly: AssemblyCopyright("Copyright © 2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/Samples/ManualGraphRequestSample/Properties/Default.rd.xml b/Samples/ManualGraphRequestSample/Properties/Default.rd.xml
new file mode 100644
index 0000000..af00722
--- /dev/null
+++ b/Samples/ManualGraphRequestSample/Properties/Default.rd.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Windows-Toolkit-Graph-Controls.sln b/Windows-Toolkit-Graph-Controls.sln
index d86724f..fc2a152 100644
--- a/Windows-Toolkit-Graph-Controls.sln
+++ b/Windows-Toolkit-Graph-Controls.sln
@@ -49,6 +49,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WpfMsalProviderSample", "Sa
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UwpWindowsProviderSample", "Samples\UwpWindowsProviderSample\UwpWindowsProviderSample.csproj", "{C60C02DF-F44C-4449-A1D4-C2DC3A7959B9}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManualGraphRequestSample", "Samples\ManualGraphRequestSample\ManualGraphRequestSample.csproj", "{192CC7FD-408D-4B0B-9032-AD06C7BE46C6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
CI|Any CPU = CI|Any CPU
@@ -486,6 +488,60 @@ Global
{C60C02DF-F44C-4449-A1D4-C2DC3A7959B9}.Release|x86.ActiveCfg = Release|x86
{C60C02DF-F44C-4449-A1D4-C2DC3A7959B9}.Release|x86.Build.0 = Release|x86
{C60C02DF-F44C-4449-A1D4-C2DC3A7959B9}.Release|x86.Deploy.0 = Release|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|Any CPU.ActiveCfg = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|ARM.ActiveCfg = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|ARM.Build.0 = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|ARM.Deploy.0 = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|ARM64.ActiveCfg = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|ARM64.Build.0 = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|ARM64.Deploy.0 = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|x64.ActiveCfg = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|x64.Build.0 = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|x64.Deploy.0 = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|x86.ActiveCfg = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|x86.Build.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.CI|x86.Deploy.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|Any CPU.Build.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|Any CPU.Deploy.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|ARM.ActiveCfg = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|ARM.Build.0 = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|ARM.Deploy.0 = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|ARM64.Build.0 = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|ARM64.Deploy.0 = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|x64.ActiveCfg = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|x64.Build.0 = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|x64.Deploy.0 = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|x86.ActiveCfg = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|x86.Build.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Debug|x86.Deploy.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|Any CPU.ActiveCfg = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|ARM.ActiveCfg = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|ARM.Build.0 = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|ARM.Deploy.0 = Debug|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|ARM64.ActiveCfg = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|ARM64.Build.0 = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|ARM64.Deploy.0 = Debug|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|x64.ActiveCfg = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|x64.Build.0 = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|x64.Deploy.0 = Debug|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|x86.ActiveCfg = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|x86.Build.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Native|x86.Deploy.0 = Debug|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|Any CPU.ActiveCfg = Release|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|ARM.ActiveCfg = Release|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|ARM.Build.0 = Release|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|ARM.Deploy.0 = Release|ARM
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|ARM64.ActiveCfg = Release|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|ARM64.Build.0 = Release|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|ARM64.Deploy.0 = Release|ARM64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|x64.ActiveCfg = Release|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|x64.Build.0 = Release|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|x64.Deploy.0 = Release|x64
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|x86.ActiveCfg = Release|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|x86.Build.0 = Release|x86
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -495,6 +551,7 @@ Global
{D0F6A1EB-806E-424A-BDCA-9F749F12774F} = {022BF202-8D0D-4A6B-8A5B-92376D2EB5DA}
{EDAD72A8-498B-4645-AD1A-E5CDBDB610F7} = {022BF202-8D0D-4A6B-8A5B-92376D2EB5DA}
{C60C02DF-F44C-4449-A1D4-C2DC3A7959B9} = {022BF202-8D0D-4A6B-8A5B-92376D2EB5DA}
+ {192CC7FD-408D-4B0B-9032-AD06C7BE46C6} = {022BF202-8D0D-4A6B-8A5B-92376D2EB5DA}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {20641689-5BDE-4F6F-8889-CCDD2CC2685E}