diff --git a/UI/SQLiteSample/README.md b/UI/SQLiteSample/README.md
new file mode 100644
index 00000000..69a69a62
--- /dev/null
+++ b/UI/SQLiteSample/README.md
@@ -0,0 +1,5 @@
+# Sqlite database for WebAssembly
+
+This is a simple standalone app demonstrating the use of SQLite in an Uno application, including WebAssembly. It uses Erik Sink's [SQLitePCLRaw](https://github.com/ericsink/SQLitePCL.raw), and Frank Krueger's [sqlite-net](https://github.com/praeclarum/sqlite-net) libraries.
+
+The WebAssembly application uses the [Uno.SQLitePCLRaw.Wasm](https://github.com/unoplatform/Uno.SQLitePCLRaw.Wasm) package to provide an in-browser, client-side SQLite database.
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample.sln b/UI/SQLiteSample/SQLiteSample/SQLiteSample.sln
new file mode 100644
index 00000000..42b870cf
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample.sln
@@ -0,0 +1,357 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.30223.230
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SQLiteSample.Shared", "SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.shproj", "{6279C845-92F8-4333-AB99-3D213163593C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.Droid", "SQLiteSample\SQLiteSample.Droid\SQLiteSample.Droid.csproj", "{6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.iOS", "SQLiteSample\SQLiteSample.iOS\SQLiteSample.iOS.csproj", "{A9260487-8EFC-4EB5-932C-FA033E74CA42}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.UWP", "SQLiteSample\SQLiteSample.UWP\SQLiteSample.UWP.csproj", "{E51EDEA7-A863-4D3B-95B3-B55E03136B75}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.Wasm", "SQLiteSample\SQLiteSample.Wasm\SQLiteSample.Wasm.csproj", "{280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLiteSample.macOS", "SQLiteSample\SQLiteSample.macOS\SQLiteSample.macOS.csproj", "{58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}"
+EndProject
+Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{280ba3c6-6bd1-4af0-bc19-6d2ffaed7e02}*SharedItemsImports = 5
+ SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{58882fc3-c8ea-4c11-8b79-6ff4c3807af0}*SharedItemsImports = 4
+ SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
+ SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{6b1286f8-f19a-4bc3-b164-0ce30cac91ce}*SharedItemsImports = 4
+ SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{a9260487-8efc-4eb5-932c-fa033e74ca42}*SharedItemsImports = 4
+ SQLiteSample\SQLiteSample.Shared\SQLiteSample.Shared.projitems*{e51edea7-a863-4d3b-95b3-b55e03136b75}*SharedItemsImports = 4
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
+ Ad-Hoc|ARM = Ad-Hoc|ARM
+ Ad-Hoc|ARM64 = Ad-Hoc|ARM64
+ Ad-Hoc|iPhone = Ad-Hoc|iPhone
+ Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
+ Ad-Hoc|x64 = Ad-Hoc|x64
+ Ad-Hoc|x86 = Ad-Hoc|x86
+ AppStore|Any CPU = AppStore|Any CPU
+ AppStore|ARM = AppStore|ARM
+ AppStore|ARM64 = AppStore|ARM64
+ AppStore|iPhone = AppStore|iPhone
+ AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
+ AppStore|x64 = AppStore|x64
+ AppStore|x86 = AppStore|x86
+ Debug|Any CPU = Debug|Any CPU
+ Debug|ARM = Debug|ARM
+ Debug|ARM64 = Debug|ARM64
+ Debug|iPhone = Debug|iPhone
+ Debug|iPhoneSimulator = Debug|iPhoneSimulator
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|ARM = Release|ARM
+ Release|ARM64 = Release|ARM64
+ Release|iPhone = Release|iPhone
+ Release|iPhoneSimulator = Release|iPhoneSimulator
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM64.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM64.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|ARM64.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x64.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x86.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|Any CPU.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM64.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM64.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|ARM64.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhone.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhone.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x64.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x64.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x64.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x86.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x86.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.AppStore|x86.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|ARM64.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhone.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x64.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x64.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x86.Build.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Debug|x86.Deploy.0 = Debug|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM64.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|ARM64.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhone.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhone.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x64.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x64.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x64.Deploy.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x86.ActiveCfg = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x86.Build.0 = Release|Any CPU
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}.Release|x86.Deploy.0 = Release|Any CPU
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|ARM64.ActiveCfg = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|ARM.ActiveCfg = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|ARM64.ActiveCfg = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhone.Build.0 = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|x64.ActiveCfg = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.AppStore|x86.ActiveCfg = AppStore|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|Any CPU.ActiveCfg = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|ARM.ActiveCfg = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|ARM64.ActiveCfg = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhone.ActiveCfg = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhone.Build.0 = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|x64.ActiveCfg = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Debug|x86.ActiveCfg = Debug|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|Any CPU.ActiveCfg = Release|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|ARM.ActiveCfg = Release|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|ARM64.ActiveCfg = Release|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhone.ActiveCfg = Release|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhone.Build.0 = Release|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|x64.ActiveCfg = Release|iPhone
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}.Release|x86.ActiveCfg = Release|iPhone
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|Any CPU.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|Any CPU.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|Any CPU.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM.Build.0 = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM.Deploy.0 = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM64.ActiveCfg = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM64.Build.0 = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|ARM64.Deploy.0 = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhone.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhone.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhone.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x64.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x64.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x64.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x86.ActiveCfg = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x86.Build.0 = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Ad-Hoc|x86.Deploy.0 = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|Any CPU.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|Any CPU.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|Any CPU.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM.ActiveCfg = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM.Build.0 = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM.Deploy.0 = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM64.ActiveCfg = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM64.Build.0 = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|ARM64.Deploy.0 = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhone.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhone.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhone.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhoneSimulator.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhoneSimulator.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|iPhoneSimulator.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x64.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x64.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x64.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x86.ActiveCfg = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x86.Build.0 = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.AppStore|x86.Deploy.0 = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM.ActiveCfg = Debug|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM.Build.0 = Debug|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM.Deploy.0 = Debug|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM64.Build.0 = Debug|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|ARM64.Deploy.0 = Debug|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|iPhone.ActiveCfg = Debug|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x64.ActiveCfg = Debug|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x64.Build.0 = Debug|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x64.Deploy.0 = Debug|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x86.ActiveCfg = Debug|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x86.Build.0 = Debug|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Debug|x86.Deploy.0 = Debug|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|Any CPU.ActiveCfg = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM.ActiveCfg = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM.Build.0 = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM.Deploy.0 = Release|ARM
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM64.ActiveCfg = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM64.Build.0 = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|ARM64.Deploy.0 = Release|ARM64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|iPhone.ActiveCfg = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|iPhoneSimulator.ActiveCfg = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x64.ActiveCfg = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x64.Build.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x64.Deploy.0 = Release|x64
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x86.ActiveCfg = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x86.Build.0 = Release|x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}.Release|x86.Deploy.0 = Release|x86
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM64.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|ARM64.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|Any CPU.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM64.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|ARM64.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhone.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x64.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x64.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x86.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.AppStore|x86.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhone.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x64.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Debug|x86.Build.0 = Debug|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|Any CPU.Build.0 = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM.Build.0 = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|ARM64.Build.0 = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhone.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhone.Build.0 = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x64.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x64.Build.0 = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x86.ActiveCfg = Release|Any CPU
+ {280BA3C6-6BD1-4AF0-BC19-6D2FFAED7E02}.Release|x86.Build.0 = Release|Any CPU
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|Any CPU.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|Any CPU.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM64.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|ARM64.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhone.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x64.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x64.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x86.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Ad-Hoc|x86.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|Any CPU.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|Any CPU.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM64.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|ARM64.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhone.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhone.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x64.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x64.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x86.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.AppStore|x86.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|iPhone.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|x64.ActiveCfg = Release|iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}.Release|x86.ActiveCfg = Release|iPhoneSimulator
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {2DF5C6E2-2BF3-41DD-8323-66C083C9EAC6}
+ EndGlobalSection
+EndGlobal
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt
new file mode 100644
index 00000000..ee398862
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/AboutAssets.txt
@@ -0,0 +1,19 @@
+Any raw assets you want to be deployed with your application can be placed in
+this directory (and child directories) and given a Build Action of "AndroidAsset".
+
+These files will be deployed with you package and will be accessible using Android's
+AssetManager, like this:
+
+public class ReadAsset : Activity
+{
+ protected override void OnCreate (Bundle bundle)
+ {
+ base.OnCreate (bundle);
+
+ InputStream input = Assets.Open ("my_asset.txt");
+ }
+}
+
+Additionally, some Android functions will automatically load asset files:
+
+Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/Fonts/winjs-symbols.ttf b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/Fonts/winjs-symbols.ttf
new file mode 100644
index 00000000..118f5c48
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Assets/Fonts/winjs-symbols.ttf differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Main.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Main.cs
new file mode 100644
index 00000000..ab7ee9a5
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Main.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using Com.Nostra13.Universalimageloader.Core;
+using Windows.UI.Xaml.Media;
+
+namespace SQLiteSample.Droid
+{
+ [global::Android.App.ApplicationAttribute(
+ Label = "@string/ApplicationName",
+ LargeHeap = true,
+ HardwareAccelerated = true,
+ Theme = "@style/AppTheme"
+ )]
+ public class Application : Windows.UI.Xaml.NativeApplication
+ {
+ public Application(IntPtr javaReference, JniHandleOwnership transfer)
+ : base(() => new App(), javaReference, transfer)
+ {
+ ConfigureUniversalImageLoader();
+ }
+
+ private void ConfigureUniversalImageLoader()
+ {
+ // Create global configuration and initialize ImageLoader with this config
+ ImageLoaderConfiguration config = new ImageLoaderConfiguration
+ .Builder(Context)
+ .Build();
+
+ ImageLoader.Instance.Init(config);
+
+ ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync;
+ }
+ }
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs
new file mode 100644
index 00000000..388761c7
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/MainActivity.cs
@@ -0,0 +1,18 @@
+using Android.App;
+using Android.Widget;
+using Android.OS;
+using Android.Content.PM;
+using Android.Views;
+
+namespace SQLiteSample.Droid
+{
+ [Activity(
+ MainLauncher = true,
+ ConfigurationChanges = Uno.UI.ActivityHelper.AllConfigChanges,
+ WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden
+ )]
+ public class MainActivity : Windows.UI.Xaml.ApplicationActivity
+ {
+ }
+}
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml
new file mode 100644
index 00000000..32b1e190
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..ad5bedca
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Properties/AssemblyInfo.cs
@@ -0,0 +1,30 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using Android.App;
+
+// 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("SQLiteSample.Droid")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SQLiteSample.Droid")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+
+// 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: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt
new file mode 100644
index 00000000..c2bca974
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/AboutResources.txt
@@ -0,0 +1,44 @@
+Images, layout descriptions, binary blobs and string dictionaries can be included
+in your application as resource files. Various Android APIs are designed to
+operate on the resource IDs instead of dealing with images, strings or binary blobs
+directly.
+
+For example, a sample Android app that contains a user interface layout (main.axml),
+an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
+would keep its resources in the "Resources" directory of the application:
+
+Resources/
+ drawable/
+ icon.png
+
+ layout/
+ main.axml
+
+ values/
+ strings.xml
+
+In order to get the build system to recognize Android resources, set the build action to
+"AndroidResource". The native Android APIs do not operate directly with filenames, but
+instead operate on resource IDs. When you compile an Android application that uses resources,
+the build system will package the resources for distribution and generate a class called "R"
+(this is an Android convention) that contains the tokens for each one of the resources
+included. For example, for the above Resources layout, this is what the R class would expose:
+
+public class R {
+ public class drawable {
+ public const int icon = 0x123;
+ }
+
+ public class layout {
+ public const int main = 0x456;
+ }
+
+ public class strings {
+ public const int first_string = 0xabc;
+ public const int second_string = 0xbcd;
+ }
+}
+
+You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
+to reference the layout/main.axml file, or R.strings.first_string to reference the first
+string in the dictionary file values/strings.xml.
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/drawable/Icon.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/drawable/Icon.png
new file mode 100644
index 00000000..8074c4c5
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/drawable/Icon.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml
new file mode 100644
index 00000000..636f27a6
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Strings.xml
@@ -0,0 +1,5 @@
+
+
+ Hello World, Click Me!
+ SQLiteSample
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml
new file mode 100644
index 00000000..d668a8e0
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/Resources/values/Styles.xml
@@ -0,0 +1,12 @@
+
+
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj
new file mode 100644
index 00000000..b5cd5b69
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Droid/SQLiteSample.Droid.csproj
@@ -0,0 +1,99 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {6B1286F8-F19A-4BC3-B164-0CE30CAC91CE}
+ {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Library
+ Properties
+ SQLiteSample.Droid
+ SQLiteSample.Droid
+ 512
+ true
+ Resources\Resource.Designer.cs
+
+ false
+ Off
+ False
+ v9.0
+ Properties\AndroidManifest.xml
+ True
+ ..\SQLiteSample.Shared\Strings
+
+
+ true
+ portable
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ True
+ None
+
+
+ portable
+ true
+ true
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+ False
+ SdkOnly
+ true
+ true
+ False
+ False
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.7.335
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml
new file mode 100644
index 00000000..bf07c45b
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml
@@ -0,0 +1,7 @@
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs
new file mode 100644
index 00000000..8420f056
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/App.xaml.cs
@@ -0,0 +1,163 @@
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+namespace SQLiteSample
+{
+ ///
+ /// Provides application-specific behavior to supplement the default Application class.
+ ///
+ sealed partial class App : Application
+ {
+ ///
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ ///
+ public App()
+ {
+ ConfigureFilters(global::Uno.Extensions.LogExtensionPoint.AmbientLoggerFactory);
+
+ this.InitializeComponent();
+ this.Suspending += OnSuspending;
+ }
+
+ ///
+ /// Invoked when the application is launched normally by the end user. Other entry points
+ /// will be used such as when the application is launched to open a specific file.
+ ///
+ /// Details about the launch request and process.
+ protected override void OnLaunched(LaunchActivatedEventArgs e)
+ {
+#if DEBUG
+ if (System.Diagnostics.Debugger.IsAttached)
+ {
+ // this.DebugSettings.EnableFrameRateCounter = true;
+ }
+#endif
+ Frame rootFrame = Windows.UI.Xaml.Window.Current.Content as Frame;
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (rootFrame == null)
+ {
+ // Create a Frame to act as the navigation context and navigate to the first page
+ rootFrame = new Frame();
+
+ rootFrame.NavigationFailed += OnNavigationFailed;
+
+ if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
+ {
+ //TODO: Load state from previously suspended application
+ }
+
+ // Place the frame in the current Window
+ Windows.UI.Xaml.Window.Current.Content = rootFrame;
+ }
+
+ if (e.PrelaunchActivated == false)
+ {
+ if (rootFrame.Content == null)
+ {
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ rootFrame.Navigate(typeof(MainPage), e.Arguments);
+ }
+ // Ensure the current window is active
+ Windows.UI.Xaml.Window.Current.Activate();
+ }
+ }
+
+ ///
+ /// Invoked when Navigation to a certain page fails
+ ///
+ /// The Frame which failed navigation
+ /// Details about the navigation failure
+ void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
+ {
+ throw new Exception($"Failed to load {e.SourcePageType.FullName}: {e.Exception}");
+ }
+
+ ///
+ /// Invoked when application execution is being suspended. Application state is saved
+ /// without knowing whether the application will be terminated or resumed with the contents
+ /// of memory still intact.
+ ///
+ /// The source of the suspend request.
+ /// Details about the suspend request.
+ private void OnSuspending(object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral();
+ //TODO: Save application state and stop any background activity
+ deferral.Complete();
+ }
+
+
+ ///
+ /// Configures global logging
+ ///
+ ///
+ static void ConfigureFilters(ILoggerFactory factory)
+ {
+ factory
+ .WithFilter(new FilterLoggerSettings
+ {
+ { "Uno", LogLevel.Warning },
+ { "Windows", LogLevel.Warning },
+
+ // Debug JS interop
+ // { "Uno.Foundation.WebAssemblyRuntime", LogLevel.Debug },
+
+ // Generic Xaml events
+ // { "Windows.UI.Xaml", LogLevel.Debug },
+ // { "Windows.UI.Xaml.VisualStateGroup", LogLevel.Debug },
+ // { "Windows.UI.Xaml.StateTriggerBase", LogLevel.Debug },
+ // { "Windows.UI.Xaml.UIElement", LogLevel.Debug },
+
+ // Layouter specific messages
+ // { "Windows.UI.Xaml.Controls", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.Layouter", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.Panel", LogLevel.Debug },
+ // { "Windows.Storage", LogLevel.Debug },
+
+ // Binding related messages
+ // { "Windows.UI.Xaml.Data", LogLevel.Debug },
+
+ // DependencyObject memory references tracking
+ // { "ReferenceHolder", LogLevel.Debug },
+
+ // ListView-related messages
+ // { "Windows.UI.Xaml.Controls.ListViewBase", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.ListView", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.GridView", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.VirtualizingPanelLayout", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.NativeListViewBase", LogLevel.Debug },
+ // { "Windows.UI.Xaml.Controls.ListViewBaseSource", LogLevel.Debug }, //iOS
+ // { "Windows.UI.Xaml.Controls.ListViewBaseInternalContainer", LogLevel.Debug }, //iOS
+ // { "Windows.UI.Xaml.Controls.NativeListViewBaseAdapter", LogLevel.Debug }, //Android
+ // { "Windows.UI.Xaml.Controls.BufferViewCache", LogLevel.Debug }, //Android
+ // { "Windows.UI.Xaml.Controls.VirtualizingPanelGenerator", LogLevel.Debug }, //WASM
+ }
+ )
+#if DEBUG
+ .AddConsole(LogLevel.Debug);
+#else
+ .AddConsole(LogLevel.Information);
+#endif
+ }
+ }
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md
new file mode 100644
index 00000000..8d2d37a1
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Assets/SharedAssets.md
@@ -0,0 +1,34 @@
+See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md
+
+# Here is a cheat sheet:
+
+1. Add the image file to the `Assets` directory of a shared project.
+2. Set the build action to `Content`.
+3. (Recommended) Provide an asset for various scales/dpi
+
+## Examples
+
+```
+\Assets\Images\logo.scale-100.png
+\Assets\Images\logo.scale-200.png
+\Assets\Images\logo.scale-400.png
+
+\Assets\Images\scale-100\logo.png
+\Assets\Images\scale-200\logo.png
+\Assets\Images\scale\400\logo.png
+```
+
+## Table of scales
+
+| Scale | UWP | iOS | Android |
+|-------|:-----------:|:--------:|:-------:|
+| `100` | scale-100 | @1x | mdpi |
+| `125` | scale-125 | N/A | N/A |
+| `150` | scale-150 | N/A | hdpi |
+| `200` | scale-200 | @2x | xhdpi |
+| `300` | scale-300 | @3x | xxhdpi |
+| `400` | scale-400 | N/A | xxxhdpi |
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml
new file mode 100644
index 00000000..1f239197
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml.cs
new file mode 100644
index 00000000..a850f7ff
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/MainPage.xaml.cs
@@ -0,0 +1,96 @@
+using SQLite;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
+
+namespace SQLiteSample
+{
+ ///
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ ///
+ public sealed partial class MainPage : Page
+ {
+ public MainPage()
+ {
+ this.InitializeComponent();
+
+ using (var db = TryCreateDatabase())
+ {
+ UpdateList(db);
+ }
+ }
+
+ public void OnClickMe()
+ {
+ using (var db = TryCreateDatabase())
+ {
+ AddStock(db, stockSymbol.Text);
+
+ UpdateList(db);
+ }
+ }
+
+ private static SQLiteConnection TryCreateDatabase()
+ {
+ // Get an absolute path to the database file
+ var databasePath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "MyData.db");
+
+ var exists = File.Exists(databasePath);
+
+ var db = new SQLiteConnection(databasePath);
+
+ if (!exists)
+ {
+ db.CreateTable();
+ db.CreateTable();
+ }
+
+ return db;
+ }
+
+ private void UpdateList(SQLiteConnection db)
+ {
+ symbolsList.ItemsSource = db.Table().Select(s => s.Symbol).ToList();
+ }
+
+ public static void AddStock(SQLiteConnection db, string symbol)
+ {
+ var stock = new Stock()
+ {
+ Symbol = symbol
+ };
+ db.Insert(stock);
+ Console.WriteLine("{0} == {1}", stock.Symbol, stock.Id);
+ }
+ }
+
+ public class Stock
+ {
+ [PrimaryKey, AutoIncrement]
+ public int Id { get; set; }
+ public string Symbol { get; set; }
+ }
+
+ public class Valuation
+ {
+ [PrimaryKey, AutoIncrement]
+ public int Id { get; set; }
+ [Indexed]
+ public int StockId { get; set; }
+ public DateTime Time { get; set; }
+ public decimal Price { get; set; }
+ }
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.projitems b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.projitems
new file mode 100644
index 00000000..f974bf70
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.projitems
@@ -0,0 +1,37 @@
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ true
+ 6279c845-92f8-4333-ab99-3d213163593c
+
+
+ SQLiteSample.Shared
+
+
+
+ Designer
+ MSBuild:Compile
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+
+
+ Designer
+ MSBuild:Compile
+
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.shproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.shproj
new file mode 100644
index 00000000..8977bb1b
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/SQLiteSample.Shared.shproj
@@ -0,0 +1,13 @@
+
+
+
+ 6279c845-92f8-4333-ab99-3d213163593c
+ 14.0
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Strings/en/Resources.resw b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Strings/en/Resources.resw
new file mode 100644
index 00000000..768261ca
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Shared/Strings/en/Resources.resw
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ SQLiteSample
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/lockscreenlogo.scale-200.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/lockscreenlogo.scale-200.png
new file mode 100644
index 00000000..735f57ad
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/lockscreenlogo.scale-200.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/splashscreen.scale-200.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/splashscreen.scale-200.png
new file mode 100644
index 00000000..023e7f1f
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/splashscreen.scale-200.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square150x150logo.scale-200.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square150x150logo.scale-200.png
new file mode 100644
index 00000000..af49fec1
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square150x150logo.scale-200.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square44x44logo.scale-200.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square44x44logo.scale-200.png
new file mode 100644
index 00000000..ce342a2e
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/square44x44logo.scale-200.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/storelogo.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/storelogo.png
new file mode 100644
index 00000000..7385b56c
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/storelogo.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/wide310x150logo.scale-200.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/wide310x150logo.scale-200.png
new file mode 100644
index 00000000..288995b3
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Assets/wide310x150logo.scale-200.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Package.appxmanifest b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Package.appxmanifest
new file mode 100644
index 00000000..5a553513
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Package.appxmanifest
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+ SQLiteSample
+ SQLiteSample
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/AssemblyInfo.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..d8b016a8
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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("SQLiteSample.UWP")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SQLiteSample.UWP")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[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: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: ComVisible(false)]
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/Default.rd.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/Default.rd.xml
new file mode 100644
index 00000000..80a960ce
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/Properties/Default.rd.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/SQLiteSample.UWP.csproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/SQLiteSample.UWP.csproj
new file mode 100644
index 00000000..07ad2a8f
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.UWP/SQLiteSample.UWP.csproj
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+ 6.2.2
+
+
+
+
+ 1.7.335
+
+
+
+
+ Debug
+ x86
+ {E51EDEA7-A863-4D3B-95B3-B55E03136B75}
+ AppContainerExe
+ Properties
+ SQLiteSample
+ SQLiteSample
+ en-US
+ UAP
+ 10.0.17763.0
+ 10.0.17763.0
+ 14
+ 512
+ {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ SQLiteSample.Uwp_TemporaryKey.pfx
+
+
+ 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
+
+
+
+
+
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 14.0
+
+
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Assets/SplashScreen.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Assets/SplashScreen.png
new file mode 100644
index 00000000..023e7f1f
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Assets/SplashScreen.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/LinkerConfig.xml b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/LinkerConfig.xml
new file mode 100644
index 00000000..f5676aad
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/LinkerConfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Program.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Program.cs
new file mode 100644
index 00000000..f6ff80cd
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Program.cs
@@ -0,0 +1,17 @@
+using System;
+using Windows.UI.Xaml;
+
+namespace SQLiteSample.Wasm
+{
+ public class Program
+ {
+ private static App _app;
+
+ static int Main(string[] args)
+ {
+ Windows.UI.Xaml.Application.Start(_ => _app = new App());
+
+ return 0;
+ }
+ }
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Properties/launchSettings.json b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Properties/launchSettings.json
new file mode 100644
index 00000000..4e5f2038
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/Properties/launchSettings.json
@@ -0,0 +1,27 @@
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:61493/",
+ "sslPort": 0
+ }
+ },
+ "profiles": {
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "SQLiteSample.Wasm": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ },
+ "applicationUrl": "http://localhost:5000"
+ }
+ }
+}
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/SQLiteSample.Wasm.csproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/SQLiteSample.Wasm.csproj
new file mode 100644
index 00000000..d434a287
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/SQLiteSample.Wasm.csproj
@@ -0,0 +1,58 @@
+
+
+
+ Exe
+ netstandard2.0
+ true
+ $(DefineConstants);__WASM__
+ NU1701
+
+
+ true
+ $(DefineConstants);TRACE;DEBUG
+ portable
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmCSS/Fonts.css b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmCSS/Fonts.css
new file mode 100644
index 00000000..f69615d7
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmCSS/Fonts.css
@@ -0,0 +1,10 @@
+/**
+ When adding fonts here, make sure to add them using a base64 data uri, otherwise
+ fonts loading are delayed, and text may get displayed incorrectly.
+*/
+
+@font-face {
+ font-family: "Symbols";
+ /* winjs-symbols.woff2: https://github.com/Microsoft/fonts/tree/master/Symbols */
+ src: url(data:application/x-font-woff;charset=utf-8;base64,d09GMgABAAAAAGcUAA0AAAAA0gwAAGa4AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GYACEAhEICoLjFIKMAQuDNAABNgIkA4NABCAFjR8HpGQb4aMHFL3u4ThP4JPte57aPBJhPzirl4yimhRj9v//fUEukRHo+YFOnVUXQFhIENRKE1bqnq2XPonXO1wy3IjlE2TmZJR3ART0K3bMZbkqw6JZM4qizpvKlH0rx7GRJgXIIOsgc5BDzO9eRGFS0p3jIoqefMKddFBkwV3o/DD9lvMI/oWp7mVHaOyT3OH5ufX+3/42auxvrFg0G71isFErBqMHjAGCVClCaw+zsBMzsNHzAhWrOUXU80yM3vAwr3/juJ4NK1FLrkbPODYxVaPP6TqXbnqncsOlmjEXXMxEn68vnWt9gav8Z4if0z+gWNEECQGPYJIgnrzYiygRexFFowSoUYIEaNeu/NL6zJAps5ZJOzGkosx+oeLMvB3Ky1IqnZn0BaVT8rXtIQcg2dvrHhSc8YZ+4ov6FbMnBa1fyUmLCQAoncu131JAkBg3h2nyb8vPyfEWFj5/awGutyJc2goXF5vxsaUamWsAAhHWP+nsbUBgDWgkO8kBcUfVlccCL6AFH2jB9sy8Rko6OekWggQLB0V5RcOXU7XSLbXbowOxHi9gYyEwlp/+05dkxyweq3uioLJcpnfza0VDdvfEOtXpr2ivJMmaEU4lgbO0dy3/YTHBAhEFAnF70J801c1/TvX/9vb/xkJLsQMCshQyywQBNgwQo0vhFu9YRLCtEd3adx9EwMB2Y+9ITM3p34wP3HQJk4ygwGk3/hD+f7DATlbKyRmz24Nx8wZO/5+qVouhTFvaGKqLfG9LX9Gl0O0W1TXlx58ZYAIGBEGRAgjKhkDZS5EONCT7KGmDRDlwae+llCqKDivrQgxNFXJ3r7/uquqK9oru2uKMmpZRyVHrFPccE3LGhoawpUszG8ojOc04jlOWHCU7f0gZ4H9AVvtx7Q/SITtLn+UY2aMH+PnTFKDhA3gMfgiRP0PP0eNHGZx7w2NsmebLfgk1DxLwKFVM7WVVIqAfn3PuDnJaF4J20zFPCYkVMSqI7htbf/4/Zvq8YMzotmvdbuMtF36BvwDvBgBAHXCDkYyOHnen+3MNIqWnITQJrwQmZTcaK1ngBPwA9BEgFM+Eu4w3e/mxQI+BAgID/SUhkixzsB3QA/4aIIDfN8BcBwgLHtZZ800GM9VscDMAPzWkQQnpk2pOsMCH9Ndv6AN9zCsZrytet7++8/rR65XXawuHV51X3VeTV8+sFi40LzxbeLuIW4teq1wDLhfwcSfjSjpZvDr417DKXPVcPb6avlCyMLTw4o/botYqftaup65ufijvjfKYci9Px5PxanlBvEAehYfyiDwvnjsPz0O4/yndVnpVqZ1LY+bV2dcPQjjgjebk4NzEbDkT/b86FujzkMuVan338fR+YP0fhFvheuv9KfZTJy0zGPdlIIZz7aWonKhhlwgy8lqExNHQYSYutaDGADGyUMawkFTn3ARAK2q66o2k0pjB6MlSpj4jf0aMoXmKg81L29haohAYm9plmSvUCo1KWlOfNCPYrGoAQxqlEmVOxlPtb1KXaZySqZ2OEQku5eORCENANR4qr9PNSa84GBdgTFi/ZMDetq+gmrhDtWoB1OTAJ7e6ugaon3Oc53JrnRtB8Rtk2WyiHJVl47mqqaGJROWJz684NBairaUVI4SrSTVFTc2ipapKAZQQcmZUlou0jUEntG73/+hbdYRAmm5jge5giZklWl6vdPw7MSu5w+qAh27sBmHQLTXV1nL1WlDhJsHna1ZqLQVGiMpi0HVc2SPJGPW2HNwcQnQqxge/+3RZ2hwW9a4lQdpZuPrztIGi3dgDjNUiViAopOC9xGW7RNbIAb+uxcTVK6/K5uXUgL6DHnsMDzYCskZHJy1INKU3X68u7po5jaEYo452kbcZTYpZ05BPCanMGskjh21PcS+y8yKjTH2PNUktNYHG0EJ7kB6DHsoalVYPjIDsolXjaHRM3m+eceNxUWnf9Rkt9bbwAsAfd0C6KW17gXPOpnM2ppX5L01jUJUMmoN1+K3sP0plKc1bcQbFegmZ0GI52kepM9vI5th4YxUcMlpbxeCLWbD4BeGtVh3loKoUBfce5DAeGVpnYyYoWfwstNXmpLDtWmV7RPKEfHaPNG3DaM/w3CWFCG1CmGMMY0izdqD+u9OgrD24Et66VjsA1jHggt4cGg6wobc27FZ0dsJn/T+b77/6vryBYP81PeS07yrpZXvOETcu3zmCCBW76asntyP833Dzr0yB4vVtV3Wys0AYcOrQmEUF9nYQji2BbQUYXmMD9JsToHYagvb9FsBoBRY3k12rAwOutqAnRZyEVv9N9HzDxmot5liRXOqWS+AJeLpaIxVIopApFROB7bfWRh6d2keS1lM4BeroNB5RMgjOBpnx5KBf9i7Ntaqvwkhvd9OY7+DzjJAJFcNzheAIeaBoM8dNrz1Nt7RdPAVcQl8Igvf6g1AJOhtCZ3+yQuJoZgxoOV4gtQajAXKKCH/Ig/AEWkStgCMgt3iJToJDXjFzYhDmpuWBMTOs7jQ6lNQZgolKqQxOCZ/uHFKT/xluKligKdDp16JWc7UW649cuFqGiUv6HvbRypa+oS0deBB/spZssLIQOnuBY1G3DGW2TRSFS3stuoInySB60hLJ5XYu4U4Om1y4isBIIlVsogycANq1ZYsVVaFRAUfH1Q0EtMmVnpamIZx+/3ceQSuQPGsRALVk4Mc08oUXkdiT03E9mVbbk2K8DbpKxgCtN34v2EBdf00R+Cho2ti7Yp23bRrkwKDBYPS0rySmikNdGM5tUzWAGicU4510L/7uDxxVpUl9cq8BelYRhFwdhJoWro3NjwZmI6sJXxH7hc6ky6OufCxPh6eONboeNIuGH49WXlzln4xthhbFyaUgULcHRFGtSr3COPqsvbTfl/Ed1wIvZAdJ2yqWELYB7pTpOyHpKSqJ8qUWL2mkD8bUajI1vdhuK1b8ScS6JwT95OUEoo3FrY3lrWj5v1ia2mYDNM14Z2BWH1ok7b4qbHsrCWvw+y7a0CRvHNLNgAIkYpy/jlcUob+FxI7F+B5vEMjRNM1D34OV7/kHq87kXtK5Ndelu+oV2Px5zSkfx7dlwkknFZTxdCFwCW3lEpOYk5qNQchEBAvZ88FYnC8pfPdJCOZXs3w9ybLVuWR9mKLVuVGarOVpOprP1xay/F80O3UQQ2RCzHHNbQNFHpC3v0MFDWElatgT1ndX89AP3VaTXol41TlpoX7Bn2BE+XONn5cH2lgW9wKBAk1Ox8tdMccO4eHCdxmUs1hTl60EtLOY4VoabE01YbVQ17BNg/v8xXgn0n5ydNBN2la1UwmiOh8Pt2yhW9FOmaIMdqt45NW8xZpf1xgmyo0L9BU0TSdy1y5QkfGUFoHQHUGBBiDBg1ktyk5jvFer6gj2HavI/UcxzHQZQptWUsGuS7TV/vguUaTdr//sASVe5s0PlSKOiIH8w8d+firSDozyo3i6vMiM2heR2A03jwiYRlvf2QEezhOHbXYwJeu2blhPYUXulScyPHNcGgKxLl+L2vYXQZMqjZsKdYIQlJayjU/Ksm0sJrJ3ZlMH2E7uUTd+APjjNRO7J68EJZ1sk3qaeq+fL/mtGPY5Gh47SJ6KdSrOG7LcpHdB37oUCj1/z1Tng3MBlWWJW1DLxzbZQa0KOSmISl0QnsZaiXBmOEN/ZZL/I6x/93sOv8QP83ORHUn50RShm3Xc+EbI2Bc01JICkTYkwouBd29VQM+KNNV4uYSOcWHQtu61kD5Va8lsKvwx97dp+meS8ppVFKDyyHZiWK64CO7vwzJHcSHrSpQWtqH7nQvUD/GpN/8o8Jdyf1L1N6wh5OcEW58XUONrnz7bahLqFAE4DcmSJ+SD2/BML3B8rlcl8hAGu3XxNRzve8Ite+3NNH69J17kcRVf7QW7qCe6A/Es0AW8SMOWUoigSAwAfY1ccX26YXFjoHcHLgHHzEqPqbMiou0EwMJuu2bqQA7yBorXrA0ic47bBp8lBoNgwAKP5ptm8TVeRdpM7aLPD85RE/6Ru0uAJ9CUk2OB5wZmWKR3WZ7CTDzSWsahHq9IVChXP+RYVUc6ifrpVWLgQQXu8/3lsH0QADssmHlU+Tk95XhnAPPSCjshq+zFNJ7bX4lzBYS2ANga2JxOSEjUJjKS80SLwNipoiHdHgsaMTWrGH5hN0xPkF9zw+PPs5gXNPd/nXaS9v4j4yXr6S+Z6gIQtrhpwfHUOpNzJh+bveoxd54aab1Bx+M/cPnAYRnrJuyWDp9vtJiTZrVIC0lPadbjjgiA8gvT3mqaK3Gi0SS6KHS7pTWBwmABqoNMO4DFEGZoPTotQWzYpYI3EFE8FlWkIqNg1+6xAPGcBWCfEO5BQLkTbAsqyP22s+YbaHAxDBoSjNvKgQQkGQki1U6gCRdRPAhB+KMIPvQUSMJTbV2HQXgcOwymNhMO0QiFYcQxNA5ZyCTIKgw4x0OYRUiJzhIclF1WGTDBVKGph4FVCno2VjZGfQOrClXEnEVBM6ABnCL58x6zLMNAVMCXSb/Y10RYbGdtdckhMWeXSMiEAjyHrhBpA4Z/hDYC3DJLB6oCNkvd5M+wNSSkAT1v8a/4X+uRQQwhBkiAJFcFnmIq4kzTjnXCTQCFcpHKihKALgw2vIIwUzXLGGbqOWXF9rS+wwv9YnIFjphuLASN4oJ2azmGgi4KgcLAKnwoRHqhjKSWtjM03yRL3F4Du5CJjilwm1q5bLDzaQ+8StsojAt7xtiks4krvFpKxCQdqe/0cruOKOUXudm0DymOpYHP1gupOKOGlu1XKecaoIKeoRB3IlqISYEUQ98fuAtmGXhoMEdRo5JwT0iUVjHjNINtVkyq0cxOORQ5ddJov7pXbXopKbRQSxkGXIeB970nvhPDvfveuE2vswfBl3BajN7rJSifEQRKTPnOQoHeftDMXigCbhhDFyNnu9rENCvRci6AvXqUpl0IscLyOZvQVbmlcB4zGp5hsUMYhepFh8rVltS3xOqqjSQpBGIdPHHgEB1+/9T5f7+/3HP12Kom7RjGwoTKG5J4AlSthD8e5JVUzzj5sqlmqAeOwIldWu9+pBgKj6ePPoJBljpfPOQX02A8chXLOgiwkySmenrZESwRBTP0Vj+I//pePq8K7nQoVm8w8tbpBZVyzyCe43ABWWUIxJtm6CzzS4R/xCozyHATOJwaakHMJJgXC+JLogwRwm5z69OWX+FryFQcI+whPUHQCQWmEQR72Ao5THzZSxkRSBJOpQN5sGWImz4aOD8+AoRIQcFWVU3/Zzx5XKNP/vbRTiHddzkmC9auBRDf9GprjRJACre9qp8bUSM2udUwiPwwaGmbPQ9HxQhQQaYuu4c6B6f34Tfn35shHmeQo9A5o/a2WXPBqHSKoxCh2KkHj1k0L+/cFGlf9htBYQxqC+HB+5tnpNSF+MmQm9zDtna4ujcaNK/ukHNI3CL7Clj9jZGDrxO9y3eHYSXQdJJAKhw6dd7Ohtwxu8YcMyezroYj1tEqn9z0wHinMgssZoVsKe5zkfX5PQ0NngTvFcQ5cjupuEC44IEZE2mwsI/ZlYqxF9LstgsWuOcUu6MRZS2ogMiLNfgW+qoPN+mayT094qXHt6156MzcAq3UJ+Rkw6jrG5gNrOKdnnJEBG5tVzwfMVVT53BG4XgUZ4sZemOypTnctXQkoLfiUlre/Oxq2OpyKIBo1c2LB9rccCfWUe6JNX8wXU4zhKg4iZUX9IDs6qrAEyKswK9QjZfVbGwD/TbTR5pRbliFIjdGNYeixJIKSASRaW1DW+OVXr3tjL8y/yNAPfeGuAU1UfhqjdJ+JwjIsaz641VH78f/fA/HO0jAhrjvDCSjgOTkO8HVEYmhgTHGTFslVwxLth6/XRhbu8YeL1buMn9gdPHFd4xtbrKHjV2NzwBqarwbVK+wbcKq7kPTxh97TwsyE3K10nF4mep2lxhfyJZJMyWdlG9ZfSpoNTGyE0U4u4ReDbYYwOilPIZSXBUwjd9fWx80Q3xBIDmqX7CSWKx2TITi0WWkaNDrg+tDFRgwagSBhiwjWjNMtNrG9kw6wP1Ayma9xS843AXwQ34YQy2BbHucT05MkvF2CjeBpj3ZXUp1bY9/fHAeXSd40zIXk7oiY5VXbkWharP7wq5k88FLdpKP50XgkQSOJjcMlG1dgEUhik8F3zkAoIcK4GVYVoU0/0Q87pYK2+Gls8GD3PfGR3Jp5WOAHkY1/mlQoYElUfbJCoQatdVgr42yI3Ri2UM4bfuqSXtoYZ14L8B2YoTbbHUs4dP0aWOU5MsepDhmU37XrJBVVmkIwA0d4/adL0jmRpIaT8rCkgeh7ctCc3cq3SQZW5isjZKr8+k/3w+ETv4R860h1m8ujBdaODAllafOSUrODJ//QtzvQA/cPrAen0S12B7LKgZB5ImYRlO6CLWsKHmlcGgD+8weGA8QcCpxaCThbge4p3KZZY6Ciqab1IQsY0pVpvFsFdWr8OULYLjlxn24cAv2TreJePAH+rYfhCE9OvJjzeQA4tgRq/7ue5l/UIJTobLGhTvPEAev5ZhTSfgs/MhtQ8OQKqigV6H7V0YdExO7VhW2czScj/yjRgvZmROfANxtydPERx0LGTb+oJx5je+dpJ0ddGXk8AmZfsIaRA8r8NW18tjylTO1PBRB+tMX6CIp7ZyNJbrBmVxJgbc9IXYMRVJ8AbMLhHYZ6hQyqz97u9SgT44rK2sBUTSLslgzScYr+Itj+9m+81qh91Z5l1pdRV9K4GG+o9UO2Q7RKz33YTWs1WMeno/qwUbQHWP7DcY327eeuDduqglnUmqVDfhQ9Z01DJ9FmD4oR0HMRZ6kPeDJsRrCrTYWIAl7ygrdtcgUt4LXpx/2eiLNg9egGo8aYhCv++zpjQxRzzFmJ4ScL64RPXLt1zP5U4KbvCDnOOBRFiKVIJzZYCl/uSvxkCq8jDgNMR27iyFB/n69z/E0ch17QwDbHvOJCTciJOg2R+VsYNbEEBO6S7ZZmqJOoDoGXHXrQQDn98ZRHjIhdKfhP7YKu75Ea6qaaobAszC2/50COL2tgQ4xANGiXSxNl0MG5rNI2488bMmNwTEaW3rYOTP3oTDSQHW6p89zb7iFQiU3vHVNA3kgdti29YjYBA0fVVr9LX80qpue+zyv5gGE6vPgcWVy3cfwt0e3O8++7LW/H7n8jX9nXfrmf49eUTt98AM6JOAONqvAWY2TExDrn/cc8J6rTSkK6ZCCdAdf8fzdGTziVuaX3Eka1qEh8BVpVcHNrYSVAPcocIuyNLBskQTbKEfALiQ7cYqZ5F5bGKfKpjiVtEfBIypgSpbqwfdqXZmuRBc/p33VvrKuO6bvinRvoC3mVLK2C9tprSynG7IcYi8c39/FMIoQClnrQk0OTupvfwSaFGGdeePeNOlKuXpENJkq+oudrPcAb9nr7Ku3ElZvBQatldDlmFGPtItULP6lmArZN9X7tCuKUr6NMJL6y2qnTNdjCAc16HtCauZAT36WQw6OMcXnYjzt6KuhyBiKI3mKLZQxqOhAEYLc2u6s0ACsTEMTAk/ijJPPosByxJ5pHYKh1B1sgVXeYiwEticCmZookLy4Tku/+S3p9NZByCtSiWjc5y2XZQccKG/AqsWyO4+6HcHTqIdbbMLULnsdvvFH2N5tDqwqECmKhQfYGHetoYTN8LQ0zQ2vRK3BeTyS0E3VSSBgIswuRIVyIqg81DHNSLRcSj05PFutYMGvpvNy1hyh6mGGYpvhFkKaathZUUeDqO4VSjZWNIml5bk7vChv1cvIT7wEirl6B6tZyFDq92M2AO3UQEn9gwRhZc1Ot11oRUz15r2nYw0qx9GO1wdc5CApfcBoT8tHUFMxmlhAAgtZYgToxJyoCccSSfyxOIU+GlhBpPkipzUSjG9ne/uaE3nXw/HPVOrr9cIeljB/vHf8RZWURVqXeQXHTgNN6dHZZZQRxjbxPJUKUjo5ktg2eaiT8tL/9k6b69gTsYU2IJvPpGgYQC8kCuE8xF3DVYFGziUZUqM2ICya0vgb6x7A617p0+5wtRDvv2I5N8yw/k5CrQuykfzRPZdGeZgTH4Sz756OzUUg/n1bfoBtdY86AH5nCSMhVoW0DsDWEMsEIB7nR+IVB9Bz3kzUrcFzV53jwPSBjaKQqB85JfHtlKCbk2BbCyh704ocitrs51G4CzY0q0qsLNnc+r9x6ze4XIZLcPTqxeNEyK8iWTbGQhJW8jno5n41x+1xzfXRRVY1opHdm9fDZofJSPJwKzrBodg4UYQ6sn81pizjozzWwQolieU2MqAOEJBbMaRTDtMsi7cBr17i/ys6MOTFSaj8JRGRgt75CBEkY701x7zll97jrfLUNiO3yLZFETrglSF8EdeF/mt5GBgN5Abgl8eYavn8pHxRjBZjtp/uyhQO/3T5XJOEDqENtL3OzXASNBfyMWBWAS+3YmuNgVt2dbd2bHfFtnwn3PUHS2C0a6u5a8jruwMxxNe7GzgD9DGDWt53e6eqv0nAa+Pmkgi5c7lm7E100ZMzJ6RXS/morknnvNy/fiimBXIs8qUPrzfy7NkDif40b748Uyqt+vkBl7paHpKY40XoKBBxshQlqA5fap0VtagX9+uyzluaL8Fdelvu8ZQrRoalqaoAr4/xS8T540+tGEgHOc3naRRrEBT5mA7vvu/I4XsV06d2sOMacRNWEIbxFDoftaI6nCcs+J0aNqhtNQNX9+hI9cB0T42kt8QINLYFHcaSw1qmEOm5n0HQTp5sGD/yNCwX63K5DpdhclD+8RjPAt/+8jrQlH8MDjxiAOrHQ7lTmqawZ2UXaQ/YCknMHtNd9Acx6sW4F3+MVrzU3VGrKEfT5jFit6B1SSontqCXIGsw9y0cEYaVE8e1DXdHg0nPU7FwCp8bQktwnl3+JFxY7jKv4ZO8c2aCSCeq96qd6QHpp9mSJTMhkc27Q4bQIU5fq27GepWZJDRxEDJp+g8+OtwqDRGjOkEn0vYXv8ViE4X+mpAVaki4cpZfICI+V+wpO+cy/rk8cfWQLQyi0NqvY/tdnChBd4SvGEbtlAXeYMbx3C3YCzqUI4uFcaGRiZYQgrILTXbgV2pqDPOLYv4KPeaYRXXyZArrYtWuMAplUFNpTwqZih22VpdI+FzSjm3cLPZbm3KX6d1APQAoUK5hCsj2Qifw+Ki4Nsf3KiKp0jV0tNqBxdUxFiSCcX9wiHKqvE5boeamjKqcJxbfamcMJaBJlsNLOOvLmMPh9oITp6tjhRiuaJUIwyCTw8uDYsGEQKF2KU/xUWtWXLIy7mDsJRTQNMURW/mL1SuQ7CqK0SUERE0v8qaUKqZJu5a4fxXZwdRhzHWnDi5MpS/O35a/B5VRNDifDyAs7uFe3PfxHNoyTVvyssDRq+mW5d9Vd9OyRX8QXJJA1Qk2pJca6Jo14IpkIqrMRc6ktcw2y1HZrT2+HT42Ht0GyISXSBiFngiQZDj9YqAgq2atwKTHbVLwbot4Jgm/UoYLSZy6+e2jmV5Q+T9wSmHTyHufU9oP594+5Ra4LlGlOgJBE270U0FKTeouzHBiBPIU5VPuGhJqf+EGwbvTT/hAIu4HA7kAyiLWbIk6Ub/V+0LMqZLCLdMpg9GWR9Ew74XMHUNGbSODeCBZqIT3yMdIAwscym9BHSEE0hZLICqK2pdnsbRGVpHZ/K4eyH1d0Zs21ahuvw2D4WGNSbxLwhyVjSSoa+ULa+iywL4znM6KbswYsjZhfetPt+eOxBxJ9wzDfE1eFlAmZGb6xok7XHxLoGGSzWNxAv5DHmdAoo65I3WHuqIbp3yiKjXOL2uAZq+Tjxw3m6XLjjYOgBxaOar6Ta86AikWs2iqXTYMR7kstngoq8X+nV5GZlMMIWflRu+sxz99QHvhyjUW9/Eih+wdqKM1M3ElbbuYy/TTW7KFa3wI9Cc3zq/YK/xYbVDFCcrGpaWOpEMApnB3G/VhAG4/VY4oa+0Kz3lnkP2XaHxJitYSZxhDrzwq/i8M5Yk0YZlqR8EBvArcKLQRhKHq/VszucAHoTtZqU6oo5P7u/WZQ98CxqpG6rJzR39K44cxPyptiVbVPyrVH+Me81fRyGNIAnXFQ9FsXdGKmREuPb48OSeLuapYqCQsRnnZG79x1sSVTHMV1Q3tXxR9VDPMcX0h5sc/c6FPB7A2Pz8cjpxVMlqj64Aht2beOPLc9xRW3MfTIfvcvK1v/nKnIGlufCs5rXbCEoYCSyzvBatmZH99TwOzpH1VAfCAoT5qJNWP32XrX6L6zp4pZayM06t6Iqid1UepaJS6tG/XNcwLya2gYTGskQS+tb/W/E/H+ZSmC4ALAVJgG/ZJCpR7xfMS0SQ+PQdHkQ81PGMslbEf88/KduFGonrV/Z7a5raeIWgTL2wz6+eXXlzKgl+y4cqoSzZvX2uAWV50k/vq3au5s12cAbR0yCKsyhxHwiJXxY2KsDJNCFUGh2qsr93DrSZJ5L73/Fd4OsJxFnnxvo/v8mJ5jY9eTXtxQSUJM+xeztKN988wv/XRcgmx1a+kSkqRKjeLE0flos4KnbthIou0jsu8klnopPDVNztKXaPozhKgSJFAyzVxFEvaLv+K48j353VpcWNsOYJeeQWFPfoeIovj8zkFIQaA5HfmzJcz/vXUBZ6ZKFWX+UXcbDkcqu+CKEpZyTmYCkbXmKWsOBkyemC6qxp2OlyrktC9EgKw0z5u0JllUdi5P5R4MZKLAKm++H/3B4jIxzP4b4b34Ftcd2jx4p+D8wxKZXJXYIm77ZsIulGKzH0ohFuI8ZXV1UEZuwPDQa6hyUfoeXQ7CJtVosFobfUG0u79S8HCfzXC56Yj1C4evOIfvKZJXjFohXy9flUVH9YpwnN35SLs5RrTq5LZiIXaoq+8PBTRdRWam/DSeH5jO9wylHawmVN9O0PhtTnMOTUsrQt8/tq4yJHap1uwp1Hf/sr35Cb/RsSqWtiTlx0OzhXbh338Bx+1g8/Eko2t92gPkBxNpD1U2E87NAc+vHoZnvIcrbUGPJFuCmi/XWXZNgog7YJjsUCxvA1DBTnf59dC0ZceFC1u4RarZC41uY3rteZSmHJw8rl8npu4CLpGFmObRZ/Wl5mwBV7mb3QdV57hbqBsiDMHYSJAmkvwg4q0Pq+w2r3e8tcJvb1jlEXpx6JSQFVDTBAfiYnBxVfF3+/Z5+InZ8meKsZhpfM8PYKTIFBBlDZcbH/PLfxrRhDhv8HPWE0tbceoUZh9IHgnHKM46+REJOfPxhC6ennrkTomeScC3hMgjj+aMpumYfAM2IY6gB4w4BlvXUbeHhzDAlTDXr2gntvQqeO22WZ4EmlOwjr0vAj62tbBXppBXlrBnU9BVb837ZWWriypYmmzWKkUWGY0WGDaAO4jSIwlz42NpqGgf6AhzBGoyQv4dENUpsb11YgLeWs13muUN1LpsQEnTlzrPrPDk68CTrBvn2nI/6QP7BowdAyqLIcZqJK2y39dEHnvq15De6NGsb8AAIHLvxM78BP/yZmAXseXf8f8/PXjF5jr15Q6dWWNc7+fmBSrN6kEPUWegJHyTH2/nrnEYKgL6A8TJpvB0MBAhsFg5k5aiHGM3lQzaDBYmanhCfBZNY1UaoLUxDn8ZvmlhAFDibLZhAnk4bl5Wj+WhcmUHItsyzf0ioUztPmK3VGL5GmkcEvhZ2Gk1pGnlmnNLBjWEDs/kCZlaaSNEgC2Ct7+1eVPzcKBE/ufE4Cb4ACD33nMa1oaxVfAdsAuXQMStwE9tle2I/ZXMBO4LwP93A7UPNCpD3GZqsf57bgViNCg5jlPp3IgOD7UoSOLRaYtbmDsNIn0AzbWbaPAWOaLTTAwczTWj9l5Evw+ukgB4AG7ohkorKvT/Aqc3Arc4mYMCP9TqdejUcaMb5R2GAu2gvF3/gVgkpowrX3ENTAlA0LnWHIHeFuK3OrUYG4HPHb7NjTAAwavBeqdNzotmDHzZNbDbUflqFuBrzFqlHF4Qb7XK1JL5DTfqrPSRWVA7NHWbFS0LxiDP7LqgCPmJY6N/6OZR1n292Fn7SI69d27t7Ep9Ghh+ExCq3pZ7b2fE2eczMz95jn9f8aGeoeS9WuDfd/rV++SZAAfAeQAJQM8kzE5e6vPwk5pGY5FAd/fND7KHG5PYWuAa8oetNvXP6YrwYG5uoxG+T7AAB7mHCYLMJ/LoRgBm9lMuRxMwH8COJ8R65wyNSJdsF3hiG2L7rY7pWbzwGCiZVsXAncr6VDxbHKiVXlwsr2n08NdDc+SlVomL/s3eVNtbLfcJnwis5ATvN20Vehp1oQbggRJtWFuOdXd79jdvuc3V3rk6SqtgAs4SGAuYJ144qBabkjazvdHTmIeZ8E/uHN8f3FS4NhON6ekg2avpVRGmMUEN8jg7XvsBVLAUvkZxNpYP7Vn/VZ5e+0Fy5oqezjDleMsT3B7XUaJiitrosmpUkGo5ep2QK9cAshILituqtXcmtHIKVP3qTRu27g0iTcQ6jHPdULWMfLo6+DqMe1JnyHaZ5V3QNbR8xjrXj8sz/dOTDQxH6P+Kb9sPmM+ZNOhSKXf2rnOj/MZ+dpCR1lEUmKmGL2/4ZRuNyVQ1nWnr/t4cJJvzKTA16Nfl+sc6gd3ZR5wYrRzWucccDCJ387v/HntPB4InZmZnTlU2uv0gcyAHtwBBwLUaTJiMW/7XvkiTY3mG3YgaROQPFiEl0ZL/Djc6fz+RUJeX2/qXWgqN7pz+sI9HaOfUyNxtLXgACcdJEpB4/DT9TItzqBP0c8VhTK/kFei0xqQmunk5YNUDovPRvlkbq4UpULV/ho/VZyZglTZf1xccvrLsaH6I2WW1O8XGPQDxRt/vB72dLlW9rfTR2iDpxCizE+ezEE9U7K/acvc/oqERHni88Hyuyvx3k9vxbVe33BQymqkGilPzpO4pbpl2FjRZk+D721aGbD+tG9UzHdoqQxPi6ctg+a6b42eiivGCaTPurdH4r13V5jW52XlieyK4ttNxoJ58WRhElEqbhm6FRqkj5wZ1JE6lOt/2Q+qihn07xcsqUfKjuiPfekt2f+xqoKCmIwFGhmCKlFVphLFp/C5bB78eBro8Vf1IT+4yzUWExbVDytJDJ5Ejw/56twHJNsRHu+uZgLS+L1K5gEkfwawd1P3gixFYbtry5efAJjmxETOeGNVjYqMB+Rfn3i333w3F3Uy4eSHZyfP7P1wG6Q3Hzw5GnI4leyJpqk8bYdCR/vT69g4JzfbghrI4Z5LUXP2MixO7OoYGigG2gJKBoS0RsQ1Xw6t3g1LfsQe07PEkmOswBu2W4N+qLhtoxAD1cUAzDsUipw/Q1pIE7HQMLzqwdSCKQV2KGdK3vRHeVNyp2zdOiVvau6N5IbU1q1y6oPcGQ8WtAvOluHXFJDBdzuqlvKsJlGjHgJY10Ast5TBShrp5vFNGjREW1cPytDHFmI9JGqATQJObJGjmcjIXuR+W3LXn9OdKu5XJkpmVGtDaMNetWVBp6TDoQ5hjpp34jbpjfbpMXmlU7Cwxa2hrZ3EmwKlV+x/tJ/DKyWq/18YKRVbS+lnMLnkP30s3i5SnGfMmFLWBbZGk4Kokiyv41VgFBIc4RN4ampqM34Qaaf643661DOjkSTdhU7hwTwm4ZGt6BdkZQ8jqwQOjk3bWSvxhBUsxT87UeNPLXaliVZJ6MbmddG+wleuUpH0PiE5gCb92VtsTCo87SJyFRrT5mslBgNNpeSqwadxTAGFHBabKkQVSqsUhVKUMiYlvColmKY89wUynL9vRi6RQ2GxwSrB9S8qzeBT9KEhqFYTFAtUg1/AMBGVPmRijbUPgdWs27bbnsih7DQ01rLZLKZE3MyxUYTRqgBlgJlmoVkbneldbJPKEiZNlMBMPU1b0hnqpHlRS00TnEnnNyPB6iAz3UJvr3emd7LMGoNantzCYeiYhuK2UAe9G8uYoG9tshVwEPiq/ban8qg7jcwNMI1ZBzRLm5fGUklahbbtqTFpPH3qPLTnIbQX/W4aSiE1NVfhmWgvlCFSNzfFA+Q5RKLjHzyM8cQBJIzV3LL4Eo5q7AVh/1x1AAkj1w2P+Z7bltJzSfOZQPrmG2SuGlvSzhYKURR+UvSD9hhIPwrKClKMTJlcpuAYOfTKljAFV883VbWnGOnmGGtY2V/Dy8SCwX6vvzweSOoikuJUJNnrvdNHiS26TCNPopCqWBYYrlCoEF8d21xlTdWxEIVMLrGwGAwpWaowsAws/4e4QiTIZKFy6CftXc737cdyCXo/wzA30Sw2mjl0WJ9v8He1GAuM0v+VEk0yMzDDdYmbW73rVCZTkf1wkZwT1jv3zGEToURa7iqWSEWpdZwwG8fA6hnZm93H98TWHb8xq3Z2uQldXV20W9BOZWlumVUAVNjV2iVVTccZuCxbWj6wU9X83k0xdKtRwDXCTK5y/6sZPM9WBepE6HVjqRVaZXYPUjMK626uxDMsrDiHE0/wevgYdnpvlxeQmn+t0jdjGRtLgLdfPAXt0JQp5tWjiy4gbqEw7GXnDk8gFMayFObCEhArGU+kObLjVOMO5D7a8Zd/cJjTa1bOV5gl/PwSY6EPGUI2pbyDbFQYcjhqjq+4N2iUKURJyEw+V7DtVEWGHHUcrfx33MpOsXcS5YctByPesAbjFuH8+ACtC3LpEIPe1eyOHcEH8HsKtifVUZ0Qgmi1NA/VQxgQDZVUWgcZGmlerdqo66J4DX7cIA4HWRshF6TTalX0borDL4DzJ2LC+I18j86ms2S0yFrMdUZtL9/H+7uZ5+ObtWad1CaT1ZneHr6P7510lnIb8ZkzpGKJtcGi9fK7+f3O5OwevkVr07ZkSESNNp2J3w3ibDOtYEdnZ5Mr5HIxED18kgR1doIdwPMOCDJJ28mXwPkDmeSn4yucjAW+E8EvB18lGQtnJpXhQBCkHL+ckVWkUl8eB8otlUsNQu4k17+yZxMnDvvxr50Q3LH9K4gzL158x1Gr6gFt9fvDrm+UQxrvComnhbfvpHp7oDOzD+7RfD41+WEeH/QEg9ifYB5kbaQ5qXo9gtA8yXbhhwsKbcP1dSvsoNi+S9+eNKeAZgYIjliChwwsWQfNn4fz44dobhVa3G5oCD+Ii8QrGyoy7CxEo1bvr9RRh6tZbey2emd6B8serlWrEvkcjqYa0diplGt7lemkiavO6aJMmh7gGc5pCzvD1Ik956oqjWI7lzlgY9054qVV9cKBOSKWFCG/cvX703f+KLMo9r8XXMzGGz4gOjAvNili5/GV3TMeTfLqM80/ShuPH9rp0VLxpA+fNVLb5n69gB3xsXWEdOHuuyN3GvCIntd9Yvo3jlX58Td6JA8LjNUv780i9k+cr7LVRnsMiXpxPmMZuqbIMmB0R4xnzZyUKAje/d28nGhtlOeQ/AO8oWWpzNCo/o6xZh9+In/Ii2Ply7vXltMDWXtHSsewUV5HNxfkO8HT8WnwHVlZXF6MfO2yDmn9ZW3ydberALej5gTot6dI521ubO4Szfcu4K1qJUZ80kNfJiNfmoAJhRpoW9NWKk781DH0oxQq8gkssNWIa7rftUuBpT9iL/iTxcZjrDD73uGyZgEoS7ZV35iuZjM+jkqhZ6syAg+bCXCC99QJgPnuoFtJOwIOZtYhiFC9r1W6qCbCpbFLK1sF8xYMNlOTq5V2ViBEjR9k2FVaHVbZHD01dZybGqDZFiYoxp7IPK1UZ2bSmbqigTqqNES1mGaMuCqESNFXMo6zc4/R7Itj42NAHFzcwsiEeWQhL57DSpNkMPmcUgsnm8mRpAs0DaeSXEaGBDYuq7qVmdUm8siP+/ldqQsKx57Vo7Lcnm25Z6NJxuRpzy419aWiUg4c7K2oGg+z2Hpt0I5cXXurgmUfd1klZO1tZd2BHh7hTIdZ2+dWl6GzgoSTBqw1SZg860nV4TrHRhQT1DgbPQHuUE7MFqP8NADIlW5aU/4VsNchde664LhGTpQsClBzvbFGfe0wqgnb1BlnMyo8o8qcI1ZjRLzb2YRExV2Yz6RBNGpmb/yTF6QhdmQ8wbhwh9Etnp1oGr1buqg4zWL5dXRh/Mods4SfzXgjwZrAiDDjP5go745pGnPZ3zHTTIHrcpAhmS8ZliNOQnDtu6X/nMySP7RKfsPHPw+cZESaCeGqU5leR503f4zHYtpJa8r5+2CnnOODIBilXS4PDhIoJkIyYX7TIXGpXAG5TfKTLwt/3CLniHRDpcMSQ8eLFHxggCcJmBgZQkUwAAMJIRiQZCAKpJRAUhi2VWTXTERhWCFewTgYD0MEmIB9nP1cf3z2xMKQeRAGxQAYC/QYYHtPpT798t/pPRQvyBvGwYg7BsZBbAvGjO4H3U1JKASCYQARsACxyQlYGEIBVogpBlgSxYyGoLARzUaBFoElYzF2LAbGwxgMgFCsJ1ZIh92oWPuFsSvlZI++wi0PF+FghIhtrg9qKN5wsBwYAUmtBAen4z0FBJzKPFnlN0H3JdjrYk+UB9K1UeVgujteDarJKLsd9+VjWKqh8cIq1H05FZDhsBgLYWaq80T2cDq6uXOJHsGX2zp24TSUKJBM7uAuVAAjrMJ5ACzOk4REshsifumwomLLyRB00JWTra7piHFxH7Z+iZqYmCmkif2CERgiUH3cGj3onRFfuQW7b/2z4sv79ZQ3CGEJ8ZFeWVoMVYHFI5Cvsf2GaeT7sx3HSoKoMBXrtWsULX5efHKjzzSZlB0EQwDmj6voa865ADNDzmborbVbHVLu/hU4mEDg49yQUluIB6kenWBJFREa+G88WkymtgTv9yTIGwz/SwjzUMLZjkqgZApIGLnSjKGqqnEBhFUt+5lvgxbjRUbWip5Zl5JTQBCjGjgijl9BsjvibEAhhhPTpsPcsJywCYPdhF91yToYg+wU9iz/VXqbrkzcmL6P5rFA3UEoFgtgPp668vTzEjjFZ0Xm4gbW9V3EKcJgOgbLxHkwkCAPpGFsIrqAwhpD7B8RhMXT3L319o18b1Io5liUKt9QQ0ows44suFPj26I8XC936HB13By1KgsknCOzJWFbbcIwCDMOhobmhiMeCJ2ahbivn3pzF5qUGhy3GjjFOioW5zHv5V7O2P61g1Hu8IW7OXsp1qqHPf/t8ghce+vMZy6dNPUzo9fjY2DhEXGMB1BKA4EaSQihQBiv3w8BMARBOARrRIMpQhiQKuHS/aW04I/y/eJFxD5+KI7fOCBWPlWdTA2Hw2E5DPDKTljcMGrVrFBC8CgouiEuiATjqJCMjvHEswiJ7gH+OeR+cn9YW0JQuAY2LNuexshnkOmwYUhp8wQYgfAgY3E5/cN7CzWu0nrdp0xb5l9jJzQmMHmRx3ZtjrwcXPOdTNgC/RyBRMB6krANpBZ4kSBB2aicFNvA/99OD/0Cp836hGAAoUYIgoTkJ8iYJ1dXXeZUzm77AESMKV+SF9z2f+M2IIBLgAAAwB0DSKMTAIA0WjYcGxCudq32rFJ+ls8g7wg+luwGjc1uAGJ/gvlO3DDeqffQEESvpzpPblhZiVj44WM8OyZUkUEWFWyiTDY6ykNFBllYKBBU4wJW7P0eFRlkUfEd68k8NM+rwCMLav0nOTLHPZ/KW3VfcgRFS0EEPEWGzduOmjHVcahz+6RUnY++3BJU457jkUtT1ua/NBXUlqSl6gKlr2YOdPiYypZ/nFSkWU6v7S9tax2onKvfWSbWC5EwqTA9hYygGqTu9I5e5bOIajtfI9a7lSnNz0eosI4RgPSTlVpmDCc+sWqn3X8XP9vIHD5XeN+0TD6zTz3detuREBq4X6HFeUazTXOAJMmvrxy0F3XSHcyBzH93BjP43F6rg78Zb1JwVqOFKkV+K1qUCCLBq7UAF7CWYiSvI31HmA50wMi3nivElAJSvBES1lS3o11u8/5CBLnGe+YuDfz3VY+77auRTmBxIukcHMRQEx0dC2mv6eLD//Qw1pXZOv+y9LpTCy5hn4kFrlRXoC7/3/ullARc0b2AtBsV/4g+QSrEkmOggDcN9Yq4k2R/RuWHdwOUfP3Z4Qu8Lw8DWGA5qpZ/s6zaS9yUYCXsMi0kMv39ZAATzu5ve/EwYzqw7J0cpY0ekA2rgHPiKsRsIwup3K3dr95eajGZtlf5dXYWpVX2h1mLzTbytrDtswt0B1QDpWaz+b/quXksne0qY6mehWq+NzATYhrlyUfi+VXfFgZFIawsaG6dId/oz4iD4Ty9v76us8Ag1c8r9stDpJ7h+jy97IKHFZoUVuvM4IUFVagsbJT9WIpHdiP4PXj87mlp4MRdKioHimiSLzV6IBH9FbRaa0xqvTw1DXhvgFIL4Cop3uL1V4Q8ylVtkwv1pf/ojcSjR+mfQKW91DjBdyo3dVYu0Tw2tqIHcvkk981mR1ebjZ0Jc5U5fjqHZ22znGn5y6HgthaPEZgKjE3LhGVjYwGdFCwCf1egfaXfvtSHyepeQGHQHr65jrBqqi5rfPdK3b4BQj3WEXFVe97svW6d+ep3VdS6jeGAgR+/QoZMQOyWFlq0XfsE/7peJN5sUJHCceoEb8qfNdJkt4N5AkYYQcPdOkPCCGHdKiNhVSo5dy5diaebTHI4Qq/m3zCPJxvslRF4TfyIngsT1ydgC1cnpMSo1B9c06dihtHukM4gkwmh0oSQkKCRICWbqrpUnUUao9ZvMko/iA2UFnNIvfpNkEalVZe1KtqbbAS1SGmS0IQI1UTvLHYFj2DGMNGDN+iqvk9tvysq7RWFyrJvF0fvKNRvyQm1qvhzSS2Z9bRfeRVcBUO0q+5yBtHIqcaeYdy5BFmi5RwFU7j7PDB0PD3s7aeq8n0TQGFhKWqIgfuVWbJB8WRbWn3L4WjMZPa/xzkFyY0AUCkRrkeby1FdWskdiyfjQGb53vEb46ivOsYxr23TXIUmvzJNj33Dhk7Z8j9QoPZB9ey7dry7tPT1rT2C7QNF2utNGv525HWNZ7MldRtty9gDmbLpuFONzx4out6bGMamAt8KJhrz+fIZX2fSKmpvxguDfFowlcC89DrOmHID4Uj+UPCdjqahGPyJrjhnYle9fM4G5jKsxZYAL6kgAaklOJM35ICMog0WTDbOgB1CaPGoDmwLEFj4jDJ9sLa+I8lZNNu7ioqXk2HMjm1tPLHdWUDzBAyvdVSfr2QBUOsEwFq2P6qjE1TezPJKElJFAbCM0cmxLIBlIrqY/poTRkBj+9Olx/kkRgBMFdFa7B6CWWSNFcVKsmtkEW3sb88ffvLwt2Hp8ghFOMUWLZJYRZaxXTYpQSkZmMB7NdBIVEuUEwaURKnYZrhyz3hv6OHvzzyI+jLODA166JDIxTufk9MC3hEPLNQmLRzahLj5K1X+LNeb7jIt8sIO6JuoVDBUyTmunO6TsM2ek4rb17fNZ9RWOXwQh7gtZX5lVSlx0pXk+eIihQRHVq5A2GbJ5UjYqASV2tmRRvckCuRYU6jef9CvbhCzJVzoW3hYfixLz+GSYGULS8SSK7k1PkX+Yzufc5InAs/4Kz5kRs5N9YtzHOHBsqCkrn17923Ij6Xkfs3pf+Cnw10/mmy0oXc74LEn6eW0Y9jEVMDJQVy6Nte5Sd1FZYL/wSvdLkPw+nanadBv8oXv0/420qMOki7qK/6jEdzRcb6vLt6B6vOnm1cfAV3w5k77HB5vnqMq4gv2qwhE4rZxB5yIr8oVZAuF43wVgYB/UJXP47f18bIq3kf+VVKkTOKsuTz2bH8Uk/F2eU5na+011A+kaA7I+vdGS00LU6j8c/tXx4Y/hUVKpeGfQsebLabGlx1EwiR66ixztoXPnEbIk2fdZrc6p02DTBnYyqAyGSYIyzwuFPW8MDYPydYIudbt/ROXQvq0nVovQ1FCr04MhmCyXLHklj/Xy/HsZ2Ue29bP5eZo+NrSzTWbjgstsJCJgaUytgAn9uOV7pnhmUHB6+MALevACKIgzW85ESrNkp87zcN2ozr5PKU6mH5RFWYcF5bdsuysTVMnNQEf5H/v0h41NRpyJOzNO5h9JaUJYyXBSR5G91T0gZmm5E2nlgNTTHPmJ11sOwsgzhw3cDotATIwm3iMr67zn+KTfOlAxueq62RHhcTQ/sK2p8AmbN4hfKRL1OV7BjWP6j6OnEd6laCnu1LmUzAYxnG0+5jscVnfMdRx1GlhiuLmeUufEl1CHReNTiAbfSvs8j8ZmlAa2jZ94QHeID63wM41y8hz2M8B5PpVCQY8trwkxnot6+pdIBikq70itlKstNfP3E5I+hRDI5Rqy/sdu7sKw0+AuSqcAB6br99nAXANjKYX3n60try2gunwuPowTcLiSET8zAXKume6KTU7u5h0YvC9HEVHQad/t+5IRO8X09LTHsqCroDOFm+xK8CZp1HKLrn6+OdnHk05i8SxGSQuW8hlBMKh32yQ2SEsnogrJIm8U7NlcanemRwOhx/CCmV3CWwqOHIeV8CTENO87eni2ExvK0fMhwLZIV9thcYruBweh0OSEzMym1uBE/N+pmSUMEL30j06g87goTugADGAHyvKxI7iHTHOWN0QRA25IDdum7h/QVpGD6dX06p1JCh4Wj374rxN5RNGkIwfIKAp6PLCg3r94QNDdTokoD+oezAAwSqZklBhKGRkMIt4IWJfLVNffEhvm6a/WF9aqlIF+Jv0dS0aoUTjp6UYfcyA3GgvR2mJWVKLWK/XNCMZcl7KZtWjrux6fhRfLPYTi47aBDReFTQLNOr6nwbl9nCcrFFUwbcvaSSq1+n2jeeHEvc0Ca4KSAEPrJmh01p0xlyNWj3sMGj/ksm06bfYwm+4wD+sP7E6GnjA373J0cPcSu/N2sbtawkAJz4xzwjeO9IA8i6CxId3by19t4gG7EGNfjD5t8v8O7KioP5GOcLYcJgYRrU/KVZC8mFPgjehgtJYNC9Jp2y34D8pUkdXCAVcOo+pQj1F4UyF0xlsurkLwAIpUGiJX0NF1lgqU9HQmB32StJqb8gtvjLMiPm/6vlPfgHX/CG3qUYNGaBLOwKXICBDxBGyOupP71J5QQmnTwLa4cBQLJIC/4PtxTqCjF4VuiJ6MfrfYf+04mL03wv9DwVrjUWdixN7LoZ1FpkGeYK2oSfwqLKFCh5V/jlbUSQ5Uz4jnVtAGsMuLu6IqZxXd9Ra+kDY37UF7J/aSvqvuTPKi5WIww00X7RPTjo/tKgNqeh8Nh+myMjCTBNGQ9cGiUPE0TQ9nV8ukKuYal9TOw3D8jR6JIywZbRyZ6K4AphP0qh0LBu7bXh72Zdec6b86JVUW5078nI1UaafNzxVatXraCr7+p58AUVVx8N4XA6ok4KRKh+x48eBExf2JHKts7GRN4SuVjt/xrbhRlB4U+ChUiqCT0gA5+R+9/gEuLm7rV3wmK50zcQBzxfAb7xLA+D1AcfHCXY+kHWLkCIsWvl8AJDseYiP56dkD1lr/UNZ2cNW7BTmoSxOfxLmB4STPj20z/LIWil4H+mvUQZGvufvmyVXnBmgQY1FSo1/FOh7OnTm0Ly/PuuWsr7hc6EhHxkUXjuYlCA7/UWIJOuAonFKLr/m8lbzRMxNMuhT9tDZGvBmSkryTZRv8ctNbzYmXNy2YJRMk/a6iSrp+gqyZ9JraEQbtYemzFn/VDIZdZMc/K9CASJlSqPq/brZeefyhjjaqNTpdRfq5Oj7dy/Zcrozs9QziOp6S33XaMVI6x30pQeMgt1o2Ye1B9Yy08TbNA4U9J/B9zry7yZyDzNanCsr94yBIXAXDEUdk1ehu4j6qYLMWJCkUcueMAKTJjDRgnxita23jbyds4A4pkXy84s6551kBqdq/7pKeLFvsE+JPGPNDiwNlKq6mYV5FI3iEFGoaPoDobra/fV2AubFL0vcP9/wftvH91dXp5eXpoSIlga2pmnYhlC+XDgl262oprqwQpzC5TSatHpeF8/xQtnJc2h1kcYknlhgqKipyS4eTNeShPLZBhZS7v4WLimeEaKSyE54KH37uIsRPSxtzPhSJDFA8cuEUbu4iRLU68//3vzStJihxPwfwbbsS/qD8CA800KPnTMuBeB1zB9EWgXI23xR/zcJB79MnLc+KauzIFfvRzcyoHxEqq7+H3VOgEwIl6jXXAyhKwtK/eYfOWRE3n0HZqYNgBpZqx/PxGPkKWWaSoxoeMvWfS749IJNVSDkF4tJ1yRCFBGLCrmPQXQhU+AgJy2gxoDAqi6GFRqJLWnADf59MnmB7Wo7TqNZVuAd2y1xzCH/sJWrY7dvOkye0KoKeLipAfBKcnPTRUY98pG0oBmJWT6Naa9srUQfCrVdtyVcvk0VootDC53lUQO4I5jnxmcArryyrQ3gGYC6LwpDa1qEAHhPakciOc+fWtcLGFzOpZIvCCVR2mdKUvLqkYZEgJ/b8CMAyMV5kIZngviXDX6tr/KefrK1Aql4tGx84a3unfcnZR4lcb8sbVHz4ufopJ56hV6wBWpuut1MuomwNl2POshVpBGypjWBqGzSygPs33b4yZmuCpRCIy+5aF1yXR+gcd/7PooIVYajL+qaGYjhJakXpX2B240xsGvD9aWV1sSrq0vM64uri67XV1ZXTHGNAxvusbYExlybkaBreTvT3Hh9bcW1mqypyJA1tLixuEZv7IEW9deXUd1iedWDLAM4nJcXAU9W3kqfm82KIOyJJozghmcDO34wJ88GYH9Z0PEm8BbuV3lxd7lvJOYJn5BYYuT8WpzN3ZPQc9BdqYI3LOx+4276VXhATGdIxoSMLZsstQLBqdqPZBN86I/oME3/3jqCUdClgYJg3slN60K2v5qpoOtF+DgKk04Qxf/91Ec7K7BiUYgXm2PjjETMwLoo0Uf4rS02cegZThMGNcmviw4IgoQ0KV0GzPhXr76oieTuBwqkJ75Hg7G/PxXrKL6S/x77wT5dfcCH4ff/FxnJCTpJYkTQ4tnQk5Gmp8AIE0w+6nWTgLwDoKxj0YhpzgrimeMaSX9FHpdMfenQYNz6U1VpYLEb4cGbuImDl7WGyj/urP9NtqpNRai97EBLp3HiUJaBzUjkGODrDYrTs2hs4R1qGffkKW5Y0c6PHRvJ1R+s2ubYXXWksMIdHzsmaq0cnHCMfcMThJZ+/vI/Ma2hfIX8bPnHHWkY7pj3D5bp7jrQ0qksnGqPPJQsSIP2aMcZOTS2EKSQvwEE/n2OkNujsU/hH+aPPf/gi2WBF/rR0T4+f1te9DsxG1Ky9dHrly+SvLd+vPhU1LI4OTtu9o3DmO2u1P6/vXYShgn9M1Kl0pBVeoGMWqzqL7qRe0fhYtBm29YpsTzC6bV3f7aRNRS9Py11z7kAslAnmvyfW8BtB3DiMrLc4A3yr4G37mwhsiHQKX54oW8Njpti1/wM5wRpgclRoPp93RdtdXLEmwfJ3244TiXvUjvh0VFJjKtF76yLjEdf/+HIXXFaYaLxg7WrWWTbxHVL6IEsv//rl13S5olJgSotaRjhs/Tat4l1wvAbV0uSdlOdWY0NlSck8aMIacRUryQ6xweybuCgt34KNWbygeSy1ugCy9767PzeXylvP/5jwhIKCh85cbAxIbA7WmXfU6yUPPpSjQhXRoUjz0JG0zLnFabKo9yWLsxqjBqn6/FYUyfkXfLLaYHr17IJctEokLdkh6RmNOEdy5m25+O/X1qY/eTFiSkRY3Npype3pzIDNBLLB227XoQASizZMJEz+fgHGf1yq6clQIxaJGyajkc/276iy1+M/pJSbHCJrz2MPb+EJYUEacts6VxfVkIuk8/ii227adUqNovDzmx35qllOjODxtDn62Qd1p+NZOOC9a3PzykQSo2bk3GOeI//4xmouSD2WzxyOo7mI2vienZMNo7KAHRu1MvJ9STI9ASUGCAu8tDCvt8GKIodACBwXMmUm/wBcL+QHQyQ7LMIeXaC/DSfj5c5Zt1nwbZdHi/zEaJV4PYyAHh/lUqNK101Jdm06nPEVDoBAPbsLR9nZ7cC3KgXuUwjkDNLuOW5g9PODer9drj381Qrd3QQTxAD1/z8QdyQmYPu1Gl1OifUBY3hhnF7S1m4IWzCeOanmIbhonT4BbBDhaVkLrqT6daodZqMaKeOpeSjxZnYFxbpoOm1GnRJbc8dq4k4aeLBtiqlQ0FpQnEyGUucJgTUnPmfS0Jpwld9Np2MeYlXmYCZb3ZMKc8b3yJvWYRNjcd0zO6OiYpplX8m2j5pQkGmqbHb/56THfRQqJswN7KDTkGljEMNaQPZOePGq7WoRC/OwY6zyD1IQm3HFyM7pCiFTrhw26eT3aG91KkY44MGcw6OiZ+OzvO/fj1MuvzaGgWTZdkwmoNemaaEP72unhe9oD6j7/NnRn/Z+G9dxATq0JJ63d7C+jKQyr8a+PBXccm/er1Z1x8YN4ai6QA/+rz4FIcUYKlJbUNZE2Cy8EfrpJjKx/VCxgXHMekuu2dBfuZangGLNPIP/72mrt3+z2/cWq0tUJRWZNHWBgYoFX2fIi+EiHMk/L/vSlpEkkLorpK/3g85dV4bpQaj2iqLBp9cEjlSinPTQaBJoeNXnOxvUtjHzhkJlKLy61MyedIHmwG+BLvcTvEVr08SYfLig6BiSsMMkTIcuOQlBn/nioE2QGX9rQSqh+v5hvevznfMr6PnpB8xvNcxf3V+g5pLGrogtO/PW+Qu9DOMvdNPH4/KHyq/MALvQq+P8FMHfQE3M4YYYy8CkuHcy4sFxfMBVRFmTl9TOEdXhgI/CYyV/oymj/Ef54D1YtdUK4dgFpefMd0/DiSap2a6z8AKLOydmA0dPHSokhPEn95LS2vNQ9VqDyVrXlAw6f9jv7Lkx8yL3bB5ErNlDJmxhId+gQXAFsZLVea4bTMxew4kJ1gAGtSWmNxWioqLT0jG5iSsf2yegk6ekvzj23gV6U/nVDtB5IM5DIKxZ9hyBBx/xucoA4S2pfLa3cA+mY95mgXAeuZ0FvPBujGp2eWwQKTiXHsofHhfKUEkeKxEpHELONUS7pC/hfeF7j+Cq8fu2fqeQtXFe5NKW1KSW0rJNVHGGPHj2ylZKOzk7BdWHICtpGWqNb4AWc+skvA2Iyvyq06A/NDkjcrEMKYSh2+1mhu2896qI6C/X1m/Zv0ACIxgVu/PLbteNjst3nvt9XgXC17HRevThPbr7QkRW6Lri0rVnKb4n6bHs8hjxv1sYlbXLIe7VcdqwKgVNTZ8NndroBVqu80gFmArEBpNR93FRd+49XN/Vq+elDc++xqsM5aPy7kxQdvhywdyJ7ARh0tzJt43F64pTQ7GlgpZOXfHSy4okbhzrwvnD9wSmhalTUv1r8FQwe729qXj4oBj4PjsEkC849Jh1qJpw1/5uVD9l+FWqBbSanOhhuCtbliqdwgW8X51TZxhwRlSpbT+9W+kohEf1P3+RrKvA+j8r12zMhJjAZJCGqibyUddhM+4z3iqn0w5O91n4Td2zLzs40DPEoN//O0wyo1fQr6P2g6ytgSJMqxDaJObKUOBq/CnWCs6J3UmPlHr3zfMzz6RQWCn513ald5N1AfijmSXfCI4adg+nSS1mKo23tYd1wzi/CvxCpGTmI7LcAtykDb88MqRlM1pbR8fGr/6ZfqFdsOPjBtoEGSitc1aZ6MgXUpa8FbQ2q7jIIHpGSAngUsi+erpSm7Y49xpQ1JA3H79CWXRC0pGWknV0SEJjO+eEnKH4JayKO51gwmgx2qisy19Pb32poaKZpEIVjQ1Zsf3HXbpaWxuyTyUq6cwoJ83smUcTlEpGuW9INLdMfjbGgByJNKWefA4E25S+onRz2476Or5FO4tnpeUUhonhYjrKvaiam5L8hX1kyryxac8tVg6+6iikL19wnddUfoWPPER8QYSM0BawhEzhgoBdokqR2xmA4TEMYpzWvsA31y1+iKtZ53/amxwwenR/FdKmTGqo9Pasd5CkJ3dm/jmjy/jDYXs4McttFgFAxlVE8eQStOsaW8OLJBSuBy53635tgFVxoM2XX5yGpW2ds9MnWWLEPU9tY0eFVX+15w3cYGPeHP1JzM+BA4WiQUihKGlKWfoUAZGD/CTsG8OfGIGcIIUfp9urWk3J/zXoxYkZpwXOxOd/uFddIopeFRS9KhxcRqzb3ZJAHBigX7yLQDYM85bviJPzVX/+58F/mp9crO9h8GeF2xs/DfOYN15svnsqoBvEcD5JH2xrcYORKqW9FDcuiG1QZWJwgyVANah9cWoMxAprYNqJ24S+6b0hmcY2HqNVCtPgNg0HUkT2unbxfQ0dmE7fJFQRME1saE6eZiEa2SbKkCasanwQmFRQdGIcaGRcwsIvFpksz0qi2rzAhf6d22qWuHsCzNoWaCyqPzKlFmPGtc1ZNEHCA1AV5cIfQsYogt8KqM1NwA0dIZhksZsp0nqb1ANRjmjOklXkA7kwYU9hrobFFoL7ghRQy+DI1ZdIhmuiJ1/rl3139PuvKMlH7TLZ27T/mv8XIPU+Mr775kEZlva+Z7TliIhi+HLFB7e1l1vYB3EFencOkruX1fMnx3qndbGJx+q9JXePzHbXDcWrNF/cCXYzdkxN654MxG4CQyGCqiu1Qt13w5kAM+j4Lmj8su9uqXN7Ov0hEUrfgFrKRoV11qjfuMJXT1v7fIV4a1tgFuF0TBFDH4oLZhqJFOVEkGzQ7fJ0dDUUArOHvyBODLzFPTB87m9ZJUqZCAm5Ouv7Ia4P1LzTpiSDO0KfBZ3qLdEE6K1NnCjDQKDwG6mxlpQzkpDrF2VZKRSaa25azXvMBt6rGmwLzucbcVzhdp8Ho4jYtPTE1iwFdSgmPw+oP4n0GMbCJepM7Nq8I3GZ6ffLiE8ngWAEAGigfBy7RVYkBptq9nWN01fDz54K2teq9jysXWTbJIrCyXl5jGbmuJE+GX1GqWza/e8+LPKnE6XE6ViJESNvll+qtpmZOAUAmkBglcKZPEsOkORI+drPBtGeb2oBpP7jyMXw+afpnWqH8nbbfTQG6EPaosxkGiLGRUIWammRz+Iow5g3n1j1oJ7kZGQZhwVbT5NL2CAmr7BvgFHOsT7Zl7bokXy0yW2k8rph06MWH7jOau04LDk8JrKeXfqmwpAbZHy+g1HNsRhcaCE5tCug2uQbfJmisnCbR4Nvqh1UcNG9A4M2q1eOqGTc4D27Nt5CPKbxLUQVzP/g/5JxAAY6zW7r92ewom2ZCGSICiKph9KK9nB/x4SsFKz6N3jKtByRDdHHsJtIi5LECcvM/2lViq0bFkNB6gwL10bliKgtmyjNcHhYLPn9Tn/Q5LO9HY4PoqIF48/Klz7Rh5Dvv5jedcRJ9pGdqQfq/12i7KVcmNFxI3Xo14Urndcr27UU1AW4Oyw56qvf+/ihprJsbPHYQCuj9E/LA4tA3nbABc7EnBBKX/Jd8n3yGWB8Y69yV5pcB6c37Q8ydZtTJx23q+/n0GLp5Ng43dThi9fOj/8hqYoHZ50lIYlIZlkFsrxg2JXbGoQjo5ji5x6E1ZUfB80LPQ/yTpL42lzlHwfJdTqSw3+l2OMy+CwuXku6YwbRR3ziNqo6uwWIADR7XL1CWJr5kID7pMSvW/e7QqSh6Z9/eOh1+tLBwzCBOzgoiiculyVMUEz9dXsHRtuYF7FvhOSvS7+b5USqD1BzPsnQ5R6na773ZPD2M1P0ilp0ulZ3ciDHGWZLWtzJ2plz37Dr/ob2fPmcjEq6lvJocGOPYmUB0SqfBXmkxvcjRUQzbh5J9s5os8S+l4Pnztrmk1ijJ4NO9yLD5tdoCtMNGJSi+sffxX+4ZknLcoi+MJABjGCkir7H2S9Tz/2lu7TOZh5/uUGVsjJa1/3dZyNvZO8x/k8QnJ+XjceYYW6+uhJzY2v0+p/OthABtsPBkieKrJSZc208lp4Eo6bTY3fB+MQNBtTZOAHxUFE5pjZsLicy2ffkrEgmAxsavGTHqwzFjcvWgaHIomMOncSFUgJmKS6OzHBt9gZF4Zp1F/WZww7Xxj4Pj8vLJVwNxU8In/phG2NindHQv8FNGRZywnzRNSiAAbYfnhncq16W2f6dDOvmQeGfJk4RsGKGEzB5GOvjQo607CbkPtGS976TExgx9WptcaYOQQqtvjjyPFbfBuLZZAdH25hhiVh4UuQTHNfj5AfHxTuHyxNGpxWXL3hsNpqDXcx3xdw+pZ4fGh7cukc145egEXxop1tWKJJnpy6qOtO3iu1TTd9qg4n4OThFvl9N+k/mUCfS3/r895OjfPTHL4IbNldyN9ti0k/a3f3kiOL0+qxFkJ0YlJUE25pfRWzpsY/VCzySa9ErTIjrPiyUtJ83z3sjkrpq5SrQy0XDKCAhxaEDMUQi+8IzwksDg93ImsrQ5iTMAkAnnL3Z6VPgaf5frOxLbdWSpV45b15/UET4Ilkn3oyLIbJQOBdjbuRr2qoXFT9xG+rgHJR9et9pBPOUuzfvxbeO1I+elduozvChxpJShNJxDb66somtLeothabzJb+ym2qXcUtbuiYxbT3qPvn5OlsV22zmmn7BPWuvDns06llRTFZY2699f/GX3yIp7ARIeV+XRickNVeFmXI18tY8Uym5MOIznyDFHmjhs1YqPfvqhFYaGkYztey2naDX2IZ/61i6/IMMkDNJs3caDXBv2XvJUq+A6qqyMZLustH2ydpe6GV9GvZ8hru/yrqi/BXdXzHArkHhpD8YJrq7BKsavCcCiUtVJNiQwTCG1/CSE+/oMZgfv4FoXHGb17d+JVyDGHW/6rBYNUBoIoWYbVnWRwtdT3QXhq6t1vW9qzvpoyv/cWmZDzZLgc+RNrDo76EB5TG4u+QKdQkTDjHREgGso6/vQPO2YB+x/s04SiXhPQCPyGf+OS+l4SEbjn6+bb4G7TSb+gwhRVuDzNJdmN33NijL4jGFs3PvLvvVYMFCQ0t+C10StOWR7RGAjyYZFtrYU8LRtNxc/PDvsTsii3mgOFlmifKK39Y3N64tKqScLuRCXNb7y8zgBO6xY8fIyAzq31qasagkfDkvyZ2jjph52byGPmf7/3v1vkU58+5Nf+HmMB9QPi6dx+Fs7NdNQ/7oaezJL6Q4H50IG3aTXKKhtp8QpPpX5kQIdI/4/7gpyuQbQfZrh00C2TtbBW0/tu5TcADcQtj3fp4UYgwuDFexxCqBYoSd6Eh0GRmwbA+3+T/fZ8r68sKjIljot7AnDNkRMGpJYIQI8mdHUlxU+c4Iqftzb7mEZkTdjxm8wlgpG/bUm6siMtkc+FtSjCPEya3ZnC4LzAyudxKM4+rnHlcThaTk3VENf/N3hzLg0d+xN5PcZX/eiW/nuCEpkGS3JOhm++9BKZ9MqzUv0Mk+pAEY6iwrEgXoM5WaBFDqTnENsJR7Q531dNoObgrU3KpbektqnypVGZ8Sbj1dgnXVFlmUlpq2leeFhdjw6dcDhul1N1qnQMtTwBc7z+TYTarUdbWuhRmn6ydtjy09VQ0Ia6PpEyELcIMtbd8UnvpUFj6p3phmvDYRqjg1dlXJ0CO2M9Xq9o/XFBgc6BgQO+s5QVPT01YuW8oKc3wrWfe5IObq5FdGZ15PZKPUDBk4F2DckAmQSVopU8uso7+tbHge343t+7EobqBuMHAQ8M53iHZApRmxfCuJ89TEEeKjbHBMk2/cyAFMMeAj3/PekaGLMCHU9sT/nuDk/r8ofHfq8B1zOTmievrKJiSNM0+eQ4Z7ZADZL4cDD9Q9gw8uMcA4vKbJTePBkkg8cLOkk584gfkXVA05ZnWt02X2AnRDOCi+7o2n7uOTDrZUysOclve2Y832o5xJXAS+lLusvq62p2fX9rUf7vzPPWwgp9O6htbqZa9+uC/gHnK1UsiYm7X8PB7AqHLMGHt1oL4gS2b4uPHeFOxo6ergqL2pz4ib2FP4ODuxQBpKTKZLLVDBsOcCsNhaiBAm0vksBjs2Wynd5zfflyEH8WP0ZxUj15vMjmoLnp42mxAHmyhT9FGjt/curSKG+EkM917yh+CnGwJp6LBEM2UwQE8mpqmLdiruz3c76fT6f16/ZrJPYuhdu0I1VBktlYP6o9Ucil+ynCwjkDksHzZc9lO7zi9M1eAH8UHTN1RvX3zMIYJw8SdgJqXht8q9BoczceEhx2xTtEgdvustPRNbJ+mQ92WgnCUJi7Q02ImrJ/xRe94cyp2Avroez/0qR2YxW/+kUsfQ68LxkfZo9ADAtNjGNAzQH/7GAaAw69VYyzvxgBcH+ddrjkZw/vOmxVppcvTTv0Kv8w3Ix3lK9bHR308ODTS4dZvdAj97P27g3eH7g6LbfQu2nJt0OCIDpsXbXQwIOtAbhWIs+eHz9/9uj23Lffq6x3z10O2PXK5533vJWQb0ONbRj8EoQgjNxRuNBiMOKUhMxsX/ssREzagQyghirCq1DGD6M3Wo8tcdak6FkejRnDLV7+fZcDg+gVTGZ3dPpWDjZBBFOlvmVmUjh3Cu/Ue6ryI5qG6iCM4//tRCuAGM1f8EJ3eQ9Fxw6+1p/SdPWi4m6IfmY5S5fQRBkT+4qKTE4bPrlpRgwyy2zCIjUR6i19kPIzRi1pEkhITXipqiaHqm1vewlQiaeT6VvzWnuJZuB5n3T0A4CGAg/5oQuaehyOoGtWi7PRzvBqVC/X8miOhU5LZcw5LQ/OJucQhxGestwkQQEE6iE7PMAK4h/wjbG/lrh558dIpgF9Rbj8drF5Z/pbKjPhQ/mPHhMxUXdvFMKk++P4n8Vb7KkFVX/2UGCwy+fB8eElanFggTKutyyB7cGKhqsHRE9E5Uz7n+behRmFm9Eb8SIwvZYs//XlynJBCnQhCOp44rC2wc5VKJTIidyn/1aLDlVfMaI5UHP2zc/oCNV6Q+uTztKX/iAHikDfUZEnvu03KGO/PuS/K/VxCvkiYFpF0suOtBF89kLbWEnXSx/hEpTok2ZxOY5OMLAaHlsLPYLDpSpzp+eLyU2jZNAFRyoljs1MLn7po4EzaiIcAFoJgWAxZwoKpiMeMN++ktMlsBoumWGdk0Hz5NiiNxiZJ2I4zk/g0l0On4E0/3/A5YpB6MaGppuyvXeydihvvmnE7qlVEbBEnc2kdHP/9Ln9WeeWXOjw6jRPC5ZSW64R8Kz6rs2X9OfEVa48xXmbj62WWzPD34RFsQnpKpOXXqx939dh3Lbs/mpaif901KyMB5yl6uXf1JzoUjRg41e/nzHeO+EDwk066PJjCfvf3nR+v7u2ypgrCufEJV8CEsow0iM7ypDJW33aOHXfiYrf4lBFe5+YRWbWblbnv5L04d7f7U2j/9eqcaG2MR17tePXDQZgC/WiII7LSRHkdKZxbllpTEfds41jI7ohoUrXjaMvQNi/Uq7+7hW+g8fbISz4wVj8iVaBEHbhyt9m+IYqoizyS/Ec/cROxfyC7+fZet66tt290wIH0O/z517Rpfz8fP91nVH+6X+zUGcP6M31dfz9Pnfbjl1xyqq/XqPF0FwVLff8Jf/k5lQyHO2HYeKoXeBzuXl9PT3+/fovbjx6zPnz6yDuZnx4+kL1HrQ+ePvrKdz/8Z4c92b4w80NMjIO6WXmoHbEOj2PgF6Pvyo3z/7jRch9PU24r1tVl3xqVaalMne+G6wvGm341DVzTDFvqjp4Z1dTeOn6o7fNN6rg8QOVUNN57NuPnr86t/NYYoKW5RcAHSHMPO4dtMZ7Lpo9Tv/ILuTm5FmOEbsxcM7nJq+P9z076yvG+3uhuNl5i+kXccpGd2qmJCTYZyDFfsj3HPdBEjQTNbT4XwHnv0NVIK2bQWhrqg2JIfOhD9D8WH7b7/vVqyfLib68Y/Rs4tHDEruvEKyxa+x2Uahozp+3klwy+R4z4q4MlHVUpgWNjM+zjCSE+XbJKdF72jux3k9IHZEarN1hz9E07puKdxeV1w77eLwjIDXC/cEgxrbUtZLnBIYVtjNpPTA+nXnF8ur7Z3xwk8/Q41HE4umVk8Mlrn7csCWGeGOQBEqmoUM6j03nqqvHna6tv7XKdPBU0O7A88X9Gr7DEKSNbxqzYF6ljyeVlZUtMnjXrtUD7sm2qA/I8cRyfPXxYWP+Y/vSgwJvqS1ZT5k8fGfTeatJdfSRvZ9ufPaIxGpgx3AhEo1a4Q10iP3aH9B7pyWsKyLhjZx3pWeo/tKhjGLSnz6sSV7Vb2OsYWrtjtg6fs/qqG+P4R9WvUNUv0HJba/zt6PZDWb+Q3uwdbNm0/Y8j/I67vr9IHd1L8I18oYkHEHeOUZzdBgBfR8UGSBX3XH9oU5C5RJ4rlzGMM02jMy0NIyFyal2Ocu2Z71813ABk/xBRsGBSkihLzAvNUlgz82R+LMtMy3/TPN6VqhzjOiFpb9qSSNQhTikM4odI9DWQVsQT80FII4pvzqBzKoQsIwtKFadBvlQ12cRisg8Io4zqJWsthQcIQYWxaGvLi68yBVl8/jhHmc8T2BVZPC5vG9sumyt4zTqHw/8yFR7T3Q/Jn86zxlnHO3qFUoYeujvcDiCN6ViLqJtbe45e/fC31/mLgllIhPGvFhG/Nu++ZCTZc+I5B13qM3KO8Xtvy6eefVBUal1bLos454RJolcJzQJ9tChamEWWqgD2FoReGE5t0pMsJH1U3/lReG86ID1+xBfZ7e6z95kXVqQaMq2fRovBhdQT6xtG91H3je9T49NnzxUA7ddvNksGk8NAs60cpk2cweLBQsYsaktal2ZZzkqX8DQubGJ8JWeyc2C0Bgdk4CtHeoZU0QxUhNvRu75I+pcKyNhjt/SvLTcN2GiSh4eABwH82rWrzNJH3kV5EN9+ME1lHeff/YNJ/8mdsMBSnnQp/UVoJPmfp7Aitso659L73XIP9mMGG/NPSV7NeGoUef0lWTGrMj423Z1Bdf+xbo41N0lMfbJUNtqVU5vzCYKXsLd+Tg57O7PYtjrV3BJhWif0U9f94jsE/uTt1kfArb7kYIhzp669/E4rP/HK29qAAUOk2hKl+NFw8Ne9Ogqt1VRoCWJa2cJcm7R1ApA9QqSM2Tnd+2IY15IffQIcTr7z/zGGjnHs9+vavW9kkqSdrQle9PuyD3cQSQYl/jg2pNddNh9zZsfXJ0/VCE++DtBPvr3ta3nX9/Z11AXEGg73VPw54SzjKdLKJ4zoOD0hBbe8zpH8vqyxbplPTKLUNc9DqtYBCIyyoS4B5PHtTzUCexsO4HwEbZU5McLKqmz4mFUVOPxUm4taFz/WiJRtOa0H3Rz4aEEbb+W3DfPwWavnsi4pQjPnuLNwMfbKcdtUleo3jx/f16zlj6biogUuwUCLFnwoVSOrTaR2QUS1hNSwm8a9SVogCL5W1oRrw70oX1wkw+L/CIghvOsVt8JBw++GA+H3K8CKKALgsk9RajATlO8F69wnVJLAtnDGz6DLTnyZn+fcg/UVgWYaBp5RVSnj+ZyAqSOeztekcDci3m1K7ZM82yXqAraWM+SyEJ3++ODuSn5P1N2VOC9CJmVGk/aOQ93HRMKuTm1kB481lPwqR+JehSUMaS+YkiUNnIhTA4AKgd3lGekeJP1Rk6feO2TwjvpE8CCAloqkrt8uv0I1STDMh9u6EMjgHC2b9SYeugMqcKdYiuuAj0ewGzaS3dYJtldAREzawXdpHoV4Qn2olSSoDb/18UQFANClKuRabq3fC4KB/kcZHumWTIba5NGjvZWHMlQetOoRqcmkUDxIMw9vIyjLw1zIglwgTIPiGQz3tauhHyxpb8Yt191gKQgs6O6GNLDoieXQS3CdUajA9qrjAxAHcIcDqBKlVMcKgDzdehDL18Ib5GWVNAzQ5XHlPnLB3qeANkObAABHCdS9izUDlqRhC2plPWYihKyRCJg3genbEgTw4AGBix9LGKCAFJWwwBvaX0IADP1ZwgEi9FLiteLvEgEIxOIst+vh4dIdxdaSBwgQu1LyBDAGlLxAHebfEhEEbNtymATwWCBRRN8Axs9g3eanAgBKECCCHgIX+0sYUAJ+lrCAC1lYQgAWOlfCATbkH4m3xa8lAjDCkOV2PVwp3VGsL3mALHiU9ETxe8kLPMBgSkSQhU0vkQARe1Wi+Gpf/g3TmCxD27Ri1klkby1VJcaR0cZQDqpiHX2k6KRaKZEuPZGmkXqVzNibW0jmPjHrJoAfZkPWkQnJpG5kOkvNDIFW0JRPv+EJtpFu0/0Vs7vd4e3st1s/+i9KrQdgsvQVduYj8JtsrQZgrJuJclQOwS+F9eIG6RvF0RvJ0jmzdBiOQZ9l6IxCG0wqzyPwqHk6HXUgPNcZcKYJdKPauEJOAL9EOPk4NYei0T4jMreWWJP55eYlkWZOyjdpreM8w2vEVbAYcEdT2IIh348RbRXQ4XhJ8G8UGy7z7RB6ySiv6i49TKuOeDFmJZDaQsI4thzycUxkS02DyEkGvJ4NZKRqnG9HS3IKlUBO9MF+bCTxIrdBGUZ0NEm9dvIdXdCk8ZoYyNAjvTCoX46OfdlQ+lgszn1lb2hxaXpDZPXJ/984vCWEaamto201t62jT87Fi5i10T89VrG/urXnuW+6C9b/7H16lgWAOTt4vl2oi+7/tM3q/2l9XE0FjgiSRtEZTC4Wm5tjO67nB2EUJ2mWC6kqq6prauvqGxqbmlta29o7Oru6e3r7+gcGh4ZHRsfGJ25u7+4fHp+eW+1Ot9cfDEfjiTidvby+vX98fn1DSVZUTTdMy3Zcz0eYBGEUJ+l8sVytN9vd/gCAEIygGE6QFM2wHC+Ikqyomm6Ylu24nh+EUZykWV6UVd20XT+M07ys236c1/2839/rD4aj8WQ6my+Wq/Vmu9sfjjAO7p1rNaaR3gbvm7IHMx5rYSArEBQpURcdsVpHYol09g0BhCKxRCqTK5QqtUarwxeCUCSWSGVyhVKl1mh1+CIQisQSqUyuUKrUGq0OXwxCkVgilckVSpVao8WVoEgskcrkCqVKrdHq8KUglMoUSpVao9Xhy0AoEkukMrlCqVJrtDp8OQhFYolCqVJrsBUoEkukMrlCqVJrsJUgFIklUplcoVSpNVodvgqEIrFEKoPXsEQqkyuUKrVGq8PXglAklkhlcoVSpdbq8HUgFIklUplcMedCJGWN+Zov0TkAAAAA) format('woff');
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmScripts/AppManifest.js b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmScripts/AppManifest.js
new file mode 100644
index 00000000..37c07800
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/WasmScripts/AppManifest.js
@@ -0,0 +1,7 @@
+var UnoAppManifest = {
+
+ splashScreenImage: "Assets/SplashScreen.png",
+ splashScreenColor: "#0078D7",
+ displayName: "SQLiteSample"
+
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/wwwroot/web.config b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/wwwroot/web.config
new file mode 100644
index 00000000..85389df7
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.Wasm/wwwroot/web.config
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Entitlements.plist b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Entitlements.plist
new file mode 100644
index 00000000..24c31036
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Entitlements.plist
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Info.plist b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Info.plist
new file mode 100644
index 00000000..7f3613f1
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Info.plist
@@ -0,0 +1,55 @@
+
+
+
+
+ CFBundleDisplayName
+ SQLiteSample
+ CFBundleIdentifier
+ com.companyname.SQLiteSample
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1.0
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 8.0
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIRequiredDeviceCapabilities
+
+ armv7
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIAppFonts
+
+ Fonts/winjs-symbols.ttf
+
+ UIViewControllerBasedStatusBarAppearance
+
+ UILaunchImageMinimumOSVersion
+ 9.0
+ UILaunchImageOrientation
+ Portrait
+ UILaunchImageSize
+ {320, 568}
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/LaunchScreen.storyboard b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/LaunchScreen.storyboard
new file mode 100644
index 00000000..04a81ae7
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/LaunchScreen.storyboard
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Main.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Main.cs
new file mode 100644
index 00000000..ffcfa8b0
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Main.cs
@@ -0,0 +1,15 @@
+using UIKit;
+
+namespace SQLiteSample.iOS
+{
+ public class Application
+ {
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(App));
+ }
+ }
+}
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/Contents.json b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/Contents.json
new file mode 100644
index 00000000..8292de75
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/Contents.json
@@ -0,0 +1,106 @@
+{
+ "images": [
+ {
+ "scale": "2x",
+ "size": "29x29",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "3x",
+ "size": "29x29",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "2x",
+ "size": "40x40",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "3x",
+ "size": "60x60",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "1x",
+ "size": "20x20",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "2x",
+ "size": "20x20",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "1x",
+ "size": "29x29",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "2x",
+ "size": "29x29",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "1x",
+ "size": "40x40",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "2x",
+ "size": "40x40",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "1x",
+ "size": "76x76",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "2x",
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "iPhone-20x20@2x.png"
+ },
+ {
+ "scale": "3x",
+ "size": "20x20",
+ "idiom": "iphone",
+ "filename": "iPhone-20x20@3x.png"
+ },
+ {
+ "scale": "3x",
+ "size": "40x40",
+ "idiom": "iphone",
+ "filename": "iPhone-40x40@3x.png"
+ },
+ {
+ "scale": "2x",
+ "size": "60x60",
+ "idiom": "iphone",
+ "filename": "iPhone-60x60@2x.png"
+ },
+ {
+ "scale": "2x",
+ "size": "76x76",
+ "idiom": "ipad",
+ "filename": "iPad-76x76@2x.png squaretile-sdk-ipad.png"
+ },
+ {
+ "scale": "2x",
+ "size": "83.5x83.5",
+ "idiom": "ipad",
+ "filename": "iPad-84x84@2x.png"
+ },
+ {
+ "scale": "1x",
+ "size": "1024x1024",
+ "idiom": "ios-marketing",
+ "filename": "ios-marketing-1024x1024@1x.png"
+ }
+ ],
+ "properties": {},
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png
new file mode 100644
index 00000000..5b02c03d
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png
new file mode 100644
index 00000000..5f38288d
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png
new file mode 100644
index 00000000..15c895f3
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png
new file mode 100644
index 00000000..7c034c51
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png
new file mode 100644
index 00000000..5835894a
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png
new file mode 100644
index 00000000..5835894a
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png
new file mode 100644
index 00000000..7601500a
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
new file mode 100644
index 00000000..69555e44
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json
@@ -0,0 +1,58 @@
+{
+ "images": [
+ {
+ "orientation": "portrait",
+ "extent": "full-screen",
+ "minimum-system-version": "7.0",
+ "scale": "2x",
+ "size": "640x960",
+ "idiom": "iphone"
+ },
+ {
+ "orientation": "portrait",
+ "extent": "full-screen",
+ "minimum-system-version": "7.0",
+ "subtype": "retina4",
+ "scale": "2x",
+ "size": "640x1136",
+ "idiom": "iphone"
+ },
+ {
+ "orientation": "portrait",
+ "extent": "full-screen",
+ "minimum-system-version": "7.0",
+ "scale": "1x",
+ "size": "768x1024",
+ "idiom": "ipad"
+ },
+ {
+ "orientation": "landscape",
+ "extent": "full-screen",
+ "minimum-system-version": "7.0",
+ "scale": "1x",
+ "size": "1024x768",
+ "idiom": "ipad"
+ },
+ {
+ "orientation": "portrait",
+ "extent": "full-screen",
+ "minimum-system-version": "7.0",
+ "scale": "2x",
+ "size": "1536x2048",
+ "idiom": "ipad"
+ },
+ {
+ "orientation": "landscape",
+ "extent": "full-screen",
+ "minimum-system-version": "7.0",
+ "scale": "2x",
+ "size": "2048x1536",
+ "idiom": "ipad"
+ }
+ ],
+ "properties": {},
+ "info": {
+ "version": 1,
+ "author": ""
+ }
+}
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Properties/AssemblyInfo.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..a346058c
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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("SQLiteSample.iOS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SQLiteSample.iOS")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[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("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")]
+
+// 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: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Default-568h@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Default-568h@2x.png
new file mode 100644
index 00000000..29973dcb
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Default-568h@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Fonts/winjs-symbols.ttf b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Fonts/winjs-symbols.ttf
new file mode 100644
index 00000000..118f5c48
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/Fonts/winjs-symbols.ttf differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@2x.png
new file mode 100644
index 00000000..f8e793d9
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@3x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@3x.png
new file mode 100644
index 00000000..8c5f3984
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/Resources/SplashScreen@3x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/SQLiteSample.iOS.csproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/SQLiteSample.iOS.csproj
new file mode 100644
index 00000000..2865277e
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.iOS/SQLiteSample.iOS.csproj
@@ -0,0 +1,158 @@
+
+
+
+ Debug
+ iPhoneSimulator
+ {A9260487-8EFC-4EB5-932C-FA033E74CA42}
+ {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Exe
+ SQLiteSample
+ Resources
+ SQLiteSample
+
+
+ ..\SQLiteSample.Shared\Strings
+
+
+ true
+ portable
+ false
+ bin\iPhoneSimulator\Debug
+ DEBUG
+ prompt
+ 4
+ false
+ x86_64
+ None
+ true
+ --setenv=MONO_LOG_LEVEL=debug --setenv=MONO_LOG_MASK=gc --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep
+
+
+ portable
+ true
+ bin\iPhoneSimulator\Release
+ prompt
+ 4
+ None
+ x86_64
+ false
+ --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep
+
+
+ true
+ full
+ false
+ bin\iPhone\Debug
+ DEBUG
+ prompt
+ 4
+ false
+ ARM64
+ Entitlements.plist
+ iPhone Developer
+ true
+ --setenv=MONO_LOG_LEVEL=debug --setenv=MONO_LOG_MASK=gc --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep
+
+
+ none
+ true
+ bin\iPhone\Release
+ prompt
+ 4
+ Entitlements.plist
+ ARM64
+ false
+ iPhone Distribution
+ true
+ true
+ true
+ --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep
+
+
+ none
+ True
+ bin\iPhone\Ad-Hoc
+ prompt
+ 4
+ False
+ ARM64
+ Entitlements.plist
+ True
+ Automatic:AdHoc
+ iPhone Distribution
+
+
+ none
+ True
+ bin\iPhone\AppStore
+ prompt
+ 4
+ False
+ ARM64
+ Entitlements.plist
+ Automatic:AppStore
+ iPhone Distribution
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.7.335
+
+
+
+
+
+
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
new file mode 100644
index 00000000..5757c31d
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
new file mode 100644
index 00000000..d0fb3572
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
new file mode 100644
index 00000000..17d637b2
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
new file mode 100644
index 00000000..cf3a6e3e
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
new file mode 100644
index 00000000..dcaaf7fa
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
new file mode 100644
index 00000000..4810d2d0
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
new file mode 100644
index 00000000..c02a2268
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
new file mode 100644
index 00000000..d257b83a
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
new file mode 100644
index 00000000..a9099508
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
new file mode 100644
index 00000000..da4b8a99
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000..6b285452
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,68 @@
+{
+ "images": [
+ {
+ "filename": "AppIcon-16.png",
+ "size": "16x16",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-16@2x.png",
+ "size": "16x16",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-32.png",
+ "size": "32x32",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-32@2x.png",
+ "size": "32x32",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-128.png",
+ "size": "128x128",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-128@2x.png",
+ "size": "128x128",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-256.png",
+ "size": "256x256",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-256@2x.png",
+ "size": "256x256",
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-512.png",
+ "size": "512x512",
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "filename": "AppIcon-512@2x.png",
+ "size": "512x512",
+ "scale": "2x",
+ "idiom": "mac"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/Contents.json b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/Contents.json
new file mode 100644
index 00000000..4caf392f
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/Contents.json b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/Contents.json
new file mode 100644
index 00000000..9b481d06
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/Contents.json
@@ -0,0 +1,528 @@
+{
+ "images": [
+ {
+ "idiom": "universal"
+ },
+ {
+ "scale": "1x",
+ "idiom": "universal"
+ },
+ {
+ "filename": "unoplatform.jpg",
+ "scale": "2x",
+ "idiom": "universal"
+ },
+ {
+ "scale": "3x",
+ "idiom": "universal"
+ },
+ {
+ "idiom": "iphone"
+ },
+ {
+ "scale": "1x",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "subtype": "retina4",
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "idiom": "ipad"
+ },
+ {
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "idiom": "watch"
+ },
+ {
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{130,145}",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{146,165}",
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "idiom": "mac"
+ },
+ {
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "idiom": "car"
+ },
+ {
+ "scale": "2x",
+ "idiom": "car"
+ },
+ {
+ "scale": "3x",
+ "idiom": "car"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "3x",
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "subtype": "retina4",
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "idiom": "ipad"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "idiom": "watch"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{130,145}",
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{146,165}",
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "idiom": "mac"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "idiom": "car"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "car"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "dark"
+ }
+ ],
+ "scale": "3x",
+ "idiom": "car"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "3x",
+ "idiom": "universal"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "subtype": "retina4",
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "3x",
+ "idiom": "iphone"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "idiom": "ipad"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "ipad"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "ipad"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "idiom": "watch"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{130,145}",
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "screenWidth": "{146,165}",
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "watch"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "idiom": "mac"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "1x",
+ "idiom": "mac"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "mac"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "idiom": "car"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "2x",
+ "idiom": "car"
+ },
+ {
+ "appearances": [
+ {
+ "appearance": "luminosity",
+ "value": "light"
+ }
+ ],
+ "scale": "3x",
+ "idiom": "car"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
\ No newline at end of file
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/unoplatform.jpg b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/unoplatform.jpg
new file mode 100644
index 00000000..da3230e5
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Assets.xcassets/unologo.imageset/unoplatform.jpg differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Entitlements.plist b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Entitlements.plist
new file mode 100644
index 00000000..e9a3005f
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Entitlements.plist
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Info.plist b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Info.plist
new file mode 100644
index 00000000..fe4a0bb7
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ CFBundleName
+ SQLiteSample.macOS
+ CFBundleIdentifier
+ com.companyname.SQLiteSample-macOS
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+ LSMinimumSystemVersion
+ 10.11
+ CFBundleDevelopmentRegion
+ en
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundlePackageType
+ APPL
+ CFBundleSignature
+ ????
+ NSHumanReadableCopyright
+ ${AuthorCopyright:HtmlEncode}
+ NSPrincipalClass
+ NSApplication
+ XSAppIconAssets
+ Assets.xcassets/AppIcon.appiconset
+ ATSApplicationFontsPath
+ Fonts/winjs-symbols.ttf
+
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Main.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Main.cs
new file mode 100644
index 00000000..5b9c2564
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Main.cs
@@ -0,0 +1,15 @@
+using AppKit;
+
+namespace SQLiteSample.macOS
+{
+ static class MainClass
+ {
+ static void Main(string[] args)
+ {
+ NSApplication.Init();
+ NSApplication.SharedApplication.Delegate = new App();
+ NSApplication.Main(args);
+ }
+ }
+}
+
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Properties/AssemblyInfo.cs b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..2bf4ef06
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+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("SQLiteSample.macOS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SQLiteSample.macOS")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[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("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")]
+
+// 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: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Resources/Fonts/winjs-symbols.ttf b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Resources/Fonts/winjs-symbols.ttf
new file mode 100644
index 00000000..118f5c48
Binary files /dev/null and b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/Resources/Fonts/winjs-symbols.ttf differ
diff --git a/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/SQLiteSample.macOS.csproj b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/SQLiteSample.macOS.csproj
new file mode 100644
index 00000000..1e67e5c6
--- /dev/null
+++ b/UI/SQLiteSample/SQLiteSample/SQLiteSample/SQLiteSample.macOS/SQLiteSample.macOS.csproj
@@ -0,0 +1,130 @@
+
+
+
+ Debug
+ iPhoneSimulator
+ {58882FC3-C8EA-4C11-8B79-6FF4C3807AF0}
+ {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Exe
+ SQLiteSample.macOS
+ SQLiteSample.macOS
+ v2.0
+ Xamarin.Mac
+ Resources
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG
+ prompt
+ 4
+ false
+ Mac Developer
+ false
+ false
+ false
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+ false
+ pdbonly
+ true
+ bin\Release
+
+
+ prompt
+ 4
+ false
+ true
+ false
+ true
+ true
+ true
+ SdkOnly
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.7.335
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
+
+
+
+ <_ReferenceToRemove Include="@(Reference)" Condition="'%(Reference.Identity)'=='System.Memory'" />
+
+
+
+
+
+
+ <_ReferencePathToRemove Include="@(ReferencePath)" Condition="'%(ReferencePath.NuGetPackageId)'=='System.Memory'" />
+
+
+
+
\ No newline at end of file