diff --git a/src/Redux.Sandbox.Universal/App.xaml b/src/Redux.Sandbox.Universal/App.xaml
deleted file mode 100644
index 0e1d69f..0000000
--- a/src/Redux.Sandbox.Universal/App.xaml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
diff --git a/src/Redux.Sandbox.Universal/App.xaml.cs b/src/Redux.Sandbox.Universal/App.xaml.cs
deleted file mode 100644
index b827c8a..0000000
--- a/src/Redux.Sandbox.Universal/App.xaml.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System;
-using Windows.ApplicationModel;
-using Windows.ApplicationModel.Activation;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-
-namespace Redux.Sandbox.Universal
-{
- sealed partial class App : Application
- {
- public static IStore CounterStore = new Store(0,CounterReducer.Execute);
-
- public App()
- {
- this.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 (rootFrame.Content == null)
- {
- rootFrame.Navigate(typeof(MainPage), e.Arguments);
- }
-
- Window.Current.Activate();
- }
- }
-}
diff --git a/src/Redux.Sandbox.Universal/Assets/LockScreenLogo.scale-200.png b/src/Redux.Sandbox.Universal/Assets/LockScreenLogo.scale-200.png
deleted file mode 100644
index 735f57a..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/LockScreenLogo.scale-200.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/Assets/SplashScreen.scale-200.png b/src/Redux.Sandbox.Universal/Assets/SplashScreen.scale-200.png
deleted file mode 100644
index 023e7f1..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/SplashScreen.scale-200.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/Assets/Square150x150Logo.scale-200.png b/src/Redux.Sandbox.Universal/Assets/Square150x150Logo.scale-200.png
deleted file mode 100644
index af49fec..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/Square150x150Logo.scale-200.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/Assets/Square44x44Logo.scale-200.png b/src/Redux.Sandbox.Universal/Assets/Square44x44Logo.scale-200.png
deleted file mode 100644
index ce342a2..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/Square44x44Logo.scale-200.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/Redux.Sandbox.Universal/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
deleted file mode 100644
index f6c02ce..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/Square44x44Logo.targetsize-24_altform-unplated.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/Assets/StoreLogo.png b/src/Redux.Sandbox.Universal/Assets/StoreLogo.png
deleted file mode 100644
index 7385b56..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/StoreLogo.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/Assets/Wide310x150Logo.scale-200.png b/src/Redux.Sandbox.Universal/Assets/Wide310x150Logo.scale-200.png
deleted file mode 100644
index 288995b..0000000
Binary files a/src/Redux.Sandbox.Universal/Assets/Wide310x150Logo.scale-200.png and /dev/null differ
diff --git a/src/Redux.Sandbox.Universal/CounterActions.cs b/src/Redux.Sandbox.Universal/CounterActions.cs
deleted file mode 100644
index ca0d980..0000000
--- a/src/Redux.Sandbox.Universal/CounterActions.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace Redux.Sandbox.Universal
-{
- public class IncrementAction : IAction { }
-
- public class DecrementAction : IAction { }
-}
diff --git a/src/Redux.Sandbox.Universal/CounterReducer.cs b/src/Redux.Sandbox.Universal/CounterReducer.cs
deleted file mode 100644
index 554297d..0000000
--- a/src/Redux.Sandbox.Universal/CounterReducer.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Redux.Sandbox.Universal
-{
- public static class CounterReducer
- {
- public static int Execute(int previousState, IAction action)
- {
- if (action is IncrementAction)
- {
- return previousState + 1;
- }
-
- if (action is DecrementAction)
- {
- return previousState - 1;
- }
-
- return previousState;
- }
- }
-}
diff --git a/src/Redux.Sandbox.Universal/MainPage.xaml b/src/Redux.Sandbox.Universal/MainPage.xaml
deleted file mode 100644
index c1e53ee..0000000
--- a/src/Redux.Sandbox.Universal/MainPage.xaml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Redux.Sandbox.Universal/MainPage.xaml.cs b/src/Redux.Sandbox.Universal/MainPage.xaml.cs
deleted file mode 100644
index 6672271..0000000
--- a/src/Redux.Sandbox.Universal/MainPage.xaml.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using Windows.UI.Xaml.Controls;
-using System;
-using System.Threading.Tasks;
-using System.Reactive.Linq;
-
-namespace Redux.Sandbox.Universal
-{
- public sealed partial class MainPage : Page
- {
-
- public MainPage()
- {
- this.InitializeComponent();
-
- App.CounterStore.Subscribe(counter => CounterRun.Text = counter.ToString());
- }
-
- private void IncrementButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
- {
- App.CounterStore.Dispatch(new IncrementAction());
- }
-
- private void DecrementButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
- {
- App.CounterStore.Dispatch(new DecrementAction());
- }
-
- private async void IncrementIfOddButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
- {
- var counter = await App.CounterStore.FirstAsync();
- if (counter % 2 == 1)
- {
- App.CounterStore.Dispatch(new IncrementAction());
- }
- }
-
- private async void IncrementAsyncButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
- {
- await Task.Delay(1000);
- App.CounterStore.Dispatch(new IncrementAction());
- }
- }
-}
diff --git a/src/Redux.Sandbox.Universal/Package.appxmanifest b/src/Redux.Sandbox.Universal/Package.appxmanifest
deleted file mode 100644
index 7f6270b..0000000
--- a/src/Redux.Sandbox.Universal/Package.appxmanifest
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
- Redux.Sandbox.Universal
- Guillaume
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Redux.Sandbox.Universal/Properties/Default.rd.xml b/src/Redux.Sandbox.Universal/Properties/Default.rd.xml
deleted file mode 100644
index 461bc4c..0000000
--- a/src/Redux.Sandbox.Universal/Properties/Default.rd.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Redux.Sandbox.Universal/Redux.Sandbox.Universal.csproj b/src/Redux.Sandbox.Universal/Redux.Sandbox.Universal.csproj
deleted file mode 100644
index 475dbf2..0000000
--- a/src/Redux.Sandbox.Universal/Redux.Sandbox.Universal.csproj
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
- Debug
- x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}
- AppContainerExe
- Properties
- Redux.Sandbox.Universal
- Redux.Sandbox.Universal
- en-US
- UAP
- 10.0.10240.0
- 10.0.10240.0
- 14
- true
- 512
- {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Redux.Sandbox.Universal_TemporaryKey.pfx
-
-
- 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\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
-
-
- 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
-
-
-
-
-
-
-
- App.xaml
-
-
-
-
- MainPage.xaml
-
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- MSBuild:Compile
- Designer
-
-
-
-
- {9e9e1f17-990b-4208-8bb6-4b2f5e295ee9}
- Redux.DevTools.Universal
-
-
- {a15d3f17-691f-48df-9078-27dcde7141eb}
- Redux
-
-
-
- 14.0
-
-
-
-
\ No newline at end of file
diff --git a/src/Redux.Sandbox.Universal/project.json b/src/Redux.Sandbox.Universal/project.json
deleted file mode 100644
index 5732938..0000000
--- a/src/Redux.Sandbox.Universal/project.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "dependencies": {
- "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0",
- "Rx-Main": "2.2.5"
- },
- "frameworks": {
- "uap10.0": {}
- },
- "runtimes": {
- "win10-arm": {},
- "win10-arm-aot": {},
- "win10-x86": {},
- "win10-x86-aot": {},
- "win10-x64": {},
- "win10-x64-aot": {}
- }
-}
\ No newline at end of file
diff --git a/src/Redux.Tests/FakeAction.cs b/src/Redux.Tests/FakeAction.cs
new file mode 100644
index 0000000..89ed9d1
--- /dev/null
+++ b/src/Redux.Tests/FakeAction.cs
@@ -0,0 +1,12 @@
+namespace Redux.Tests
+{
+ public class FakeAction : IAction
+ {
+ public T Value { get; set; }
+
+ public FakeAction(T value)
+ {
+ Value = value;
+ }
+ }
+}
diff --git a/src/Redux.Tests/MockObserver.cs b/src/Redux.Tests/MockObserver.cs
new file mode 100644
index 0000000..88a4a47
--- /dev/null
+++ b/src/Redux.Tests/MockObserver.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+
+namespace Redux.Tests
+{
+ public class MockObserver : IObserver
+ {
+ public bool IsCompleted { get; private set; }
+
+ public Exception Error { get; private set; }
+
+ private readonly List _values = new List();
+ public IEnumerable Values => _values;
+
+ public void OnCompleted()
+ {
+ IsCompleted = true;
+ }
+
+ public void OnError(Exception error)
+ {
+ Error = error;
+ }
+
+ public void OnNext(T value)
+ {
+ _values.Add(value);
+ }
+ }
+}
diff --git a/src/Redux.Sandbox.Universal/Properties/AssemblyInfo.cs b/src/Redux.Tests/Properties/AssemblyInfo.cs
similarity index 64%
rename from src/Redux.Sandbox.Universal/Properties/AssemblyInfo.cs
rename to src/Redux.Tests/Properties/AssemblyInfo.cs
index 91fc54d..2406304 100644
--- a/src/Redux.Sandbox.Universal/Properties/AssemblyInfo.cs
+++ b/src/Redux.Tests/Properties/AssemblyInfo.cs
@@ -5,15 +5,23 @@
// 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("Redux.Sandbox.Universal")]
+[assembly: AssemblyTitle("Redux.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Redux.Sandbox.Universal")]
+[assembly: AssemblyProduct("Redux.Tests")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("41c1eeba-4cd2-4158-b5c0-d091233db419")]
+
// Version information for an assembly consists of the following four values:
//
// Major Version
@@ -26,4 +34,3 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/src/Redux.Tests/Reducers.cs b/src/Redux.Tests/Reducers.cs
new file mode 100644
index 0000000..ac458d5
--- /dev/null
+++ b/src/Redux.Tests/Reducers.cs
@@ -0,0 +1,22 @@
+namespace Redux.Tests
+{
+ public static class Reducers
+ {
+ public static TState PassThrough(TState previousState, IAction action)
+ {
+ return previousState;
+ }
+
+ public static TState Replace(TState previousState, IAction action)
+ {
+ var fakeAction = action as FakeAction;
+
+ if(fakeAction != null)
+ {
+ return fakeAction.Value;
+ }
+
+ return previousState;
+ }
+ }
+}
diff --git a/src/Redux.Tests/Redux.Tests.csproj b/src/Redux.Tests/Redux.Tests.csproj
new file mode 100644
index 0000000..b528146
--- /dev/null
+++ b/src/Redux.Tests/Redux.Tests.csproj
@@ -0,0 +1,105 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}
+ Library
+ Properties
+ Redux.Tests
+ Redux.Tests
+ v4.5
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll
+ True
+
+
+ ..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll
+ True
+
+
+ ..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+ True
+
+
+ ..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll
+ True
+
+
+ ..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll
+ True
+
+
+
+
+ ..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
+ True
+
+
+ ..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll
+ True
+
+
+ ..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll
+ True
+
+
+ ..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {a15d3f17-691f-48df-9078-27dcde7141eb}
+ Redux
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Redux.Tests/StoreTests.cs b/src/Redux.Tests/StoreTests.cs
new file mode 100644
index 0000000..5728851
--- /dev/null
+++ b/src/Redux.Tests/StoreTests.cs
@@ -0,0 +1,44 @@
+using NUnit.Core;
+using NUnit.Framework;
+
+namespace Redux.Tests
+{
+ [TestFixture]
+ public class StoreTests
+ {
+ [Test]
+ public void Should_push_initial_state()
+ {
+ var sut = new Store(1, Reducers.PassThrough);
+ var mockObserver = new MockObserver();
+
+ sut.Subscribe(mockObserver);
+
+ CollectionAssert.AreEqual(new[] { 1 }, mockObserver.Values);
+ }
+
+ [Test]
+ public void Should_push_state_on_dispatch()
+ {
+ var sut = new Store(1, Reducers.Replace);
+ var mockObserver = new MockObserver();
+
+ sut.Subscribe(mockObserver);
+ sut.Dispatch(new FakeAction(2));
+
+ CollectionAssert.AreEqual(new[] { 1, 2 }, mockObserver.Values);
+ }
+
+ [Test]
+ public void Should_only_push_the_last_state_before_subscription()
+ {
+ var sut = new Store(1, Reducers.Replace);
+ var mockObserver = new MockObserver();
+
+ sut.Dispatch(new FakeAction(2));
+ sut.Subscribe(mockObserver);
+
+ CollectionAssert.AreEqual(new[] { 2 }, mockObserver.Values);
+ }
+ }
+}
diff --git a/src/Redux.Tests/packages.config b/src/Redux.Tests/packages.config
new file mode 100644
index 0000000..87421ea
--- /dev/null
+++ b/src/Redux.Tests/packages.config
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Redux.sln b/src/Redux.sln
index cfc26b5..a60661e 100644
--- a/src/Redux.sln
+++ b/src/Redux.sln
@@ -7,7 +7,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redux", "Redux\Redux.csproj
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redux.DevTools.Universal", "Redux.DevTools.Universal\Redux.DevTools.Universal.csproj", "{9E9E1F17-990B-4208-8BB6-4B2F5E295EE9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redux.Sandbox.Universal", "Redux.Sandbox.Universal\Redux.Sandbox.Universal.csproj", "{EB423034-9A33-4F85-B5D2-BE5E44C184AE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Redux.Tests", "Redux.Tests\Redux.Tests.csproj", "{41C1EEBA-4CD2-4158-B5C0-D091233DB419}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -53,28 +53,22 @@ Global
{9E9E1F17-990B-4208-8BB6-4B2F5E295EE9}.Release|x64.Build.0 = Release|x64
{9E9E1F17-990B-4208-8BB6-4B2F5E295EE9}.Release|x86.ActiveCfg = Release|x86
{9E9E1F17-990B-4208-8BB6-4B2F5E295EE9}.Release|x86.Build.0 = Release|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|Any CPU.ActiveCfg = Debug|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|Any CPU.Build.0 = Debug|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|Any CPU.Deploy.0 = Debug|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|ARM.ActiveCfg = Debug|ARM
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|ARM.Build.0 = Debug|ARM
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|ARM.Deploy.0 = Debug|ARM
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|x64.ActiveCfg = Debug|x64
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|x64.Build.0 = Debug|x64
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|x64.Deploy.0 = Debug|x64
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|x86.ActiveCfg = Debug|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|x86.Build.0 = Debug|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Debug|x86.Deploy.0 = Debug|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|Any CPU.ActiveCfg = Release|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|ARM.ActiveCfg = Release|ARM
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|ARM.Build.0 = Release|ARM
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|ARM.Deploy.0 = Release|ARM
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|x64.ActiveCfg = Release|x64
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|x64.Build.0 = Release|x64
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|x64.Deploy.0 = Release|x64
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|x86.ActiveCfg = Release|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|x86.Build.0 = Release|x86
- {EB423034-9A33-4F85-B5D2-BE5E44C184AE}.Release|x86.Deploy.0 = Release|x86
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|ARM.Build.0 = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|x64.Build.0 = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Debug|x86.Build.0 = Debug|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|Any CPU.Build.0 = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|ARM.ActiveCfg = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|ARM.Build.0 = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|x64.ActiveCfg = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|x64.Build.0 = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|x86.ActiveCfg = Release|Any CPU
+ {41C1EEBA-4CD2-4158-B5C0-D091233DB419}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE