From 0df9cabb4c8fa49cecca6cbb43ff77024f0e98fe Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 31 Jan 2019 13:35:31 -0600 Subject: [PATCH 01/49] Use GitVersion for SIL.Core and SIL.WritingSystems --- .editorconfig | 2 +- .gitattributes | 3 ++- GitVersion.yml | 22 ++++++++++++++++++++ Palaso.sln | 1 + SIL.Core/SIL.Core.csproj | 18 +++++++++++++--- SIL.WritingSystems/SIL.WritingSystems.csproj | 5 ++++- 6 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 GitVersion.yml diff --git a/.editorconfig b/.editorconfig index fdb010b5c..80b14ade8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,7 +18,7 @@ indent_style = tab tab_width = 4 # Settings Visual Studio uses for generated files -[*.{csproj,resx,settings,vcxproj*,vdproj,xml}] +[*.{csproj,resx,settings,vcxproj*,vdproj,xml,yml}] indent_style = space indent_size = 2 diff --git a/.gitattributes b/.gitattributes index d8554f072..c34382980 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,4 +20,5 @@ *.xml -whitespace changelog -whitespace *.lift* -whitespace -*.xsl -whitespace \ No newline at end of file +*.xsl -whitespace +*.yml -whitespace \ No newline at end of file diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 000000000..22e84c2a6 --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,22 @@ +assembly-versioning-scheme: MajorMinor +mode: ContinuousDeployment +branches: + master: + tag: beta + regex: (origin/)?master + hotfix: + tag: beta + regex: (origin/)?hotfix[/-] + increment: Patch + prevent-increment-of-merged-branch-version: false + track-merge-target: false + tracks-release-branches: false + is-release-branch: false + pull-request: + mode: ContinuousDeployment + tag: PR + feature: + regex: feature[/-] + mode: ContinuousDeployment + tag: alpha +next-version: 6.1.0 diff --git a/Palaso.sln b/Palaso.sln index 63dbe3da0..3467edbcb 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -109,6 +109,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .gitignore = .gitignore GlobalAssemblyInfo.props = GlobalAssemblyInfo.props NuGet.config = NuGet.config + GitVersion.yml = GitVersion.yml EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" diff --git a/SIL.Core/SIL.Core.csproj b/SIL.Core/SIL.Core.csproj index 866567ee8..4d362ff92 100644 --- a/SIL.Core/SIL.Core.csproj +++ b/SIL.Core/SIL.Core.csproj @@ -1,14 +1,23 @@ - + netstandard2.0;net461 SIL Debug;Release;DebugStrongName;ReleaseStrongName SIL.Core provides general utilities for language software. It is the base library for all Palaso libraries. + false + false + false + false + false + false + SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) - - true ..\palaso.snk @@ -16,6 +25,9 @@ + + all + diff --git a/SIL.WritingSystems/SIL.WritingSystems.csproj b/SIL.WritingSystems/SIL.WritingSystems.csproj index ae5ff7e74..d143936ef 100644 --- a/SIL.WritingSystems/SIL.WritingSystems.csproj +++ b/SIL.WritingSystems/SIL.WritingSystems.csproj @@ -1,4 +1,4 @@ - + netstandard2.0;net461 @@ -15,6 +15,9 @@ + + all + From 805c51707d6fa54f119f4015bd32dbb165f310ed Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 31 Jan 2019 21:52:32 -0600 Subject: [PATCH 02/49] Fix name of project in Jenkinsfile --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index cac3b9ba9..b37e550e2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,6 +5,7 @@ @Library('lsdev-pipeline-library') _ xplatformBuildAndRunTests { + buildFileName = 'build/Palaso.proj' winNodeSpec = 'windows && supported && vs2017' linuxNodeSpec = 'linux64 && !packager && ubuntu && mono5' winTool = 'msbuild15' From 60f242fb35f4da1330b77e9c2c626a7c1e4afe7c Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 31 Jan 2019 21:58:58 -0600 Subject: [PATCH 03/49] Remove assembly stamping This is now done by GitVersion. --- build/Palaso.proj | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/build/Palaso.proj b/build/Palaso.proj index d3a09489b..df500581c 100644 --- a/build/Palaso.proj +++ b/build/Palaso.proj @@ -7,7 +7,6 @@ 6.0.0 - @@ -52,21 +51,12 @@ - - - - - - - - $(RootDir)/output/$(Configuration) - @@ -141,7 +131,7 @@ - @@ -175,7 +165,7 @@ - + Date: Wed, 6 Feb 2019 19:41:27 -0600 Subject: [PATCH 04/49] Use L10NSharp nuget package --- SIL.Archiving/SIL.Archiving.csproj | 15 +++------ SIL.Archiving/packages.config | 1 + .../SIL.Windows.Forms.DblBundle.csproj | 32 ++++--------------- SIL.Windows.Forms.DblBundle/packages.config | 4 +++ .../SIL.Windows.Forms.Keyboarding.csproj | 25 +++------------ SIL.Windows.Forms.Keyboarding/packages.config | 1 + .../SIL.Windows.Forms.WritingSystems.csproj | 32 +++++-------------- .../packages.config | 4 +++ SIL.Windows.Forms/SIL.Windows.Forms.csproj | 21 +++--------- SIL.Windows.Forms/packages.config | 1 + .../SIL.Windows.Forms.TestApp.csproj | 7 ++-- .../SIL.Windows.Forms.TestApp/packages.config | 1 + 12 files changed, 46 insertions(+), 98 deletions(-) create mode 100644 SIL.Windows.Forms.DblBundle/packages.config create mode 100644 SIL.Windows.Forms.WritingSystems/packages.config diff --git a/SIL.Archiving/SIL.Archiving.csproj b/SIL.Archiving/SIL.Archiving.csproj index 8c82f2be9..2844007fa 100644 --- a/SIL.Archiving/SIL.Archiving.csproj +++ b/SIL.Archiving/SIL.Archiving.csproj @@ -285,25 +285,20 @@ prompt MinimumRecommendedRules.ruleset - - - ..\lib\ReleaseMono\L10NSharp.dll - - - - - ..\lib\Release\L10NSharp.dll - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll + + ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll + True + + diff --git a/SIL.Archiving/packages.config b/SIL.Archiving/packages.config index 17dc34510..b72f844ef 100644 --- a/SIL.Archiving/packages.config +++ b/SIL.Archiving/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj index 690e78815..a28e1c913 100644 --- a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj @@ -263,33 +263,14 @@ prompt MinimumRecommendedRules.ruleset - - - False - ..\lib\Debug\L10NSharp.dll - - - - - False - ..\lib\Release\L10NSharp.dll - - - - - False - ..\lib\DebugMono\L10NSharp.dll - - - - - False - ..\lib\ReleaseMono\L10NSharp.dll - - + + ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll + True + + @@ -324,6 +305,7 @@ Resources.resx True + SettingsSingleFileGenerator Settings.Designer.cs @@ -352,7 +334,7 @@ - + +## [Unreleased] + +### Changed + +- Create nuget packages diff --git a/Palaso.sln b/Palaso.sln index 3467edbcb..2ae0bc5a3 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -110,6 +110,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution GlobalAssemblyInfo.props = GlobalAssemblyInfo.props NuGet.config = NuGet.config GitVersion.yml = GitVersion.yml + CHANGELOG.md = CHANGELOG.md EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" diff --git a/SIL.Core/SIL.Core.csproj b/SIL.Core/SIL.Core.csproj index 4d362ff92..b57f3209a 100644 --- a/SIL.Core/SIL.Core.csproj +++ b/SIL.Core/SIL.Core.csproj @@ -25,7 +25,10 @@ - + + all + + all diff --git a/SIL.WritingSystems/SIL.WritingSystems.csproj b/SIL.WritingSystems/SIL.WritingSystems.csproj index d143936ef..b61f1fc28 100644 --- a/SIL.WritingSystems/SIL.WritingSystems.csproj +++ b/SIL.WritingSystems/SIL.WritingSystems.csproj @@ -15,7 +15,10 @@ - + + all + + all From 9c8af9c4a0ca339f441f7f38a2767ae2bc93ab68 Mon Sep 17 00:00:00 2001 From: "tom_bogle@sil.org" Date: Fri, 8 Feb 2019 14:15:37 -0500 Subject: [PATCH 06/49] Corrected confusing localization comment --- .../SettingProtection/SettingProtectionDialog.Designer.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs index 89a4d51b6..8a7330216 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs @@ -1,4 +1,4 @@ -using SIL.Windows.Forms.Widgets; +using SIL.Windows.Forms.Widgets; namespace SIL.Windows.Forms.SettingProtection { @@ -100,7 +100,7 @@ private void InitializeComponent() this._passwordNotice.Font = new System.Drawing.Font("Segoe UI", 9F); this._passwordNotice.ForeColor = System.Drawing.Color.DimGray; this.l10NSharpExtender1.SetLocalizableToolTip(this._passwordNotice, null); - this.l10NSharpExtender1.SetLocalizationComment(this._passwordNotice, "Don\'t forget to have the {0} and {1} in your translated string!"); + this.l10NSharpExtender1.SetLocalizationComment(this._passwordNotice, "Param 0: Factory password; Param 1: product name; 2: English words \"factory password\""); this.l10NSharpExtender1.SetLocalizingId(this._passwordNotice, "SettingsProtection.PasswordNotice"); this._passwordNotice.Location = new System.Drawing.Point(59, 156); this._passwordNotice.Multiline = true; From 0e8480842088eef04bfb07fadb9ab58d58cb27f3 Mon Sep 17 00:00:00 2001 From: "tom_bogle@sil.org" Date: Thu, 14 Feb 2019 13:12:38 -0500 Subject: [PATCH 07/49] Improved the password notice in the settings protection dialog. Apps can now override the default password if needed and also specify the support page URL. --- DistFiles/Palaso.es.tmx | 15 +++++++++--- DistFiles/Palaso.fr.tmx | 21 ++++++++++++----- .../SettingProtectionDialog.Designer.cs | 7 +++--- .../SettingProtectionDialog.cs | 20 ++++++++++++---- .../SettingProtection/SettingsProtection.cs | 23 +++++++++++++------ 5 files changed, 63 insertions(+), 23 deletions(-) diff --git a/DistFiles/Palaso.es.tmx b/DistFiles/Palaso.es.tmx index 88365cb9b..8225d04b2 100644 --- a/DistFiles/Palaso.es.tmx +++ b/DistFiles/Palaso.es.tmx @@ -571,12 +571,21 @@ - Don't forget to have the {0}, {1} and {2} in your translated string! + The localization for this should be kept in sync with "SettingsProtection.PasswordNoticeWithSupportUrl". Param 0: Factory password; Param 1: product name - Factory password for these settings is "{0}". If you forget it, you can always google for "{1}" and "{2}" + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page." - Contraseña de fábrica para estos ajustes es "{0}". Si lo olvida, siempre puedes usar Google para buscar "{1}" y "{2}" + Contraseña de fábrica para estos ajustes es "{0}". Si lo olvida, siempre puedes encontrarlo en la página de apoyo de {1}. + + + + The localization for this should be kept in sync with "SettingsProtection.PasswordNotice". Param 0: Factory password; Param 1: product name; Param 2: URL of support page + + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}" + + + Contraseña de fábrica para estos ajustes es "{0}". Si lo olvida, siempre puedes encontrarlo en la página de apoyo de {1}: {2} diff --git a/DistFiles/Palaso.fr.tmx b/DistFiles/Palaso.fr.tmx index 957ef7a84..f89e654f6 100644 --- a/DistFiles/Palaso.fr.tmx +++ b/DistFiles/Palaso.fr.tmx @@ -523,15 +523,24 @@ Afficher caractères - - Don't forget to have the {0}, {1} and {2} in your translated string! - - Factory password for these settings is "{0}". If you forget it, you can always google for "{1}" and "{2}" - + + The localization for this should be kept in sync with "SettingsProtection.PasswordNoticeWithSupportUrl". Param 0: Factory password; Param 1: product name + + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page." + - Le mot de passe d'usine pour cette configuration est "{0}". Pour le retrouver, vous pouvez toujours googler "{1}" et "{2}" + Le mot de passe par défaut pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1}. + + The localization for this should be kept in sync with "SettingsProtection.PasswordNotice". Param 0: Factory password; Param 1: product name; Param 2: URL of support page + + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}" + + + Le mot de passe par défaut pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1}: {2} + + Require the factory password to get into settings. diff --git a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs index 8a7330216..feae4d60c 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs @@ -100,7 +100,8 @@ private void InitializeComponent() this._passwordNotice.Font = new System.Drawing.Font("Segoe UI", 9F); this._passwordNotice.ForeColor = System.Drawing.Color.DimGray; this.l10NSharpExtender1.SetLocalizableToolTip(this._passwordNotice, null); - this.l10NSharpExtender1.SetLocalizationComment(this._passwordNotice, "Param 0: Factory password; Param 1: product name; 2: English words \"factory password\""); + this.l10NSharpExtender1.SetLocalizationComment(this._passwordNotice, "The localization for this should be kept " + + "in sync with \"SettingsProtection.PasswordNoticeWithSupportUrl\". Param 0: Factory password; Param 1: product name"); this.l10NSharpExtender1.SetLocalizingId(this._passwordNotice, "SettingsProtection.PasswordNotice"); this._passwordNotice.Location = new System.Drawing.Point(59, 156); this._passwordNotice.Multiline = true; @@ -109,8 +110,8 @@ private void InitializeComponent() this._passwordNotice.Size = new System.Drawing.Size(407, 33); this._passwordNotice.TabIndex = 5; this._passwordNotice.TabStop = false; - this._passwordNotice.Text = "Factory password for these settings is \"{0}\". If you forget it, you can always g" + - "oogle for \"{1}\" and \"{2}\""; + this._passwordNotice.Text = "Factory password for these settings is \"{0}\". If you forget it, you can always v" + + "isit the {1} support page."; // // betterLabel1 // diff --git a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs index f266e3013..a27357282 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs @@ -1,12 +1,12 @@ -using System; +using System; using System.Windows.Forms; +using L10NSharp; namespace SIL.Windows.Forms.SettingProtection { public partial class SettingProtectionDialog : Form { private bool _didHavePasswordSet; - private const string FactoryPassword = "factory password"; public SettingProtectionDialog() { @@ -16,8 +16,20 @@ public SettingProtectionDialog() _didHavePasswordSet = SettingsProtectionSingleton.Settings.RequirePassword; - _passwordNotice.Text = string.Format(_passwordNotice.Text, SettingsProtectionSingleton.FactoryPassword, - SettingsProtectionSingleton.CoreProductName, FactoryPassword); + if (SettingsProtectionSingleton.ProductSupportUrl == null) + { + _passwordNotice.Text = string.Format(_passwordNotice.Text, SettingsProtectionSingleton.FactoryPassword, + SettingsProtectionSingleton.CoreProductName); + } + else + { + // The wording here should be kept essentially in sync with "SettingsProtection.PasswordNotice" in the Designer file. + _passwordNotice.Text = string.Format(LocalizationManager.GetString("SettingsProtection.PasswordNoticeWithSupportUrl", + "Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}", + "The localization for this should be kept in sync with \"SettingsProtection.PasswordNotice\". Param 0: Factory password; " + + "Param 1: product name; Param 2: URL of support page"), + SettingsProtectionSingleton.FactoryPassword, SettingsProtectionSingleton.CoreProductName, SettingsProtectionSingleton.ProductSupportUrl); + } } private void OnNormallHidden_CheckedChanged(object sender, EventArgs e) diff --git a/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs b/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs index 5771ffcfb..698aa7974 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs @@ -1,4 +1,4 @@ -using System.Configuration; +using System.Configuration; using System.Drawing; using System.Windows.Forms; @@ -94,10 +94,10 @@ public static string FactoryPassword { get { - var productName = CoreProductName; - return productName.Insert(1, "7").ToLower(); + var overridePassword = ConfigurationManager.AppSettings["SettingsPassword"]; + return string.IsNullOrEmpty(overridePassword) ? CoreProductName.Insert(1, "7").ToLower() : + overridePassword; } - } /// @@ -108,10 +108,19 @@ internal static string CoreProductName get { var productName = ConfigurationManager.AppSettings["CoreProductName"]; - if (string.IsNullOrEmpty(productName)) - productName = Application.ProductName; + return string.IsNullOrEmpty(productName) ? Application.ProductName : productName; + } + } - return productName; + /// + /// Use the ProductSupportSite value from the AppSettings in the application config file, if present. Otherwise null. + /// + internal static string ProductSupportUrl + { + get + { + var productSupportUrl = ConfigurationManager.AppSettings["ProductSupportUrl"]; + return string.IsNullOrWhiteSpace(productSupportUrl) ? null : productSupportUrl; } } } From b31969b2e0a59156238c4ccd8e03517a9b214e75 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 14 Feb 2019 14:48:57 +0100 Subject: [PATCH 08/49] Replace non-portable use of CultureAndRegionInfoBuilder This change replaces the use of CultureAndRegionInfoBuilder, which doesn't exist in Mono, with a call to LanguageLookup. This should make the code also a bit more robust in the case of some neutral cultures that it looks like we didn't properly handle previously, e.g. "en". This change also adds unit tests for the `WritingSystemFromWindowsLocaleProvider.GetRegion` method which verify that the method still works in the same way as before (with the few cases that behave differently mentioned in the comments in the test). --- ...ingSystemFromWindowsLocaleProviderTests.cs | 31 +++++++++++++++++ .../WritingSystemFromWindowsLocaleProvider.cs | 34 ++++++++----------- SIL.WritingSystems/LanguageLookup.cs | 11 ++---- 3 files changed, 48 insertions(+), 28 deletions(-) diff --git a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs index 8de2d249e..e3ab8b3c6 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using NUnit.Framework; using SIL.WritingSystems; @@ -10,6 +11,18 @@ namespace SIL.Windows.Forms.WritingSystems.Tests [TestFixture] public class WritingSystemFromWindowsLocaleProviderTests { + private class WritingSystemFromWindowsLocaleProviderAccessor: WritingSystemFromWindowsLocaleProvider + { + public WritingSystemFromWindowsLocaleProviderAccessor( + IWritingSystemFactory writingSystemFactory) : base(writingSystemFactory) + { + } + + public static string CallGetRegion(string cultureName) + { + return GetRegion(cultureName); + } + } [Test] [Category("DesktopRequired")] // Fails on Jenkins because InputLanguage.InstalledInputLanguages returns an empty list. @@ -49,6 +62,24 @@ public void GetEnumerator_IfHaveMultipleSystemKeyboardsForSameLanguage_OnlyRetur //// } // } // } + + [TestCase("aa", ExpectedResult = "ET")] // returns default region + [TestCase("chr", ExpectedResult = "US")] // previously ArgumentException + [TestCase("chr-Cher", ExpectedResult = "US")] // previously ArgumentException + [TestCase("chr-Cher-US", ExpectedResult = "US")] + [TestCase("en", ExpectedResult = "US")] // previously ArgumentException + [TestCase("en-US", ExpectedResult = "US")] + [TestCase("en-001", ExpectedResult = "001")] + [TestCase("jv-Latn", ExpectedResult = "ID")] + [TestCase("jv-Latn-ID", ExpectedResult = "ID")] + [TestCase("kok", ExpectedResult = "IN")] // previously ArgumentException + [TestCase("kok-IN", ExpectedResult = "IN")] + [TestCase("und", ExpectedResult = "")] + [TestCase("und-001", ExpectedResult = "001")] + public string GetRegion(string cultureName) + { + return WritingSystemFromWindowsLocaleProviderAccessor.CallGetRegion(cultureName); + } } } \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs index 736837064..3a33b91dd 100644 --- a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs +++ b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs @@ -42,43 +42,39 @@ public WritingSystemFromWindowsLocaleProvider(IWritingSystemFactory writingSyste // return null; // } + private static LanguageLookup _languageLookup; + private static LanguageLookup LanguageLookup => _languageLookup ?? (_languageLookup = new LanguageLookup()); - private static string GetRegion(InputLanguage language) + protected static string GetRegion(string cultureName) { -#if MONO // CultureAndRegionInfoBuilder not supported by Mono - return string.Empty; -#else - // http://jira.palaso.org/issues/browse/WS-34216 has KonKani, which is a "macro language", as causing a crash here, on computers - // with that locale installed (India). It dies when it looks like we're trying to make a new version of it, because the - // CultureAndRegionModifiers flag here is "none". Someone in ChiangMai please review: should this be changed to "Replacement" - // to avoid this? Do we need an try { - if (language.Culture.ThreeLetterISOLanguageName == "und") // SIL IPA keyboard is language "und" which causes an exception + if (cultureName == "und") // SIL IPA keyboard is language "und" (undetermined) which causes an exception { return string.Empty; } try { // If the region is in the input language name then just use that - var r = new RegionInfo(language.Culture.Name); - return r.TwoLetterISORegionName ?? String.Empty; + var r = new RegionInfo(cultureName); + return r.TwoLetterISORegionName; } catch (Exception) { - //REVIEW: if we changed the "none" to "Replacement", that would presumably get us past the KanKani crash, but is that the right - //thing to do, or a hack which would mean we lose region information on other languages? - var b = new CultureAndRegionInfoBuilder(language.Culture.Name, CultureAndRegionModifiers.None); - b.LoadDataFromCultureInfo(language.Culture); - return b.TwoLetterISORegionName ?? String.Empty; + // Otherwise return primary country for that language + // ENHANCE: This would be more efficient if LanguageLookup would store the country code + // instead of the country name + var language = LanguageLookup.GetLanguageFromCode(cultureName); + var regionName = language?.PrimaryCountry; + return StandardSubtags.RegisteredRegions.FirstOrDefault(subtag => + subtag.Name == regionName)?.Code ?? string.Empty; } } catch (Exception) { - Debug.Fail("This is a bug (http://jira.palaso.org/issues/browse/WS-34216 ) we would like to look into on a developer machine"); + Debug.Fail($"This is a bug (http://jira.palaso.org/issues/browse/WS-34216) we would like to look into on a developer machine (culture {cultureName})"); return string.Empty; } -#endif } #region Implementation of IEnumerable @@ -115,7 +111,7 @@ private IEnumerable> GetLanguageAndKeyboardCombinations() string region = string.Empty; if (Environment.OSVersion.Platform != PlatformID.Unix) { - region = GetRegion(language); + region = GetRegion(language.Culture.Name); } var cleaner = new IetfLanguageTagCleaner(culture.TwoLetterISOLanguageName, "", region, "", ""); diff --git a/SIL.WritingSystems/LanguageLookup.cs b/SIL.WritingSystems/LanguageLookup.cs index 5b8d9a0ca..0320cf8d4 100644 --- a/SIL.WritingSystems/LanguageLookup.cs +++ b/SIL.WritingSystems/LanguageLookup.cs @@ -13,16 +13,9 @@ namespace SIL.WritingSystems { /// /// Lets you find a language using data from the Ethnologue, IANA subtag repository and the SLDR. - /// It obtains the data from LanguageDataIndex.txt which has been generated by the LanguageData program + /// It obtains the data from alltags.json. /// - /// We want to keep all fields in LanguageInfo corresponding to columns in LanguageDataIndex.txt and fields - /// in LanguageDataIndex.json which are generated by code in the LanguageDataIndex constructor from information - /// retrieved from ethnologue.com and other sources by code in GetAndCheckSources when the LanguageData program - /// is run. (One reason is so it will also be available to web apps using the json file.) - /// - /// So, any new information that the code here needs to initialize in LanguageInfo objects should not be - /// computed here, but computed or retrieved from the sources in LanguageDataIndex(), added to - /// LanguageDataIndex.txt and.json, and then simply read into the appropriate fields here. + /// We want to keep all fields in LanguageInfo corresponding to fields in alltags.json /// public class LanguageLookup { From 58deea188426be6cb7644caa68b4fbff49432735 Mon Sep 17 00:00:00 2001 From: "tom_bogle@sil.org" Date: Fri, 15 Feb 2019 12:03:42 -0500 Subject: [PATCH 09/49] Made French strings more consistent (with English and each other) --- DistFiles/Palaso.fr.tmx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DistFiles/Palaso.fr.tmx b/DistFiles/Palaso.fr.tmx index f89e654f6..3942a1243 100644 --- a/DistFiles/Palaso.fr.tmx +++ b/DistFiles/Palaso.fr.tmx @@ -480,7 +480,7 @@ Settings Protection... - Configuration... + Verrouillage des paramètres… @@ -529,7 +529,7 @@ Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page." - Le mot de passe par défaut pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1}. + Le mot de passe d'usine pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1}. @@ -538,7 +538,7 @@ Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}" - Le mot de passe par défaut pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1}: {2} + Le mot de passe d'usine pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1} : {2} From 15dff30380b20de4755206e56cf31ef2be827043 Mon Sep 17 00:00:00 2001 From: "tom_bogle@sil.org" Date: Fri, 15 Feb 2019 12:40:44 -0500 Subject: [PATCH 10/49] Removed ability to override password (YAGNI), and made ProductSupportUrl a publicly settable property instead of getting it indirectly from config file. --- .../SettingProtection/SettingsProtection.cs | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs b/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs index 698aa7974..73737d360 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs @@ -7,6 +7,7 @@ namespace SIL.Windows.Forms.SettingProtection public class SettingsProtectionSingleton { private SettingsProtectionSettings config; + private string productSupportUrl; private static SettingsProtectionSingleton _singleton; private SettingsProtectionSingleton() @@ -90,15 +91,7 @@ public static SettingsProtectionSettings Settings } } - public static string FactoryPassword - { - get - { - var overridePassword = ConfigurationManager.AppSettings["SettingsPassword"]; - return string.IsNullOrEmpty(overridePassword) ? CoreProductName.Insert(1, "7").ToLower() : - overridePassword; - } - } + public static string FactoryPassword => CoreProductName.Insert(1, "7").ToLower(); /// /// Use the CoreProductName value from the AppSettings in the application config file, if present @@ -112,15 +105,19 @@ internal static string CoreProductName } } - /// - /// Use the ProductSupportSite value from the AppSettings in the application config file, if present. Otherwise null. - /// - internal static string ProductSupportUrl + public static string ProductSupportUrl { - get + get { return _singleton?.productSupportUrl; } + set { - var productSupportUrl = ConfigurationManager.AppSettings["ProductSupportUrl"]; - return string.IsNullOrWhiteSpace(productSupportUrl) ? null : productSupportUrl; + if (!string.IsNullOrEmpty(value)) + { + if (_singleton == null) + { + _singleton = new SettingsProtectionSingleton(); + } + _singleton.productSupportUrl = value; + } } } } From c41d2bdf0491bc789c64f96417b262ff10222f6c Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 14 Feb 2019 14:48:57 +0100 Subject: [PATCH 11/49] Replace non-portable use of CultureAndRegionInfoBuilder This change replaces the use of CultureAndRegionInfoBuilder, which doesn't exist in Mono, with a call to LanguageLookup. This should make the code also a bit more robust in the case of some neutral cultures that it looks like we didn't properly handle previously, e.g. "en". This change also adds unit tests for the `WritingSystemFromWindowsLocaleProvider.GetRegion` method which verify that the method still works in the same way as before (with the few cases that behave differently mentioned in the comments in the test). --- ...ingSystemFromWindowsLocaleProviderTests.cs | 31 +++++++++++++++++ .../WritingSystemFromWindowsLocaleProvider.cs | 34 ++++++++----------- SIL.WritingSystems/LanguageLookup.cs | 11 ++---- 3 files changed, 48 insertions(+), 28 deletions(-) diff --git a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs index 8de2d249e..e3ab8b3c6 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using NUnit.Framework; using SIL.WritingSystems; @@ -10,6 +11,18 @@ namespace SIL.Windows.Forms.WritingSystems.Tests [TestFixture] public class WritingSystemFromWindowsLocaleProviderTests { + private class WritingSystemFromWindowsLocaleProviderAccessor: WritingSystemFromWindowsLocaleProvider + { + public WritingSystemFromWindowsLocaleProviderAccessor( + IWritingSystemFactory writingSystemFactory) : base(writingSystemFactory) + { + } + + public static string CallGetRegion(string cultureName) + { + return GetRegion(cultureName); + } + } [Test] [Category("DesktopRequired")] // Fails on Jenkins because InputLanguage.InstalledInputLanguages returns an empty list. @@ -49,6 +62,24 @@ public void GetEnumerator_IfHaveMultipleSystemKeyboardsForSameLanguage_OnlyRetur //// } // } // } + + [TestCase("aa", ExpectedResult = "ET")] // returns default region + [TestCase("chr", ExpectedResult = "US")] // previously ArgumentException + [TestCase("chr-Cher", ExpectedResult = "US")] // previously ArgumentException + [TestCase("chr-Cher-US", ExpectedResult = "US")] + [TestCase("en", ExpectedResult = "US")] // previously ArgumentException + [TestCase("en-US", ExpectedResult = "US")] + [TestCase("en-001", ExpectedResult = "001")] + [TestCase("jv-Latn", ExpectedResult = "ID")] + [TestCase("jv-Latn-ID", ExpectedResult = "ID")] + [TestCase("kok", ExpectedResult = "IN")] // previously ArgumentException + [TestCase("kok-IN", ExpectedResult = "IN")] + [TestCase("und", ExpectedResult = "")] + [TestCase("und-001", ExpectedResult = "001")] + public string GetRegion(string cultureName) + { + return WritingSystemFromWindowsLocaleProviderAccessor.CallGetRegion(cultureName); + } } } \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs index 736837064..3a33b91dd 100644 --- a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs +++ b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs @@ -42,43 +42,39 @@ public WritingSystemFromWindowsLocaleProvider(IWritingSystemFactory writingSyste // return null; // } + private static LanguageLookup _languageLookup; + private static LanguageLookup LanguageLookup => _languageLookup ?? (_languageLookup = new LanguageLookup()); - private static string GetRegion(InputLanguage language) + protected static string GetRegion(string cultureName) { -#if MONO // CultureAndRegionInfoBuilder not supported by Mono - return string.Empty; -#else - // http://jira.palaso.org/issues/browse/WS-34216 has KonKani, which is a "macro language", as causing a crash here, on computers - // with that locale installed (India). It dies when it looks like we're trying to make a new version of it, because the - // CultureAndRegionModifiers flag here is "none". Someone in ChiangMai please review: should this be changed to "Replacement" - // to avoid this? Do we need an try { - if (language.Culture.ThreeLetterISOLanguageName == "und") // SIL IPA keyboard is language "und" which causes an exception + if (cultureName == "und") // SIL IPA keyboard is language "und" (undetermined) which causes an exception { return string.Empty; } try { // If the region is in the input language name then just use that - var r = new RegionInfo(language.Culture.Name); - return r.TwoLetterISORegionName ?? String.Empty; + var r = new RegionInfo(cultureName); + return r.TwoLetterISORegionName; } catch (Exception) { - //REVIEW: if we changed the "none" to "Replacement", that would presumably get us past the KanKani crash, but is that the right - //thing to do, or a hack which would mean we lose region information on other languages? - var b = new CultureAndRegionInfoBuilder(language.Culture.Name, CultureAndRegionModifiers.None); - b.LoadDataFromCultureInfo(language.Culture); - return b.TwoLetterISORegionName ?? String.Empty; + // Otherwise return primary country for that language + // ENHANCE: This would be more efficient if LanguageLookup would store the country code + // instead of the country name + var language = LanguageLookup.GetLanguageFromCode(cultureName); + var regionName = language?.PrimaryCountry; + return StandardSubtags.RegisteredRegions.FirstOrDefault(subtag => + subtag.Name == regionName)?.Code ?? string.Empty; } } catch (Exception) { - Debug.Fail("This is a bug (http://jira.palaso.org/issues/browse/WS-34216 ) we would like to look into on a developer machine"); + Debug.Fail($"This is a bug (http://jira.palaso.org/issues/browse/WS-34216) we would like to look into on a developer machine (culture {cultureName})"); return string.Empty; } -#endif } #region Implementation of IEnumerable @@ -115,7 +111,7 @@ private IEnumerable> GetLanguageAndKeyboardCombinations() string region = string.Empty; if (Environment.OSVersion.Platform != PlatformID.Unix) { - region = GetRegion(language); + region = GetRegion(language.Culture.Name); } var cleaner = new IetfLanguageTagCleaner(culture.TwoLetterISOLanguageName, "", region, "", ""); diff --git a/SIL.WritingSystems/LanguageLookup.cs b/SIL.WritingSystems/LanguageLookup.cs index 5b8d9a0ca..0320cf8d4 100644 --- a/SIL.WritingSystems/LanguageLookup.cs +++ b/SIL.WritingSystems/LanguageLookup.cs @@ -13,16 +13,9 @@ namespace SIL.WritingSystems { /// /// Lets you find a language using data from the Ethnologue, IANA subtag repository and the SLDR. - /// It obtains the data from LanguageDataIndex.txt which has been generated by the LanguageData program + /// It obtains the data from alltags.json. /// - /// We want to keep all fields in LanguageInfo corresponding to columns in LanguageDataIndex.txt and fields - /// in LanguageDataIndex.json which are generated by code in the LanguageDataIndex constructor from information - /// retrieved from ethnologue.com and other sources by code in GetAndCheckSources when the LanguageData program - /// is run. (One reason is so it will also be available to web apps using the json file.) - /// - /// So, any new information that the code here needs to initialize in LanguageInfo objects should not be - /// computed here, but computed or retrieved from the sources in LanguageDataIndex(), added to - /// LanguageDataIndex.txt and.json, and then simply read into the appropriate fields here. + /// We want to keep all fields in LanguageInfo corresponding to fields in alltags.json /// public class LanguageLookup { From 23289e8529c3b5f2b840bcab35be68373d01d28b Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 18 Feb 2019 18:37:37 +0100 Subject: [PATCH 12/49] Fix namespace of CrossPlatformSettingsProvider The namespace got changed in the big refactoring, but some mentions in strings were missed... --- SIL.Core.Desktop/Settings/README | 4 ++-- TestApps/ReportingTest/Properties/Settings.settings | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SIL.Core.Desktop/Settings/README b/SIL.Core.Desktop/Settings/README index cb22eb44e..553a5d40b 100644 --- a/SIL.Core.Desktop/Settings/README +++ b/SIL.Core.Desktop/Settings/README @@ -8,7 +8,7 @@ Short instructions (to just make it work) ----------------------------------------- To use the CrossPlatformSettings provider add the following content to a new class in the project for your assembly where settings are defined. All of your current settings should be modified in -the designer to include "Palaso.Settings.CrossPlatformSettingsProvider" in the Provider property. +the designer to include "SIL.Settings.CrossPlatformSettingsProvider" in the Provider property. Place the file next to the Settings.Designer.cs file and replacing the place-holders [{}] with appropriate info: @@ -33,7 +33,7 @@ namespace [{Namespace to match your Settings.Designer.cs file}].Properties foreach (SettingsProperty property in Properties) { Debug.Assert(property.Provider is CrossPlatformSettingsProvider, - "Palaso.Settings.CrossPlatformSettingsProvider should be used for " + property.Name); + "SIL.Settings.CrossPlatformSettingsProvider should be used for " + property.Name); } } } diff --git a/TestApps/ReportingTest/Properties/Settings.settings b/TestApps/ReportingTest/Properties/Settings.settings index 1dd201037..21031fed0 100644 --- a/TestApps/ReportingTest/Properties/Settings.settings +++ b/TestApps/ReportingTest/Properties/Settings.settings @@ -2,10 +2,10 @@ - + True - + From e3952e05340c53eb78ae5e0ba725eae384a47ece Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 18 Feb 2019 18:37:54 +0100 Subject: [PATCH 13/49] Update URL of JIRA --- SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs index 9256ee27e..a6b413a74 100644 --- a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs +++ b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs @@ -867,7 +867,7 @@ private ReportingMethod SelectedMethod public static string PrivacyNotice = @"If you don't care who reads your bug report, you can skip this notice. -When you submit a crash report or other issue, the contents of your email go in our issue tracking system, ""jira"", which is available via the web at http://jira.palaso.org/issues. This is the normal way to handle issues in an open-source project. +When you submit a crash report or other issue, the contents of your email go in our issue tracking system, ""jira"", which is available via the web at https://jira.sil.org/issues. This is the normal way to handle issues in an open-source project. Our issue-tracking system is not searchable by those without an account. Therefore, someone searching via Google will not find your bug reports. From 0b8287b6aa7f6a9df4fb07078d8cfed4f814a71d Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 19 Feb 2019 12:41:58 +0100 Subject: [PATCH 14/49] Remove obsolete files These files are no longer needed now that we use alltags.json. --- build/getlanguagedata.sh | 92 - lib/common/languageCodes.txt | 7645 ---------------------------------- 2 files changed, 7737 deletions(-) delete mode 100755 build/getlanguagedata.sh delete mode 100644 lib/common/languageCodes.txt diff --git a/build/getlanguagedata.sh b/build/getlanguagedata.sh deleted file mode 100755 index 939f1bbee..000000000 --- a/build/getlanguagedata.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=bt99 -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl $1 $2 -elif [ "$where_wget" != "" ] -then -copy_wget $1 $2 -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z $2 -o $2 $1 -else -curl -# -L -o $2 $1 -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N $1 -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: Project with dependency on specific generated LanguageDataIndex build (bt99) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt99 -# VCS: https://github.com/sillsdev/libpalaso.git [] -# dependencies: -# [0] build: Generate and Test LanguageDataIndex (bt98) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt98 -# clean: false -# revision: latest.lastSuccessful -# paths: {"ianaSubtagRegistry.txt"=>"SIL.WritingSystems/Resources", "LanguageCodes.txt"=>"SIL.WritingSystems/Resources", "LanguageDataIndex.txt"=>"SIL.WritingSystems/Resources", "LanguageDataIndex.json"=>"SIL.WritingSystems/Resources", "LanguageIndex.txt"=>"SIL.WritingSystems/Resources", "TwoToThreeCodes.txt"=>"SIL.WritingSystems/Resources"} -# VCS: https://github.com/sillsdev/libpalaso.git [master] - -# make sure output directories exist -mkdir -p ../SIL.WritingSystems/Resources - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/ianaSubtagRegistry.txt ../SIL.WritingSystems/Resources/ianaSubtagRegistry.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageCodes.txt ../SIL.WritingSystems/Resources/LanguageCodes.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageDataIndex.txt ../SIL.WritingSystems/Resources/LanguageDataIndex.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageDataIndex.json ../SIL.WritingSystems/Resources/LanguageDataIndex.json -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageIndex.txt ../SIL.WritingSystems/Resources/LanguageIndex.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/TwoToThreeCodes.txt ../SIL.WritingSystems/Resources/TwoToThreeCodes.txt -# End of script diff --git a/lib/common/languageCodes.txt b/lib/common/languageCodes.txt deleted file mode 100644 index f658e7a59..000000000 --- a/lib/common/languageCodes.txt +++ /dev/null @@ -1,7645 +0,0 @@ -Id Part2B Part2T Part1 Scope Type Ref_Name -aaa I L Ghotuo -aab I L Alumu-Tesu -aac I L Ari -aad I L Amal -aae I L Arbëreshë Albanian -aaf I L Aranadan -aag I L Ambrak -aai I L Arifama-Miniafia -aak I L Ankave -aal I L Afade -aam I L Aramanik -aan I L Anambé -aao I L Algerian Saharan Arabic -aap I L Pará Arára -aaq I E Eastern Abnaki -aar aar aar aa I L Afar -aas I L Aasáx -aat I L Arvanitika Albanian -aau I L Abau -aaw I L Solong -aax I L Mandobo Atas -aay I L Aariya -aaz I L Amarasi -aba I L Abé -abb I L Bankon -abc I L Ambala Ayta -abd I L Camarines Norte Agta -abe I L Western Abnaki -abf I L Abai Sungai -abg I L Abaga -abh I L Tajiki Arabic -abi I L Abidji -abj I E Aka-Bea -abk abk abk ab I L Abkhazian -abl I L Abung -abm I L Abanyom -abn I L Abua -abo I L Abon -abp I L Abenlen Ayta -abq I L Abaza -abr I L Abron -abs I L Ambonese Malay -abt I L Ambulas -abu I L Abure -abv I L Baharna Arabic -abw I L Pal -abx I L Inabaknon -aby I L Aneme Wake -abz I L Abui -aca I L Achagua -acb I L Áncá -acc I L Cubulco Achí -acd I L Gikyode -ace ace ace I L Achinese -acf I L Saint Lucian Creole French -ach ach ach I L Acoli -aci I E Aka-Cari -ack I E Aka-Kora -acl I E Akar-Bale -acm I L Mesopotamian Arabic -acn I L Achang -acp I L Eastern Acipa -acq I L Ta'izzi-Adeni Arabic -acr I L Rabinal Achí -acs I E Acroá -act I L Achterhoeks -acu I L Achuar-Shiwiar -acv I L Achumawi -acw I L Hijazi Arabic -acx I L Omani Arabic -acy I L Cypriot Arabic -acz I L Acheron -ada ada ada I L Adangme -adb I L Adabe -add I L Dzodinka -ade I L Adele -adf I L Dhofari Arabic -adg I L Andegerebinha -adh I L Adhola -adi I L Adi -adj I L Adioukrou -adl I L Galo Adi -adn I L Adang -ado I L Abu -adp I L Adap -adq I L Adangbe -adr I L Adonara -ads I L Adamorobe Sign Language -adt I L Adnyamathanha -adu I L Aduge -adw I L Amundava -adx I L Amdo Tibetan -ady ady ady I L Adyghe -aea I L Areba -aeb I L Tunisian Arabic -aec I L Saidi Arabic -aed I L Argentine Sign Language -aee I L Northeast Pashayi -aek I L Haeke -ael I L Ambele -aem I L Arem -aen I L Armenian Sign Language -aeq I L Aer -aer I L Eastern Arrernte -aes I E Alsea -aew I L Ambakich -aex I L Amerax -aey I L Amele -afb I L Gulf Arabic -afe I L Putukwam -afg I L Afghan Sign Language -afh afh afh I C Afrihili -afi I L Akrukay -afn I L Defaka -afo I L Eloyi -afr afr afr af I L Afrikaans -afs I L Afro-Seminole Creole -aft I L Afitti -afu I L Awutu -afz I L Obokuitai -aga I E Aguano -agb I L Legbo -agc I L Agatu -agd I L Agarabi -age I L Angal -agf I L Arguni -agg I L Angor -agh I L Ngelima -agi I L Agariya -agj I L Argobba -agk I L Isarog Agta -agl I L Fembe -agm I L Angaatiha -agn I L Agutaynen -ago I L Tainae -agp I L Paranan -agq I L Aghem -agr I L Aguaruna -ags I L Esimbi -agt I L Central Cagayan Agta -agu I L Aguacateco -agv I L Remontado Agta -agw I L Kahua -agx I L Aghul -agy I L Southern Alta -agz I L Mt. Iriga Agta -aha I L Ahanta -ahb I L Axamb -ahe I L Ahe -ahg I L Qimant -ahh I L Aghu -ahi I L Tiagbamrin Aizi -ahk I L Akha -ahl I L Igo -ahm I L Mobumrin Aizi -ahn I L Àhàn -aho I E Ahom -ahp I L Aproumu Aizi -ahr I L Ahirani -ahs I L Ashe -aht I L Ahtena -aia I L Arosi -aib I L Ainu (China) -aic I L Ainbai -aid I L Alngith -aie I L Amara -aif I L Agi -aig I L Antigua and Barbuda Creole English -aih I L Ai-Cham -aii I L Assyrian Neo-Aramaic -aij I L Lishanid Noshan -aik I L Ake -ail I L Aimele -aim I L Aimol -ain ain ain I L Ainu (Japan) -aio I L Aiton -aip I L Burumakok -aiq I L Aimaq -air I L Airoran -ais I L Nataoran Amis -ait I E Arikem -aix I L Aigon -aiy I L Ali -aiz I L Aari -aja I L Aja (Sudan) -ajg I L Aja (Benin) -aji I L Ajië -ajp I L South Levantine Arabic -ajt I L Judeo-Tunisian Arabic -aju I L Judeo-Moroccan Arabic -ajw I E Ajawa -ajz I L Amri Karbi -aka aka aka ak M L Akan -akb I L Batak Angkola -akc I L Mpur -akd I L Ukpet-Ehom -ake I L Akawaio -akf I L Akpa -akg I L Anakalangu -akh I L Angal Heneng -aki I L Aiome -akj I E Aka-Jeru -akk akk akk I A Akkadian -akl I L Aklanon -akm I E Aka-Bo -akn I L Amikoana -ako I L Akurio -akp I L Siwu -akq I L Ak -akr I L Araki -aks I L Akaselem -akt I L Akolet -aku I L Akum -akv I L Akhvakh -akw I L Akwa -akx I E Aka-Kede -aky I E Aka-Kol -akz I L Alabama -ala I L Alago -alc I L Qawasqar -ald I L Alladian -ale ale ale I L Aleut -alf I L Alege -alh I L Alawa -ali I L Amaimon -alj I L Alangan -alk I L Alak -all I L Allar -alm I L Amblong -aln I L Gheg Albanian -alo I L Larike-Wakasihu -alp I L Alune -alq I L Algonquin -alr I L Alutor -als I L Tosk Albanian -alt alt alt I L Southern Altai -alu I L 'Are'are -alw I L Alaba -alx I L Amol -aly I L Alyawarr -alz I L Alur -ama I E Amanayé -amb I L Ambo -amc I L Amahuaca -ame I L Yanesha' -amf I L Hamer-Banna -amg I L Amarag -amh amh amh am I L Amharic -ami I L Amis -amj I L Amdang -amk I L Ambai -aml I L War-Jaintia -amm I L Ama (Papua New Guinea) -amn I L Amanab -amo I L Amo -amp I L Alamblak -amq I L Amahai -amr I L Amarakaeri -ams I L Southern Amami-Oshima -amt I L Amto -amu I L Guerrero Amuzgo -amv I L Ambelau -amw I L Western Neo-Aramaic -amx I L Anmatyerre -amy I L Ami -amz I L Atampaya -ana I E Andaqui -anb I E Andoa -anc I L Ngas -and I L Ansus -ane I L Xârâcùù -anf I L Animere -ang ang ang I H Old English (ca. 450-1100) -anh I L Nend -ani I L Andi -anj I L Anor -ank I L Goemai -anl I L Anu -anm I L Anal -ann I L Obolo -ano I L Andoque -anp anp anp I L Angika -anq I L Jarawa (India) -anr I L Andh -ans I E Anserma -ant I L Antakarinya -anu I L Anuak -anv I L Denya -anw I L Anaang -anx I L Andra-Hus -any I L Anyin -anz I L Anem -aoa I L Angolar -aob I L Abom -aoc I L Pemon -aod I L Andarum -aoe I L Angal Enen -aof I L Bragat -aog I L Angoram -aoh I E Arma -aoi I L Anindilyakwa -aoj I L Mufian -aok I L Arhö -aol I L Alor -aom I L Ömie -aon I L Bumbita Arapesh -aor I L Aore -aos I L Taikat -aot I L A'tong -aox I L Atorada -aoz I L Uab Meto -apb I L Sa'a -apc I L North Levantine Arabic -apd I L Sudanese Arabic -ape I L Bukiyip -apg I L Ampanang -aph I L Athpariya -api I L Apiaká -apj I L Jicarilla Apache -apk I L Kiowa Apache -apl I L Lipan Apache -apm I L Mescalero-Chiricahua Apache -apn I L Apinayé -apo I L Apalik -app I L Apma -apq I L A-Pucikwar -apr I L Arop-Lukep -aps I L Arop-Sissano -apt I L Apatani -apu I L Apurinã -apw I L Western Apache -apx I L Aputai -apy I L Apalaí -apz I L Safeyoka -aqc I L Archi -aqg I L Arigidi -aqm I L Atohwaim -aqn I L Northern Alta -aqp I E Atakapa -aqr I L Arhâ -ara ara ara ar M L Arabic -arb I L Standard Arabic -arc arc arc I A Official Aramaic (700 - 300 BCE) -ard I L Arabana -are I L Western Arrarnta -arf I L Arafundi -arg arg arg an I L Aragonese -arh I L Arhuaco -ari I L Arikara -arj I E Arapaso -ark I L Arikapú -arl I L Arabela -arn arn arn I L Mapudungun -aro I L Araona -arp arp arp I L Arapaho -arq I L Algerian Arabic -arr I L Karo (Brazil) -ars I L Najdi Arabic -aru I E Arua -arv I L Arbore -arw arw arw I L Arawak -arx I L Aruá -ary I L Moroccan Arabic -arz I L Egyptian Arabic -asa I L Asu (Tanzania) -asb I L Assiniboine -asc I L Casuarina Coast Asmat -asd I L Asas -ase I L American Sign Language -asf I L Australian Sign Language -asg I L Cishingini -ash I E Abishira -asi I L Buruwai -asj I L Nsari -ask I L Ashkun -asl I L Asilulu -asm asm asm as I L Assamese -asn I L Xingú Asuriní -aso I L Dano -asp I L Algerian Sign Language -asq I L Austrian Sign Language -asr I L Asuri -ass I L Ipulo -ast ast ast I L Asturian -asu I L Tocantins Asurini -asv I L Asoa -asw I L Australian Aborigines Sign Language -asx I L Muratayak -asy I L Yaosakor Asmat -asz I L As -ata I L Pele-Ata -atb I L Zaiwa -atc I E Atsahuaca -atd I L Ata Manobo -ate I L Atemble -atf I L Atuence -atg I L Ivbie North-Okpela-Arhe -ati I L Attié -atj I L Atikamekw -atk I L Ati -atl I L Mt. Iraya Agta -atm I L Ata -atn I L Ashtiani -ato I L Atong -atp I L Pudtol Atta -atq I L Aralle-Tabulahan -atr I L Waimiri-Atroari -ats I L Gros Ventre -att I L Pamplona Atta -atu I L Reel -atv I L Northern Altai -atw I L Atsugewi -atx I L Arutani -aty I L Aneityum -atz I L Arta -aua I L Asumboa -auc I L Waorani -aud I L Anuta -aue I L =/Kx'au//'ein -aug I L Aguna -auh I L Aushi -aui I L Anuki -auj I L Awjilah -auk I L Heyo -aul I L Aulua -aum I L Asu (Nigeria) -aun I L Molmo One -auo I E Auyokawa -aup I L Makayam -auq I L Anus -aur I L Aruek -aut I L Austral -auu I L Auye -auw I L Awyi -aux I L Aurá -auy I L Awiyaana -auz I L Uzbeki Arabic -ava ava ava av I L Avaric -avb I L Avau -avd I L Alviri-Vidari -ave ave ave ae I A Avestan -avi I L Avikam -avl I L Eastern Egyptian Bedawi Arabic -avn I L Avatime -avo I E Agavotaguerra -avs I E Aushiri -avt I L Au -avu I L Avokaya -avv I L Avá-Canoeiro -awa awa awa I L Awadhi -awb I L Awa -awc I L Western Acipa -awe I L Awetí -awh I L Awbono -awi I L Aekyom -awk I E Awabakal -awm I L Arawum -awn I L Awngi -awo I L Awak -awr I L Awera -aws I L South Awyu -awt I L Araweté -awu I L Central Awyu -awv I L Jair Awyu -aww I L Awun -awx I L Awara -awy I L Edera Awyu -axb I E Abipon -axg I E Mato Grosso Arára -axk I L Yaka (Central African Republic) -axm I H Middle Armenian -axx I L Xaragure -aya I L Awar -ayb I L Ayizo Gbe -ayc I L Southern Aymara -ayd I L Ayabadhu -aye I L Ayere -ayg I L Ginyanga -ayh I L Hadrami Arabic -ayi I L Leyigha -ayk I L Akuku -ayl I L Libyan Arabic -aym aym aym ay M L Aymara -ayn I L Sanaani Arabic -ayo I L Ayoreo -ayp I L North Mesopotamian Arabic -ayq I L Ayi (Papua New Guinea) -ayr I L Central Aymara -ays I L Sorsogon Ayta -ayt I L Bataan Ayta -ayu I L Ayu -ayx I L Ayi (China) -ayy I E Tayabas Ayta -ayz I L Mai Brat -azb I L South Azerbaijani -aze aze aze az M L Azerbaijani -azg I L San Pedro Amuzgos Amuzgo -azj I L North Azerbaijani -azm I L Ipalapa Amuzgo -azo I L Awing -azr I L Adzera -azt I L Faire Atta -azz I L Highland Puebla Nahuatl -baa I L Babatana -bab I L Bainouk-Gunyuño -bac I L Badui -bae I E Baré -baf I L Nubaca -bag I L Tuki -bah I L Bahamas Creole English -baj I L Barakai -bak bak bak ba I L Bashkir -bal bal bal M L Baluchi -bam bam bam bm I L Bambara -ban ban ban I L Balinese -bao I L Waimaha -bap I L Bantawa -bar I L Bavarian -bas bas bas I L Basa (Cameroon) -bau I L Bada (Nigeria) -bav I L Vengo -baw I L Bambili-Bambui -bax I L Bamun -bay I L Batuley -baz I L Tunen -bba I L Baatonum -bbb I L Barai -bbc I L Batak Toba -bbd I L Bau -bbe I L Bangba -bbf I L Baibai -bbg I L Barama -bbh I L Bugan -bbi I L Barombi -bbj I L Ghomálá' -bbk I L Babanki -bbl I L Bats -bbm I L Babango -bbn I L Uneapa -bbo I L Northern Bobo Madaré -bbp I L West Central Banda -bbq I L Bamali -bbr I L Girawa -bbs I L Bakpinka -bbt I L Mburku -bbu I L Kulung (Nigeria) -bbv I L Karnai -bbw I L Baba -bbx I L Bubia -bby I L Befang -bbz I L Babalia Creole Arabic -bca I L Central Bai -bcb I L Bainouk-Samik -bcc I L Southern Balochi -bcd I L North Babar -bce I L Bamenyam -bcf I L Bamu -bcg I L Baga Binari -bch I L Bariai -bci I L Baoulé -bcj I L Bardi -bck I L Bunaba -bcl I L Central Bicolano -bcm I L Bannoni -bcn I L Bali (Nigeria) -bco I L Kaluli -bcp I L Bali (Democratic Republic of Congo) -bcq I L Bench -bcr I L Babine -bcs I L Kohumono -bct I L Bendi -bcu I L Awad Bing -bcv I L Shoo-Minda-Nye -bcw I L Bana -bcx I L Pamona -bcy I L Bacama -bcz I L Bainouk-Gunyaamolo -bda I L Bayot -bdb I L Basap -bdc I L Emberá-Baudó -bdd I L Bunama -bde I L Bade -bdg I L Bonggi -bdh I L Baka (Sudan) -bdi I L Burun -bdj I L Bai -bdk I L Budukh -bdl I L Indonesian Bajau -bdm I L Buduma -bdn I L Baldemu -bdo I L Bernde -bdp I L Bende -bdq I L Bahnar -bdr I L West Coast Bajau -bds I L Burunge -bdt I L Bokoto -bdu I L Oroko -bdv I L Bodo Parja -bdw I L Baham -bdx I L Budong-Budong -bdy I L Bandjalang -bdz I L Badeshi -bea I L Beaver -beb I L Bebele -bec I L Iceve-Maci -bed I L Bedoanas -bee I L Byangsi -bef I L Benabena -beg I L Belait -beh I L Biali -bei I L Bekati' -bej bej bej I L Beja -bek I L Bebeli -bel bel bel be I L Belarusian -bem bem bem I L Bemba (Zambia) -ben ben ben bn I L Bengali -beo I L Beami -bep I L Besoa -beq I L Beembe -bes I L Besme -bet I L Guiberoua Béte -beu I L Blagar -bev I L Daloa Bété -bew I L Betawi -bex I L Jur Modo -bey I L Beli (Papua New Guinea) -bez I L Bena (Tanzania) -bfa I L Bari -bfb I L Pauri Bareli -bfc I L Northern Bai -bfd I L Bafut -bfe I L Betaf -bff I L Bofi -bfg I L Busang Kayan -bfh I L Blafe -bfi I L British Sign Language -bfj I L Bafanji -bfk I L Ban Khor Sign Language -bfl I L Banda-Ndélé -bfm I L Mmen -bfn I L Bunak -bfo I L Malba Birifor -bfp I L Beba -bfq I L Badaga -bfr I L Bazigar -bfs I L Southern Bai -bft I L Balti -bfu I L Gahri -bfw I L Bondo -bfy I L Bagheli -bfz I L Mahasu Pahari -bga I L Gwamhi-Wuri -bgb I L Bobongko -bgc I L Haryanvi -bgd I L Rathwi Bareli -bge I L Bauria -bgf I L Bangandu -bgg I L Bugun -bgi I L Giangan -bgj I L Bangolan -bgk I L Bit -bgl I L Bo (Laos) -bgm I L Baga Mboteni -bgn I L Western Balochi -bgo I L Baga Koga -bgp I L Eastern Balochi -bgq I L Bagri -bgr I L Bawm Chin -bgs I L Tagabawa -bgt I L Bughotu -bgu I L Mbongno -bgv I L Warkay-Bipim -bgw I L Bhatri -bgx I L Balkan Gagauz Turkish -bgy I L Benggoi -bgz I L Banggai -bha I L Bharia -bhb I L Bhili -bhc I L Biga -bhd I L Bhadrawahi -bhe I L Bhaya -bhf I L Odiai -bhg I L Binandere -bhh I L Bukharic -bhi I L Bhilali -bhj I L Bahing -bhk I L Albay Bicolano -bhl I L Bimin -bhm I L Bathari -bhn I L Bohtan Neo-Aramaic -bho bho bho I L Bhojpuri -bhp I L Bima -bhq I L Tukang Besi South -bhr I L Bara Malagasy -bhs I L Buwal -bht I L Bhattiyali -bhu I L Bhunjia -bhv I L Bahau -bhw I L Biak -bhx I L Bhalay -bhy I L Bhele -bhz I L Bada (Indonesia) -bia I L Badimaya -bib I L Bissa -bic I L Bikaru -bid I L Bidiyo -bie I L Bepour -bif I L Biafada -big I L Biangai -bii I L Bisu -bij I L Vaghat-Ya-Bijim-Legeri -bik bik bik M L Bikol -bil I L Bile -bim I L Bimoba -bin bin bin I L Bini -bio I L Nai -bip I L Bila -biq I L Bipi -bir I L Bisorio -bis bis bis bi I L Bislama -bit I L Berinomo -biu I L Biete -biv I L Southern Birifor -biw I L Kol (Cameroon) -bix I L Bijori -biy I L Birhor -biz I L Baloi -bja I L Budza -bjb I E Banggarla -bjc I L Bariji -bjd I L Bandjigali -bje I L Biao-Jiao Mien -bjf I L Barzani Jewish Neo-Aramaic -bjg I L Bidyogo -bjh I L Bahinemo -bji I L Burji -bjj I L Kanauji -bjk I L Barok -bjl I L Bulu (Papua New Guinea) -bjm I L Bajelani -bjn I L Banjar -bjo I L Mid-Southern Banda -bjq I L Southern Betsimisaraka Malagasy -bjr I L Binumarien -bjs I L Bajan -bjt I L Balanta-Ganja -bju I L Busuu -bjv I L Bedjond -bjw I L Bakwé -bjx I L Banao Itneg -bjy I E Bayali -bjz I L Baruga -bka I L Kyak -bkb I L Finallig -bkc I L Baka (Cameroon) -bkd I L Binukid -bke I L Bengkulu -bkf I L Beeke -bkg I L Buraka -bkh I L Bakoko -bki I L Baki -bkj I L Pande -bkk I L Brokskat -bkl I L Berik -bkm I L Kom (Cameroon) -bkn I L Bukitan -bko I L Kwa' -bkp I L Boko (Democratic Republic of Congo) -bkq I L Bakairí -bkr I L Bakumpai -bks I L Masbate Sorsogon -bkt I L Boloki -bku I L Buhid -bkv I L Bekwarra -bkw I L Bekwil -bkx I L Baikeno -bky I L Bokyi -bkz I L Bungku -bla bla bla I L Siksika -blb I L Bilua -blc I L Bella Coola -bld I L Bolango -ble I L Balanta-Kentohe -blf I L Buol -blg I L Balau -blh I L Kuwaa -bli I L Bolia -blj I L Bolongan -blk I L Pa'o Karen -bll I E Biloxi -blm I L Beli (Sudan) -bln I L Southern Catanduanes Bicolano -blo I L Anii -blp I L Blablanga -blq I L Baluan-Pam -blr I L Blang -bls I L Balaesang -blt I L Tai Dam -blu I L Hmong Njua -blv I L Bolo -blw I L Balangao -blx I L Mag-Indi Ayta -bly I L Notre -blz I L Balantak -bma I L Lame -bmb I L Bembe -bmc I L Biem -bmd I L Baga Manduri -bme I L Limassa -bmf I L Bom -bmg I L Bamwe -bmh I L Kein -bmi I L Bagirmi -bmj I L Bote-Majhi -bmk I L Ghayavi -bml I L Bomboli -bmm I L Northern Betsimisaraka Malagasy -bmn I E Bina (Papua New Guinea) -bmo I L Bambalang -bmp I L Bulgebi -bmq I L Bomu -bmr I L Muinane -bms I L Bilma Kanuri -bmt I L Biao Mon -bmu I L Burum-Mindik -bmv I L Bum -bmw I L Bomwali -bmx I L Baimak -bmy I L Bemba (Democratic Republic of Congo) -bmz I L Baramu -bna I L Bonerate -bnb I L Bookan -bnc I L Central Bontoc -bnd I L Banda (Indonesia) -bne I L Bintauna -bnf I L Masiwang -bng I L Benga -bni I L Bangi -bnj I L Eastern Tawbuid -bnk I L Bierebo -bnl I L Boon -bnm I L Batanga -bnn I L Bunun -bno I L Bantoanon -bnp I L Bola -bnq I L Bantik -bnr I L Butmas-Tur -bns I L Bundeli -bnu I L Bentong -bnv I L Bonerif -bnw I L Bisis -bnx I L Bangubangu -bny I L Bintulu -bnz I L Beezen -boa I L Bora -bob I L Aweer -boc I L Bakung Kenyah -bod tib bod bo I L Tibetan -boe I L Mundabli -bof I L Bolon -bog I L Bamako Sign Language -boh I L Boma -boi I E Barbareño -boj I L Anjam -bok I L Bonjo -bol I L Bole -bom I L Berom -bon I L Bine -boo I L Tiemacèwè Bozo -bop I L Bonkiman -boq I L Bogaya -bor I L Borôro -bos bos bos bs I L Bosnian -bot I L Bongo -bou I L Bondei -bov I L Tuwuli -bow I E Rema -box I L Buamu -boy I L Bodo (Central African Republic) -boz I L Tiéyaxo Bozo -bpa I L Dakaka -bpb I E Barbacoas -bpd I L Banda-Banda -bpg I L Bonggo -bph I L Botlikh -bpi I L Bagupi -bpj I L Binji -bpk I L Orowe -bpl I L Broome Pearling Lugger Pidgin -bpm I L Biyom -bpn I L Dzao Min -bpo I L Anasi -bpp I L Kaure -bpq I L Banda Malay -bpr I L Koronadal Blaan -bps I L Sarangani Blaan -bpt I L Barrow Point -bpu I L Bongu -bpv I L Bian Marind -bpw I L Bo (Papua New Guinea) -bpx I L Palya Bareli -bpy I L Bishnupriya -bpz I L Bilba -bqa I L Tchumbuli -bqb I L Bagusa -bqc I L Boko (Benin) -bqd I L Bung -bqe I L Navarro-Labourdin Basque -bqf I E Baga Kaloum -bqg I L Bago-Kusuntu -bqh I L Baima -bqi I L Bakhtiari -bqj I L Bandial -bqk I L Banda-Mbrès -bql I L Bilakura -bqm I L Wumboko -bqn I L Bulgarian Sign Language -bqo I L Balo -bqp I L Busa -bqq I L Biritai -bqr I L Burusu -bqs I L Bosngun -bqt I L Bamukumbit -bqu I L Boguru -bqv I L Begbere-Ejar -bqw I L Buru (Nigeria) -bqx I L Baangi -bqy I L Bali Sign Language -bqz I L Bakaka -bra bra bra I L Braj -brb I L Lave -brc I L Berbice Creole Dutch -brd I L Baraamu -bre bre bre br I L Breton -brf I L Bera -brg I L Baure -brh I L Brahui -bri I L Mokpwe -brj I L Bieria -brk I E Birked -brl I L Birwa -brm I L Barambu -brn I L Boruca -bro I L Brokkat -brp I L Barapasi -brq I L Breri -brr I L Birao -brs I L Baras -brt I L Bitare -bru I L Eastern Bru -brv I L Western Bru -brw I L Bellari -brx I L Bodo (India) -bry I L Burui -brz I L Bilbil -bsa I L Abinomn -bsb I L Brunei Bisaya -bsc I L Bassari -bsd I L Sarawak Bisaya -bse I L Wushi -bsf I L Bauchi -bsg I L Bashkardi -bsh I L Kati -bsi I L Bassossi -bsj I L Bangwinji -bsk I L Burushaski -bsl I E Basa-Gumna -bsm I L Busami -bsn I L Barasana-Eduria -bso I L Buso -bsp I L Baga Sitemu -bsq I L Bassa -bsr I L Bassa-Kontagora -bss I L Akoose -bst I L Basketo -bsu I L Bahonsuai -bsv I E Baga Sobané -bsw I L Baiso -bsx I L Yangkam -bsy I L Sabah Bisaya -bsz I L Souletin Basque -bta I L Bata -btb I L Beti (Cameroon) -btc I L Bati (Cameroon) -btd I L Batak Dairi -bte I E Gamo-Ningi -btf I L Birgit -btg I L Gagnoa Bété -bth I L Biatah -bti I L Burate -btj I L Bacanese Malay -btl I L Bhatola -btm I L Batak Mandailing -btn I L Ratagnon -bto I L Iriga Bicolano -btp I L Budibud -btq I L Batek -btr I L Baetora -bts I L Batak Simalungun -btt I L Bete-Bendi -btu I L Batu -btv I L Bateri -btw I L Butuanon -btx I L Batak Karo -bty I L Bobot -btz I L Batak Alas-Kluet -bua bua bua M L Buriat -bub I L Bua -buc I L Bushi -bud I L Ntcham -bue I E Beothuk -buf I L Bushoong -bug bug bug I L Buginese -buh I L Younuo Bunu -bui I L Bongili -buj I L Basa-Gurmana -buk I L Bugawac -bul bul bul bg I L Bulgarian -bum I L Bulu (Cameroon) -bun I L Sherbro -buo I L Terei -bup I L Busoa -buq I L Brem -bus I L Bokobaru -but I L Bungain -buu I L Budu -buv I L Bun -buw I L Bubi -bux I L Boghom -buy I L Bullom So -buz I L Bukwen -bva I L Barein -bvb I L Bube -bvc I L Baelelea -bvd I L Baeggu -bve I L Berau Malay -bvf I L Boor -bvg I L Bonkeng -bvh I L Bure -bvi I L Belanda Viri -bvj I L Baan -bvk I L Bukat -bvl I L Bolivian Sign Language -bvm I L Bamunka -bvn I L Buna -bvo I L Bolgo -bvq I L Birri -bvr I L Burarra -bvt I L Bati (Indonesia) -bvu I L Bukit Malay -bvv I E Baniva -bvw I L Boga -bvx I L Dibole -bvz I L Bauzi -bwa I L Bwatoo -bwb I L Namosi-Naitasiri-Serua -bwc I L Bwile -bwd I L Bwaidoka -bwe I L Bwe Karen -bwf I L Boselewa -bwg I L Barwe -bwh I L Bishuo -bwi I L Baniwa -bwj I L Láá Láá Bwamu -bwk I L Bauwaki -bwl I L Bwela -bwm I L Biwat -bwn I L Wunai Bunu -bwo I L Boro -bwp I L Mandobo Bawah -bwq I L Southern Bobo Madaré -bwr I L Bura-Pabir -bws I L Bomboma -bwt I L Bafaw-Balong -bwu I L Buli (Ghana) -bwv I L Bahau River Kenyah -bww I L Bwa -bwx I L Bu-Nao Bunu -bwy I L Cwi Bwamu -bwz I L Bwisi -bxa I L Bauro -bxb I L Belanda Bor -bxc I L Molengue -bxd I L Pela -bxe I L Birale -bxf I L Bilur -bxg I L Bangala -bxh I L Buhutu -bxi I E Pirlatapa -bxj I L Bayungu -bxk I L Bukusu -bxl I L Jalkunan -bxm I L Mongolia Buriat -bxn I L Burduna -bxo I L Barikanchi -bxp I L Bebil -bxq I L Beele -bxr I L Russia Buriat -bxs I L Busam -bxt I L Buxinhua -bxu I L China Buriat -bxv I L Berakou -bxw I L Bankagooma -bxx I L Borna -bxz I L Binahari -bya I L Batak -byb I L Bikya -byc I L Ubaghara -byd I L Benyadu' -bye I L Pouye -byf I L Bete -byg I E Baygo -byh I L Bujhyal -byi I L Buyu -byj I L Bina (Nigeria) -byk I L Biao -byl I L Bayono -bym I L Bidyara -byn byn byn I L Bilin -byo I L Biyo -byp I L Bumaji -byq I E Basay -byr I L Baruya -bys I L Burak -byt I E Berti -byu I L Buyang -byv I L Medumba -byw I L Belhariya -byx I L Qaqet -byy I L Buya -byz I L Banaro -bza I L Bandi -bzb I L Andio -bzd I L Bribri -bze I L Jenaama Bozo -bzf I L Boikin -bzg I L Babuza -bzh I L Mapos Buang -bzj I L Belize Kriol English -bzk I L Nicaragua Creole English -bzl I L Boano (Sulawesi) -bzm I L Bolondo -bzn I L Boano (Maluku) -bzo I L Bozaba -bzp I L Kemberano -bzq I L Buli (Indonesia) -bzr I E Biri -bzs I L Brazilian Sign Language -bzt I C Brithenig -bzu I L Burmeso -bzv I L Bebe -bzw I L Basa (Nigeria) -bzx I L Hainyaxo Bozo -bzy I L Obanliku -bzz I L Evant -caa I L Chortí -cab I L Garifuna -cac I L San Sebastián Coatán Chuj -cad cad cad I L Caddo -cae I L Lehar -caf I L Southern Carrier -cag I L Nivaclé -cah I L Cahuarano -caj I E Chané -cak I L Central Cakchiquel -cal I L Carolinian -cam I L Cemuhî -can I L Chambri -cao I L Chácobo -cap I L Chipaya -caq I L Car Nicobarese -car car car I L Galibi Carib -cas I L Tsimané -cat cat cat ca I L Catalan -cav I L Cavineña -caw I L Callawalla -cax I L Chiquitano -cay I L Cayuga -caz I E Canichana -cbb I L Cabiyarí -cbc I L Carapana -cbd I L Carijona -cbe I E Chipiajes -cbg I L Chimila -cbh I E Cagua -cbi I L Chachi -cbj I L Ede Cabe -cbk I L Chavacano -cbl I L Bualkhaw Chin -cbm I L Yepocapa Southwestern Cakchiquel -cbn I L Nyahkur -cbo I L Izora -cbr I L Cashibo-Cacataibo -cbs I L Cashinahua -cbt I L Chayahuita -cbu I L Candoshi-Shapra -cbv I L Cacua -cby I L Carabayo -cca I E Cauca -ccc I L Chamicuro -ccd I L Cafundo Creole -cce I L Chopi -ccg I L Samba Daka -cch I L Atsam -ccj I L Kasanga -ccl I L Cutchi-Swahili -ccm I L Malaccan Creole Malay -cco I L Comaltepec Chinantec -ccp I L Chakma -ccq I L Chaungtha -ccr I E Cacaopera -ccx I L Northern Zhuang -cda I L Choni -cde I L Chenchu -cdf I L Chiru -cdg I L Chamari -cdh I L Chambeali -cdi I L Chodri -cdj I L Churahi -cdm I L Chepang -cdn I L Chaudangsi -cdo I L Min Dong Chinese -cdr I L Cinda-Regi-Tiyal -cds I L Chadian Sign Language -cdz I L Koda -cea I E Lower Chehalis -ceb ceb ceb I L Cebuano -ceg I L Chamacoco -cen I L Cen -ces cze ces cs I L Czech -cet I L Centúúm -cfa I L Dijim-Bwilim -cfd I L Cara -cfg I L Como Karim -cfm I L Falam Chin -cga I L Changriwa -cgc I L Kagayanen -cgg I L Chiga -cgk I L Chocangacakha -cha cha cha ch I L Chamorro -chb chb chb I E Chibcha -chc I E Catawba -chd I L Highland Oaxaca Chontal -che che che ce I L Chechen -chf I L Tabasco Chontal -chg chg chg I E Chagatai -chh I L Chinook -chj I L Ojitlán Chinantec -chk chk chk I L Chuukese -chl I L Cahuilla -chm chm chm M L Mari (Russia) -chn chn chn I L Chinook jargon -cho cho cho I L Choctaw -chp chp chp I L Chipewyan -chq I L Quiotepec Chinantec -chr chr chr I L Cherokee -chs I E Chumash -cht I E Cholón -chu chu chu cu I A Church Slavic -chv chv chv cv I L Chuvash -chw I L Chuwabu -chx I L Chantyal -chy chy chy I L Cheyenne -chz I L Ozumacín Chinantec -cia I L Cia-Cia -cib I L Ci Gbe -cic I L Chickasaw -cid I E Chimariko -cie I L Cineni -cih I L Chinali -cik I L Chitkuli Kinnauri -cim I L Cimbrian -cin I L Cinta Larga -cip I L Chiapanec -cir I L Tiri -ciw I L Chippewa -ciy I L Chaima -cja I L Western Cham -cje I L Chru -cjh I E Upper Chehalis -cji I L Chamalal -cjk I L Chokwe -cjm I L Eastern Cham -cjn I L Chenapian -cjo I L Ashéninka Pajonal -cjp I L Cabécar -cjr I E Chorotega -cjs I L Shor -cjv I L Chuave -cjy I L Jinyu Chinese -cka I L Khumi Awa Chin -ckb I L Central Kurdish -ckc I L Northern Cakchiquel -ckd I L South Central Cakchiquel -cke I L Eastern Cakchiquel -ckf I L Southern Cakchiquel -ckh I L Chak -cki I L Santa María De Jesús Cakchiquel -ckj I L Santo Domingo Xenacoj Cakchiquel -ckk I L Acatenango Southwestern Cakchiquel -ckl I L Cibak -cko I L Anufo -ckq I L Kajakse -ckr I L Kairak -cks I L Tayo -ckt I L Chukot -cku I L Koasati -ckv I L Kavalan -ckw I L Western Cakchiquel -ckx I L Caka -cky I L Cakfem-Mushere -ckz I L Cakchiquel-Quiché Mixed Language -cla I L Ron -clc I L Chilcotin -cld I L Chaldean Neo-Aramaic -cle I L Lealao Chinantec -clh I L Chilisso -cli I L Chakali -clk I L Idu-Mishmi -cll I L Chala -clm I L Clallam -clo I L Lowland Oaxaca Chontal -clu I L Caluyanun -clw I L Chulym -cly I L Eastern Highland Chatino -cma I L Maa -cme I L Cerma -cmg I H Classical Mongolian -cmi I L Emberá-Chamí -cmk I E Chimakum -cml I L Campalagian -cmm I E Michigamea -cmn I L Mandarin Chinese -cmo I L Central Mnong -cmr I L Mro Chin -cms I A Messapic -cmt I L Camtho -cna I L Changthang -cnb I L Chinbon Chin -cnc I L Côông -cng I L Northern Qiang -cnh I L Haka Chin -cni I L Asháninka -cnk I L Khumi Chin -cnl I L Lalana Chinantec -cnm I L Ixtatán Chuj -cno I L Con -cns I L Central Asmat -cnt I L Tepetotutla Chinantec -cnu I L Chenoua -cnw I L Ngawn Chin -cnx I H Middle Cornish -coa I L Cocos Islands Malay -cob I E Chicomuceltec -coc I L Cocopa -cod I L Cocama-Cocamilla -coe I L Koreguaje -cof I L Colorado -cog I L Chong -coh I L Chonyi -coj I E Cochimi -cok I L Santa Teresa Cora -col I L Columbia-Wenatchi -com I L Comanche -con I L Cofán -coo I L Comox -cop cop cop I E Coptic -coq I E Coquille -cor cor cor kw I L Cornish -cos cos cos co I L Corsican -cot I L Caquinte -cou I L Wamey -cov I L Cao Miao -cow I E Cowlitz -cox I L Nanti -coy I E Coyaima -coz I L Chochotec -cpa I L Palantla Chinantec -cpb I L Ucayali-Yurúa Ashéninka -cpc I L Ajyíninka Apurucayali -cpg I E Cappadocian Greek -cpi I L Chinese Pidgin English -cpn I L Cherepon -cps I L Capiznon -cpu I L Pichis Ashéninka -cpx I L Pu-Xian Chinese -cpy I L South Ucayali Ashéninka -cqu I L Chilean Quechua -cra I L Chara -crb I E Island Carib -crc I L Lonwolwol -crd I L Coeur d'Alene -cre cre cre cr M L Cree -crf I E Caramanta -crg I L Michif -crh crh crh I L Crimean Tatar -cri I L Sãotomense -crj I L Southern East Cree -crk I L Plains Cree -crl I L Northern East Cree -crm I L Moose Cree -crn I L El Nayar Cora -cro I L Crow -crq I L Iyo'wujwa Chorote -crr I E Carolina Algonquian -crs I L Seselwa Creole French -crt I L Iyojwa'ja Chorote -cru I E Carútana -crv I L Chaura -crw I L Chrau -crx I L Carrier -cry I L Cori -crz I E Cruzeño -csa I L Chiltepec Chinantec -csb csb csb I L Kashubian -csc I L Catalan Sign Language -csd I L Chiangmai Sign Language -cse I L Czech Sign Language -csf I L Cuba Sign Language -csg I L Chilean Sign Language -csh I L Asho Chin -csi I E Coast Miwok -csk I L Jola-Kasa -csl I L Chinese Sign Language -csm I L Central Sierra Miwok -csn I L Colombian Sign Language -cso I L Sochiapam Chinantec -csq I L Croatia Sign Language -csr I L Costa Rican Sign Language -css I E Southern Ohlone -cst I E Northern Ohlone -csw I L Swampy Cree -csy I L Siyin Chin -csz I L Coos -cta I L Tataltepec Chatino -ctc I L Chetco -ctd I L Tedim Chin -cte I L Tepinapa Chinantec -ctg I L Chittagonian -cti I L Tila Chol -ctl I L Tlacoatzintepec Chinantec -ctm I E Chitimacha -ctn I L Chhintange -cto I L Emberá-Catío -ctp I L Western Highland Chatino -cts I L Northern Catanduanes Bicolano -ctt I L Wayanad Chetti -ctu I L Tumbalá Chol -ctz I L Zacatepec Chatino -cua I L Cua -cub I L Cubeo -cuc I L Usila Chinantec -cug I L Cung -cuh I L Chuka -cui I L Cuiba -cuj I L Mashco Piro -cuk I L San Blas Kuna -cul I L Culina -cum I E Cumeral -cun I L Cunén Quiché -cuo I E Cumanagoto -cup I E Cupeño -cuq I L Cun -cur I L Chhulung -cut I L Teutila Cuicatec -cuu I L Tai Ya -cuv I L Cuvok -cuw I L Chukwa -cux I L Tepeuxila Cuicatec -cvg I L Chug -cvn I L Valle Nacional Chinantec -cwa I L Kabwa -cwb I L Maindo -cwd I L Woods Cree -cwe I L Kwere -cwg I L Chewong -cwt I L Kuwaataay -cya I L Nopala Chatino -cyb I E Cayubaba -cym wel cym cy I L Welsh -cyo I L Cuyonon -czh I L Huizhou Chinese -czk I E Knaanic -czn I L Zenzontepec Chatino -czo I L Min Zhong Chinese -czt I L Zotung Chin -daa I L Dangaléat -dac I L Dambi -dad I L Marik -dae I L Duupa -daf I L Dan -dag I L Dagbani -dah I L Gwahatike -dai I L Day -daj I L Dar Fur Daju -dak dak dak I L Dakota -dal I L Dahalo -dan dan dan da I L Danish -dao I L Daai Chin -dap I L Nisi -daq I L Dandami Maria -dar dar dar I L Dargwa -das I L Daho-Doo -dat I L Darang Deng -dau I L Dar Sila Daju -dav I L Taita -daw I L Davawenyo -dax I L Dayi -daz I L Dao -dba I L Bangi Me -dbb I L Deno -dbd I L Dadiya -dbe I L Dabe -dbf I L Edopi -dbg I L Dogul Dom Dogon -dbi I L Doka -dbj I L Ida'an -dbl I L Dyirbal -dbm I L Duguri -dbn I L Duriankere -dbo I L Dulbu -dbp I L Duwai -dbq I L Daba -dbr I L Dabarre -dbu I L Bondum Dom Dogon -dbv I L Dungu -dby I L Dibiyaso -dcc I L Deccan -dcr I E Negerhollands -ddd I L Dongotono -dde I L Doondo -ddg I L Fataluku -ddi I L Diodio -ddj I L Jaru -ddn I L Dendi (Benin) -ddo I L Dido -dds I L Donno So Dogon -ddw I L Dawera-Daweloor -dec I L Dagik -ded I L Dedua -dee I L Dewoin -def I L Dezfuli -deg I L Degema -deh I L Dehwari -dei I L Demisa -dek I L Dek -del del del M L Delaware -dem I L Dem -den den den M L Slave (Athapascan) -dep I E Pidgin Delaware -deq I L Dendi (Central African Republic) -der I L Deori -des I L Desano -deu ger deu de I L German -dev I L Domung -dez I L Dengese -dga I L Southern Dagaare -dgb I L Bunoge Dogon -dgc I L Casiguran Dumagat Agta -dgd I L Dagaari Dioula -dge I L Degenan -dgg I L Doga -dgh I L Dghwede -dgi I L Northern Dagara -dgk I L Dagba -dgn I E Dagoman -dgo I L Dogri (individual language) -dgr dgr dgr I L Dogrib -dgs I L Dogoso -dgu I L Degaru -dgx I L Doghoro -dgz I L Daga -dha I L Dhanwar (India) -dhd I L Dhundari -dhg I L Dhangu -dhi I L Dhimal -dhl I L Dhalandji -dhm I L Zemba -dhn I L Dhanki -dho I L Dhodia -dhr I L Dhargari -dhs I L Dhaiso -dhu I E Dhurga -dhv I L Dehu -dhw I L Dhanwar (Nepal) -dia I L Dia -dib I L South Central Dinka -dic I L Lakota Dida -did I L Didinga -dif I E Dieri -dig I L Digo -dih I L Kumiai -dii I L Dimbong -dij I L Dai -dik I L Southwestern Dinka -dil I L Dilling -dim I L Dime -din din din M L Dinka -dio I L Dibo -dip I L Northeastern Dinka -diq I L Dimli -dir I L Dirim -dis I L Dimasa -dit I L Dirari -diu I L Diriku -div div div dv I L Dhivehi -diw I L Northwestern Dinka -dix I L Dixon Reef -diy I L Diuwe -diz I L Ding -djb I L Djinba -djc I L Dar Daju Daju -djd I L Djamindjung -dje I L Zarma -djf I L Djangun -dji I L Djinang -djj I L Djeebbana -djk I L Aukan -djl I L Djiwarli -djm I L Jamsay Dogon -djn I L Djauan -djo I L Djongkang -djr I L Djambarrpuyngu -dju I L Kapriman -djw I L Djawi -dka I L Dakpakha -dkk I L Dakka -dkl I L Kolum So Dogon -dkr I L Kuijau -dks I L Southeastern Dinka -dkx I L Mazagway -dlg I L Dolgan -dlm I E Dalmatian -dln I L Darlong -dma I L Duma -dmc I L Dimir -dme I L Dugwor -dmg I L Upper Kinabatangan -dmk I L Domaaki -dml I L Dameli -dmm I L Dama -dmo I L Kemezung -dmr I L East Damar -dms I L Dampelas -dmu I L Dubu -dmv I L Dumpas -dmx I L Dema -dmy I L Demta -dna I L Upper Grand Valley Dani -dnd I L Daonda -dne I L Ndendeule -dng I L Dungan -dni I L Lower Grand Valley Dani -dnk I L Dengka -dnn I L Dzùùngoo -dnr I L Danaru -dnt I L Mid Grand Valley Dani -dnu I L Danau -dnw I L Western Dani -dny I L Dení -doa I L Dom -dob I L Dobu -doc I L Northern Dong -doe I L Doe -dof I L Domu -doh I L Dong -doi doi doi M L Dogri (macrolanguage) -dok I L Dondo -dol I L Doso -don I L Toura (Papua New Guinea) -doo I L Dongo -dop I L Lukpa -doq I L Dominican Sign Language -dor I L Dori'o -dos I L Dogosé -dot I L Dass -dov I L Dombe -dow I L Doyayo -dox I L Bussa -doy I L Dompo -doz I L Dorze -dpp I L Papar -drb I L Dair -drd I L Darmiya -dre I L Dolpo -drg I L Rungus -drh I L Darkhat -dri I L C'lela -drl I L Darling -drn I L West Damar -dro I L Daro-Matu -drq I E Dura -drr I E Dororo -drs I L Gedeo -drt I L Drents -dru I L Rukai -drw I L Darwazi -dry I L Darai -dsb dsb dsb I L Lower Sorbian -dse I L Dutch Sign Language -dsh I L Daasanach -dsi I L Disa -dsl I L Danish Sign Language -dsn I L Dusner -dso I L Desiya -dsq I L Tadaksahak -dta I L Daur -dtb I L Labuk-Kinabatangan Kadazan -dti I L Ana Tinga Dogon -dtk I L Tene Kan Dogon -dtm I L Tomo Kan Dogon -dtp I L Central Dusun -dtr I L Lotud -dts I L Toro So Dogon -dtt I L Toro Tegu Dogon -dtu I L Tebul Ure Dogon -dua dua dua I L Duala -dub I L Dubli -duc I L Duna -dud I L Hun-Saare -due I L Umiray Dumaget Agta -duf I L Dumbea -dug I L Duruma -duh I L Dungra Bhil -dui I L Dumun -duj I L Dhuwal -duk I L Duduela -dul I L Alabat Island Agta -dum dum dum I H Middle Dutch (ca. 1050-1350) -dun I L Dusun Deyah -duo I L Dupaninan Agta -dup I L Duano -duq I L Dusun Malang -dur I L Dii -dus I L Dumi -duu I L Drung -duv I L Duvle -duw I L Dusun Witu -dux I L Duungooma -duy I E Dicamay Agta -duz I E Duli -dva I L Duau -dwa I L Diri -dwl I L Walo Kumbe Dogon -dws I C Dutton World Speedwords -dww I L Dawawa -dya I L Dyan -dyb I L Dyaberdyaber -dyd I L Dyugun -dyg I E Villa Viciosa Agta -dyi I L Djimini Senoufo -dyk I L Land Dayak -dym I L Yanda Dom -dyn I L Dyangadi -dyo I L Jola-Fonyi -dyu dyu dyu I L Dyula -dyy I L Dyaabugay -dza I L Tunzu -dzd I L Daza -dzg I L Dazaga -dzl I L Dzalakha -dzn I L Dzando -dzo dzo dzo dz I L Dzongkha -ebg I L Ebughu -ebo I L Teke-Ebo -ebr I L Ebrié -ebu I L Embu -ecr I A Eteocretan -ecs I L Ecuadorian Sign Language -ecy I A Eteocypriot -eee I L E -efa I L Efai -efe I L Efe -efi efi efi I L Efik -ega I L Ega -ego I L Eggon -egy egy egy I A Egyptian (Ancient) -ehu I L Ehueun -eip I L Eipomek -eit I L Eitiep -eiv I L Askopan -eja I L Ejamat -eka eka eka I L Ekajuk -eke I L Ekit -ekg I L Ekari -eki I L Eki -ekm I L Elip -eko I L Koti -ekp I L Ekpeye -ekr I L Yace -eky I L Eastern Kayah -ele I L Elepi -elh I L El Hugeirat -eli I L Nding -elk I L Elkei -ell gre ell el I L Modern Greek (1453-) -elm I L Eleme -elo I L El Molo -elp I L Elpaputih -elu I L Elu -elx elx elx I A Elamite -ema I L Emai-Iuleha-Ora -emb I L Embaloh -eme I L Emerillon -emg I L Eastern Meohang -emi I L Mussau-Emira -emk I L Eastern Maninkakan -eml I L Emiliano-Romagnolo -emm I E Mamulique -emn I L Eman -emo I E Emok -emp I L Northern Emberá -ems I L Pacific Gulf Yupik -emu I L Eastern Muria -emw I L Emplawas -emy I E Epigraphic Mayan -ena I L Apali -enb I L Northern Marakwet -enc I L En -end I L Ende -enf I L Forest Enets -eng eng eng en I L English -enh I L Tundra Enets -eni I L Enim -enm enm enm I H Middle English (1100-1500) -enn I L Engenni -eno I L Enggano -enq I L Enga -enr I L Emumu -enu I L Enu -env I L Enwan (Edu State) -enw I L Enwan (Akwa Ibom State) -eot I L Beti (Côte d'Ivoire) -epi I L Epie -epo epo epo eo I C Esperanto -era I L Eravallan -erg I L Sie -erh I L Eruwa -eri I L Ogea -erk I L South Efate -ero I L Horpa -err I L Erre -ers I L Ersu -ert I L Eritai -erw I L Erokwanas -ese I L Ese Ejja -esh I L Eshtehardi -esi I L North Alaskan Inupiatun -esk I L Northwest Alaska Inupiatun -esl I L Egypt Sign Language -esm I E Esuma -esn I L Salvadoran Sign Language -eso I L Estonian Sign Language -esq I E Esselen -ess I L Central Siberian Yupik -est est est et I L Estonian -esu I L Central Yupik -etb I L Etebi -etc I E Etchemin -eth I L Ethiopian Sign Language -etn I L Eton (Vanuatu) -eto I L Eton (Cameroon) -etr I L Edolo -ets I L Yekhee -ett I A Etruscan -etu I L Ejagham -etx I L Eten -etz I L Semimi -eur I L Europanto -eus baq eus eu I L Basque -eve I L Even -evh I L Uvbie -evn I L Evenki -ewe ewe ewe ee I L Ewe -ewo ewo ewo I L Ewondo -ext I L Extremaduran -eya I L Eyak -eze I L Uzekwe -faa I L Fasu -fab I L Fa D'ambu -fad I L Wagi -faf I L Fagani -fag I L Finongan -fah I L Baissa Fali -fai I L Faiwol -faj I L Faita -fak I L Fang (Cameroon) -fal I L South Fali -fam I L Fam -fan fan fan I L Fang (Equatorial Guinea) -fao fao fao fo I L Faroese -fap I L Palor -far I L Fataleka -fas per fas fa M L Persian -fat fat fat I L Fanti -fau I L Fayu -fax I L Fala -fay I L Southwestern Fars -faz I L Northwestern Fars -fcs I L Quebec Sign Language -fer I L Feroge -ffi I L Foia Foia -ffm I L Maasina Fulfulde -fgr I L Fongoro -fia I L Nobiin -fie I L Fyer -fij fij fij fj I L Fijian -fil fil fil I L Filipino -fin fin fin fi I L Finnish -fip I L Fipa -fir I L Firan -fit I L Tornedalen Finnish -fiw I L Fiwaga -fiz I L Izere -fkv I L Kven Finnish -fla I L Kalispel-Pend d'Oreille -flh I L Foau -fli I L Fali -fll I L North Fali -fln I L Flinders Island -flr I L Fuliiru -fly I L Tsotsitaal -fmp I L Fe'fe' -fmu I L Far Western Muria -fng I L Fanagalo -fni I L Fania -fod I L Foodo -foi I L Foi -fom I L Foma -fon fon fon I L Fon -for I L Fore -fos I E Siraya -fpe I L Fernando Po Creole English -fqs I L Fas -fra fre fra fr I L French -frc I L Cajun French -frd I L Fordata -frk I E Frankish -frm frm frm I H Middle French (ca. 1400-1600) -fro fro fro I H Old French (842-ca. 1400) -frp I L Franco-Provençal -frq I L Forak -frr frr frr I L Northern Frisian -frs frs frs I L Eastern Frisian -frt I L Fortsenal -fry fry fry fy I L Western Frisian -fse I L Finnish Sign Language -fsl I L French Sign Language -fss I L Finnish-Swedish Sign Language -fub I L Adamawa Fulfulde -fuc I L Pulaar -fud I L East Futuna -fue I L Borgu Fulfulde -fuf I L Pular -fuh I L Western Niger Fulfulde -fui I L Bagirmi Fulfulde -fuj I L Ko -ful ful ful ff M L Fulah -fum I L Fum -fun I L Fulniô -fuq I L Central-Eastern Niger Fulfulde -fur fur fur I L Friulian -fut I L Futuna-Aniwa -fuu I L Furu -fuv I L Nigerian Fulfulde -fuy I L Fuyug -fvr I L Fur -fwa I L Fwâi -fwe I L Fwe -gaa gaa gaa I L Ga -gab I L Gabri -gad I L Gaddang -gae I L Guarequena -gaf I L Gende -gag I L Gagauz -gah I L Alekano -gai I L Borei -gaj I L Gadsup -gak I L Gamkonora -gal I L Galoli -gam I L Kandawo -gan I L Gan Chinese -gao I L Gants -gap I L Gal -gaq I L Gata' -gar I L Galeya -gas I L Adiwasi Garasia -gat I L Kenati -gau I L Mudhili Gadaba -gav I L Gabutamon -gaw I L Nobonob -gax I L Borana-Arsi-Guji Oromo -gay gay gay I L Gayo -gaz I L West Central Oromo -gba gba gba M L Gbaya (Central African Republic) -gbb I L Kaytetye -gbc I L Garawa -gbd I L Karadjeri -gbe I L Niksek -gbf I L Gaikundi -gbg I L Gbanziri -gbh I L Defi Gbe -gbi I L Galela -gbj I L Bodo Gadaba -gbk I L Gaddi -gbl I L Gamit -gbm I L Garhwali -gbn I L Mo'da -gbo I L Northern Grebo -gbp I L Gbaya-Bossangoa -gbq I L Gbaya-Bozoum -gbr I L Gbagyi -gbs I L Gbesi Gbe -gbu I L Gagadu -gbv I L Gbanu -gbx I L Eastern Xwla Gbe -gby I L Gbari -gbz I L Zoroastrian Dari -gcc I L Mali -gcd I L Ganggalida -gce I E Galice -gcf I L Guadeloupean Creole French -gcl I L Grenadian Creole English -gcn I L Gaina -gcr I L Guianese Creole French -gct I L Colonia Tovar German -gda I L Gade Lohar -gdb I L Pottangi Ollar Gadaba -gdc I L Gugu Badhun -gdd I L Gedaged -gde I L Gude -gdf I L Guduf-Gava -gdg I L Ga'dang -gdh I L Gadjerawang -gdi I L Gundi -gdj I L Gurdjar -gdk I L Gadang -gdl I L Dirasha -gdm I L Laal -gdn I L Umanakaina -gdo I L Ghodoberi -gdq I L Mehri -gdr I L Wipi -gdu I L Gudu -gdx I L Godwari -gea I L Geruma -geb I L Kire -gec I L Gboloo Grebo -ged I L Gade -geg I L Gengle -geh I L Hutterite German -gei I L Gebe -gej I L Gen -gek I L Yiwom -gel I L Kag-Fer-Jiir-Koor-Ror-Us-Zuksun -gen I L Geman Deng -geq I L Geme -ges I L Geser-Gorom -gew I L Gera -gex I L Garre -gey I L Enya -gez gez gez I A Geez -gfk I L Patpatar -gft I E Gafat -gga I L Gao -ggb I L Gbii -ggd I L Gugadj -gge I L Guragone -ggg I L Gurgula -ggh I L Garreh-Ajuran -ggk I E Kungarakany -ggl I L Ganglau -ggn I L Eastern Gurung -ggo I L Southern Gondi -ggr I E Aghu Tharnggalu -ggt I L Gitua -ggu I L Gagu -ggw I L Gogodala -gha I L Ghadamès -ghc I E Hiberno-Scottish Gaelic -ghe I L Southern Ghale -ghh I L Northern Ghale -ghk I L Geko Karen -ghl I L Ghulfan -ghn I L Ghanongga -gho I E Ghomara -ghr I L Ghera -ghs I L Guhu-Samane -ght I L Kutang Ghale -gia I L Kitja -gib I L Gibanawa -gic I L Gail -gid I L Gidar -gig I L Goaria -gil gil gil I L Gilbertese -gim I L Gimi (Eastern Highlands) -gin I L Hinukh -gio I L Gelao -gip I L Gimi (West New Britain) -giq I L Green Gelao -gir I L Red Gelao -gis I L North Giziga -git I L Gitxsan -giw I L White Gelao -gix I L Gilima -giy I L Giyug -giz I L South Giziga -gji I L Geji -gjk I L Kachi Koli -gjn I L Gonja -gju I L Gujari -gka I L Guya -gke I L Ndai -gkn I L Gokana -gkp I L Guinea Kpelle -gla gla gla gd I L Scottish Gaelic -glc I L Bon Gula -gld I L Nanai -gle gle gle ga I L Irish -glg glg glg gl I L Galician -glh I L Northwest Pashayi -gli I E Guliguli -glj I L Gula Iro -glk I L Gilaki -glo I L Galambu -glr I L Glaro-Twabo -glu I L Gula (Chad) -glv glv glv gv I E Manx -glw I L Glavda -gly I E Gule -gma I L Gambera -gmb I L Gula'alaa -gmd I L Mághdì -gmh gmh gmh I H Middle High German (ca. 1050-1500) -gml I H Middle Low German -gmn I L Gimnime -gmo I L Gamo-Gofa-Dawro -gmu I L Gumalu -gmx I L Magoma -gmy I A Mycenaean Greek -gna I L Kaansa -gnb I L Gangte -gnc I E Guanche -gnd I L Zulgo-Gemzek -gng I L Ngangam -gnh I L Lere -gni I L Gooniyandi -gnk I L //Gana -gnl I E Gangulu -gnm I L Ginuman -gnn I L Gumatj -gno I L Northern Gondi -gnq I L Gana -gnr I E Gureng Gureng -gnt I L Guntai -gnu I L Gnau -gnw I L Western Bolivian Guaraní -gnz I L Ganzi -goa I L Guro -gob I L Playero -goc I L Gorakor -god I L Godié -goe I L Gongduk -gog I L Gogo -goh goh goh I H Old High German (ca. 750-1050) -goi I L Gobasi -goj I L Gowlan -gok I L Gowli -gol I L Gola -gom I L Goan Konkani -gon gon gon M L Gondi -goo I L Gone Dau -gop I L Yeretuar -goq I L Gorap -gor gor gor I L Gorontalo -gos I L Gronings -got got got I A Gothic -gou I L Gavar -gow I L Gorowa -gox I L Gobu -goy I L Goundo -goz I L Gozarkhani -gpa I L Gupa-Abawa -gpn I L Taiap -gqa I L Ga'anda -gqi I L Guiqiong -gqn I E Guana (Brazil) -gqr I L Gor -gra I L Rajput Garasia -grb grb grb M L Grebo -grc grc grc I H Ancient Greek (to 1453) -grd I L Guruntum-Mbaaru -grg I L Madi -grh I L Gbiri-Niragu -gri I L Ghari -grj I L Southern Grebo -grm I L Kota Marudu Talantang -grn grn grn gn M L Guarani -gro I L Groma -grq I L Gorovu -grr I L Taznatit -grs I L Gresi -grt I L Garo -gru I L Kistane -grv I L Central Grebo -grw I L Gweda -grx I L Guriaso -gry I L Barclayville Grebo -grz I L Guramalum -gse I L Ghanaian Sign Language -gsg I L German Sign Language -gsl I L Gusilay -gsm I L Guatemalan Sign Language -gsn I L Gusan -gsp I L Wasembo -gss I L Greek Sign Language -gsw gsw gsw I L Swiss German -gta I L Guató -gti I L Gbati-ri -gua I L Shiki -gub I L Guajajára -guc I L Wayuu -gud I L Yocoboué Dida -gue I L Gurinji -guf I L Gupapuyngu -gug I L Paraguayan Guaraní -guh I L Guahibo -gui I L Eastern Bolivian Guaraní -guj guj guj gu I L Gujarati -guk I L Gumuz -gul I L Sea Island Creole English -gum I L Guambiano -gun I L Mbyá Guaraní -guo I L Guayabero -gup I L Gunwinggu -guq I L Aché -gur I L Farefare -gus I L Guinean Sign Language -gut I L Maléku Jaíka -guu I L Yanomamö -guv I E Gey -guw I L Gun -gux I L Gourmanchéma -guz I L Gusii -gva I L Guana (Paraguay) -gvc I L Guanano -gve I L Duwet -gvf I L Golin -gvj I L Guajá -gvl I L Gulay -gvm I L Gurmana -gvn I L Kuku-Yalanji -gvo I L Gavião Do Jiparaná -gvp I L Pará Gavião -gvr I L Western Gurung -gvs I L Gumawana -gvy I E Guyani -gwa I L Mbato -gwb I L Gwa -gwc I L Kalami -gwd I L Gawwada -gwe I L Gweno -gwf I L Gowro -gwg I L Moo -gwi gwi gwi I L Gwichʼin -gwj I L /Gwi -gwn I L Gwandara -gwr I L Gwere -gwt I L Gawar-Bati -gwu I L Guwamu -gww I L Kwini -gwx I L Gua -gxx I L Wè Southern -gya I L Northwest Gbaya -gyb I L Garus -gyd I L Kayardild -gye I L Gyem -gyf I L Gungabula -gyg I L Gbayi -gyi I L Gyele -gym I L Ngäbere -gyn I L Guyanese Creole English -gyr I L Guarayu -gyy I L Gunya -gza I L Ganza -gzi I L Gazi -gzn I L Gane -haa I L Han -hab I L Hanoi Sign Language -hac I L Gurani -had I L Hatam -hae I L Eastern Oromo -haf I L Haiphong Sign Language -hag I L Hanga -hah I L Hahon -hai hai hai M L Haida -haj I L Hajong -hak I L Hakka Chinese -hal I L Halang -ham I L Hewa -han I L Hangaza -hao I L Hakö -hap I L Hupla -haq I L Ha -har I L Harari -has I L Haisla -hat hat hat ht I L Haitian -hau hau hau ha I L Hausa -hav I L Havu -haw haw haw I L Hawaiian -hax I L Southern Haida -hay I L Haya -haz I L Hazaragi -hba I L Hamba -hbb I L Huba -hbn I L Heiban -hbo I H Ancient Hebrew -hbs sh M L Serbo-Croatian -hbu I L Habu -hca I L Andaman Creole Hindi -hch I L Huichol -hdn I L Northern Haida -hds I L Honduras Sign Language -hdy I L Hadiyya -hea I L Northern Qiandong Hmong -heb heb heb he I L Hebrew -hed I L Herdé -heg I L Helong -heh I L Hehe -hei I L Heiltsuk -hem I L Hemba -her her her hz I L Herero -hgm I L Hai//om -hgw I L Haigwai -hhi I L Hoia Hoia -hhr I L Kerak -hhy I L Hoyahoya -hia I L Lamang -hib I E Hibito -hid I L Hidatsa -hif I L Fijian Hindustani -hig I L Kamwe -hih I L Pamosu -hii I L Hinduri -hij I L Hijuk -hik I L Seit-Kaitetu -hil hil hil I L Hiligaynon -hin hin hin hi I L Hindi -hio I L Tsoa -hir I L Himarimã -hit hit hit I A Hittite -hiw I L Hiw -hix I L Hixkaryána -hka I L Kahe -hke I L Hunde -hla I L Halia -hlb I L Halbi -hld I L Halang Doan -hlt I L Nga La -hlu I A Hieroglyphic Luwian -hma I L Southern Mashan Hmong -hmb I L Humburi Senni Songhay -hmc I L Central Huishui Hmong -hmd I L Northeastern Dian Hmong -hme I L Eastern Huishui Hmong -hmf I L Hmong Don -hmg I L Southwestern Guiyang Hmong -hmh I L Southwestern Huishui Hmong -hmi I L Northern Huishui Hmong -hmj I L Chonganjiang Hmong -hmk I E Maek -hml I L Luopohe Hmong -hmm I L Central Mashan Hmong -hmn hmn hmn M L Hmong -hmo hmo hmo ho I L Hiri Motu -hmp I L Northern Mashan Hmong -hmq I L Eastern Qiandong Hmong -hmr I L Hmar -hms I L Southern Qiandong Hmong -hmt I L Hamtai -hmu I L Hamap -hmv I L Hmong Dô -hmw I L Western Mashan Hmong -hmy I L Southern Guiyang Hmong -hmz I L Hmong Shua -hna I L Mina (Cameroon) -hnd I L Southern Hindko -hne I L Chhattisgarhi -hnh I L //Ani -hni I L Hani -hnn I L Hanunoo -hno I L Northern Hindko -hns I L Caribbean Hindustani -hnu I L Hung -hoa I L Hoava -hob I L Mari (Madang Province) -hoc I L Ho -hod I E Holma -hoe I L Horom -hoh I L Hobyót -hoi I L Holikachuk -hoj I L Harauti -hol I L Holu -hom I E Homa -hoo I L Holoholo -hop I L Hopi -hor I E Horo -hos I L Ho Chi Minh City Sign Language -hot I L Hote -hov I L Hovongan -how I L Honi -hoy I L Holiya -hoz I L Hozo -hpo I L Hpon -hps I L Hawai'i Pidgin Sign Language -hra I L Hrangkhol -hre I L Hre -hrk I L Haruku -hro I L Haroi -hrr I L Horuru -hrt I L Hértevin -hru I L Hruso -hrv scr hrv hr I L Croatian -hrx I L Hunsrik -hrz I L Harzani -hsb hsb hsb I L Upper Sorbian -hsf I L Southeastern Huastec -hsh I L Hungarian Sign Language -hsl I L Hausa Sign Language -hsn I L Xiang Chinese -hss I L Harsusi -hti I L Hoti -hto I L Minica Huitoto -hts I L Hadza -htu I L Hitu -htx I A Middle Hittite -hub I L Huambisa -huc I L =/Hua -hud I L Huaulu -hue I L San Francisco Del Mar Huave -huf I L Humene -hug I L Huachipaeri -huh I L Huilliche -hui I L Huli -huj I L Northern Guiyang Hmong -huk I L Hulung -hul I L Hula -hum I L Hungana -hun hun hun hu I L Hungarian -huo I L Hu -hup hup hup I L Hupa -huq I L Tsat -hur I L Halkomelem -hus I L Veracruz Huastec -hut I L Humla -huu I L Murui Huitoto -huv I L San Mateo Del Mar Huave -huw I L Hukumina -hux I L Nüpode Huitoto -huy I L Hulaulá -huz I L Hunzib -hva I L San Luís Potosí Huastec -hvc I L Haitian Vodoun Culture Language -hve I L San Dionisio Del Mar Huave -hvk I L Haveke -hvn I L Sabu -hvv I L Santa María Del Mar Huave -hwa I L Wané -hwc I L Hawai'i Creole English -hwo I L Hwana -hya I L Hya -hye arm hye hy I L Armenian -iai I L Iaai -ian I L Iatmul -iap I L Iapama -iar I L Purari -iba iba iba I L Iban -ibb I L Ibibio -ibd I L Iwaidja -ibe I L Akpes -ibg I L Ibanag -ibi I L Ibilo -ibl I L Ibaloi -ibm I L Agoi -ibn I L Ibino -ibo ibo ibo ig I L Igbo -ibr I L Ibuoro -ibu I L Ibu -iby I L Ibani -ica I L Ede Ica -ich I L Etkywan -icl I L Icelandic Sign Language -icr I L Islander Creole English -ida I L Idakho-Isukha-Tiriki -idb I L Indo-Portuguese -idc I L Idon -idd I L Ede Idaca -ide I L Idere -idi I L Idi -ido ido ido io I C Ido -idr I L Indri -ids I L Idesa -idt I L Idaté -idu I L Idoma -ifa I L Amganad Ifugao -ifb I L Batad Ifugao -ife I L Ifè -iff I E Ifo -ifk I L Tuwali Ifugao -ifm I L Teke-Fuumu -ifu I L Mayoyao Ifugao -ify I L Keley-I Kallahan -igb I L Ebira -ige I L Igede -igg I L Igana -igl I L Igala -igm I L Kanggape -ign I L Ignaciano -igo I L Isebe -igs I C Interglossa -igw I L Igwe -ihb I L Iha Based Pidgin -ihi I L Ihievbe -ihp I L Iha -iii iii iii ii I L Sichuan Yi -ijc I L Izon -ije I L Biseni -ijj I L Ede Ije -ijn I L Kalabari -ijs I L Southeast Ijo -ike I L Eastern Canadian Inuktitut -iki I L Iko -ikk I L Ika -ikl I L Ikulu -iko I L Olulumo-Ikom -ikp I L Ikpeshi -ikt I L Western Canadian Inuktitut -iku iku iku iu M L Inuktitut -ikv I L Iku-Gora-Ankwa -ikw I L Ikwere -ikx I L Ik -ikz I L Ikizu -ila I L Ile Ape -ilb I L Ila -ile ile ile ie I C Interlingue -ilg I L Garig-Ilgar -ili I L Ili Turki -ilk I L Ilongot -ill I L Iranun -ilo ilo ilo I L Iloko -ilu I L Ili'uun -ilv I L Ilue -ilw I L Talur -ima I L Mala Malasar -ime I L Imeraguen -imi I L Anamgura -iml I E Miluk -imn I L Imonda -imo I L Imbongu -imr I L Imroing -ims I A Marsian -imy I A Milyan -ina ina ina ia I C Interlingua (International Auxiliary Language Association) -inb I L Inga -ind ind ind id I L Indonesian -ing I L Degexit'an -inh inh inh I L Ingush -inj I L Jungle Inga -inl I L Indonesian Sign Language -inm I A Minaean -inn I L Isinai -ino I L Inoke-Yate -inp I L Iñapari -ins I L Indian Sign Language -int I L Intha -inz I E Ineseño -ior I L Inor -iou I L Tuma-Irumu -iow I E Iowa-Oto -ipi I L Ipili -ipk ipk ipk ik M L Inupiaq -ipo I L Ipiko -iqu I L Iquito -ire I L Iresim -irh I L Irarutu -iri I L Irigwe -irk I L Iraqw -irn I L Irántxe -irr I L Ir -iru I L Irula -irx I L Kamberau -iry I L Iraya -isa I L Isabi -isc I L Isconahua -isd I L Isnag -ise I L Italian Sign Language -isg I L Irish Sign Language -ish I L Esan -isi I L Nkem-Nkum -isl ice isl is I L Icelandic -ism I L Masimasi -isn I L Isanzu -iso I L Isoko -isr I L Israeli Sign Language -ist I L Istriot -isu I L Isu (Menchum Division) -ita ita ita it I L Italian -itb I L Binongan Itneg -ite I E Itene -iti I L Inlaod Itneg -itk I L Judeo-Italian -itl I L Itelmen -itm I L Itu Mbon Uzo -ito I L Itonama -itr I L Iteri -its I L Isekiri -itt I L Maeng Itneg -itu I L Itutang -itv I L Itawit -itw I L Ito -itx I L Itik -ity I L Moyadan Itneg -itz I L Itzá -ium I L Iu Mien -ivb I L Ibatan -ivv I L Ivatan -iwk I L I-Wak -iwm I L Iwam -iwo I L Iwur -iws I L Sepik Iwam -ixc I L Ixcatec -ixi I L Nebaj Ixil -ixj I L Chajul Ixil -ixl I L San Juan Cotzal Ixil -iya I L Iyayu -iyo I L Mesaka -iyx I L Yaka (Congo) -izh I L Ingrian -izi I L Izi-Ezaa-Ikwo-Mgbo -jaa I L Jamamadí -jab I L Hyam -jac I L Eastern Jacalteco -jad I L Jahanka -jae I L Yabem -jaf I L Jara -jah I L Jah Hut -jai I L Western Jacalteco -jaj I L Zazao -jak I L Jakun -jal I L Yalahatan -jam I L Jamaican Creole English -jao I L Yanyuwa -jaq I L Yaqay -jar I L Jarawa (Nigeria) -jas I L New Caledonian Javanese -jat I L Jakati -jau I L Yaur -jav jav jav jv I L Javanese -jax I L Jambi Malay -jay I L Jarnango -jaz I L Jawe -jbe I L Judeo-Berber -jbj I L Arandai -jbn I L Nafusi -jbo jbo jbo I C Lojban -jbt I L Jabutí -jbu I L Jukun Takum -jcs I L Jamaican Country Sign Language -jct I L Krymchak -jda I L Jad -jdg I L Jadgali -jdt I L Judeo-Tat -jeb I L Jebero -jee I L Jerung -jeg I L Jeng -jeh I L Jeh -jei I L Yei -jek I L Jeri Kuo -jel I L Yelmek -jen I L Dza -jer I L Jere -jet I L Manem -jeu I L Jonkor Bourmataguil -jgb I E Ngbee -jge I L Judeo-Georgian -jgo I L Ngomba -jhi I L Jehai -jia I L Jina -jib I L Jibu -jic I L Tol -jid I L Bu -jie I L Jilbe -jig I L Djingili -jih I L Shangzhai -jii I L Jiiddu -jil I L Jilim -jim I L Jimi (Cameroon) -jio I L Jiamao -jiq I L Guanyinqiao -jit I L Jita -jiu I L Youle Jinuo -jiv I L Shuar -jiy I L Buyuan Jinuo -jko I L Kubo -jku I L Labir -jle I L Ngile -jma I L Dima -jmb I L Zumbun -jmc I L Machame -jmd I L Yamdena -jmi I L Jimi (Nigeria) -jml I L Jumli -jmr I L Kamara -jms I L Mashi (Nigeria) -jmx I L Western Juxtlahuaca Mixtec -jna I L Jangshung -jnd I L Jandavra -jng I E Yangman -jni I L Janji -jnj I L Yemsa -jnl I L Rawat -jns I L Jaunsari -job I L Joba -jod I L Wojenaka -jor I E Jorá -jos I L Jordanian Sign Language -jow I L Jowulu -jpa I H Jewish Palestinian Aramaic -jpn jpn jpn ja I L Japanese -jpr jpr jpr I L Judeo-Persian -jqr I L Jaqaru -jra I L Jarai -jrb jrb jrb M L Judeo-Arabic -jrr I L Jiru -jrt I L Jorto -jru I L Japrería -jsl I L Japanese Sign Language -jua I L Júma -jub I L Wannu -juc I E Jurchen -jud I L Worodougou -juh I L Hõne -juk I L Wapan -jul I L Jirel -jum I L Jumjum -jun I L Juang -juo I L Jiba -jup I L Hupdë -jur I L Jurúna -jut I L Jutish -juu I L Ju -juw I L Wãpha -juy I L Juray -jvd I E Javindo -jvn I L Caribbean Javanese -jwi I L Jwira-Pepesa -jya I L Jiarong -jye I L Judeo-Yemeni Arabic -jyy I L Jaya -kaa kaa kaa I L Kara-Kalpak -kab kab kab I L Kabyle -kac kac kac I L Kachin -kad I L Kadara -kae I E Ketangalan -kaf I L Katso -kag I L Kajaman -kah I L Kara (Central African Republic) -kai I L Karekare -kaj I L Jju -kak I L Kayapa Kallahan -kal kal kal kl I L Kalaallisut -kam kam kam I L Kamba (Kenya) -kan kan kan kn I L Kannada -kao I L Xaasongaxango -kap I L Bezhta -kaq I L Capanahua -kas kas kas ks I L Kashmiri -kat geo kat ka I L Georgian -kau kau kau kr M L Kanuri -kav I L Katukína -kaw kaw kaw I A Kawi -kax I L Kao -kay I L Kamayurá -kaz kaz kaz kk I L Kazakh -kba I E Kalarko -kbb I E Kaxuiâna -kbc I L Kadiwéu -kbd kbd kbd I L Kabardian -kbe I L Kanju -kbf I E Kakauhua -kbg I L Khamba -kbh I L Camsá -kbj I L Kari -kbk I L Grass Koiari -kbl I L Kanembu -kbm I L Iwal -kbn I L Kare (Central African Republic) -kbo I L Keliko -kbp I L Kabiyé -kbq I L Kamano -kbr I L Kafa -kbs I L Kande -kbt I L Abadi -kbu I L Kabutra -kbv I L Dera (Indonesia) -kbw I L Kaiep -kbx I L Ap Ma -kby I L Manga Kanuri -kbz I L Duhwa -kca I L Khanty -kcb I L Kawacha -kcc I L Lubila -kcd I L Ngkâlmpw Kanum -kce I L Kaivi -kcf I L Ukaan -kcg I L Tyap -kch I L Vono -kci I L Kamantan -kcj I L Kobiana -kck I L Kalanga -kcl I L Kela (Papua New Guinea) -kcm I L Gula (Central African Republic) -kcn I L Nubi -kco I L Kinalakna -kcp I L Kanga -kcq I L Kamo -kcr I L Katla -kcs I L Koenoem -kct I L Kaian -kcu I L Kami (Tanzania) -kcv I L Kete -kcw I L Kabwari -kcx I L Kachama-Ganjule -kcy I L Korandje -kcz I L Konongo -kda I E Worimi -kdc I L Kutu -kdd I L Yankunytjatjara -kde I L Makonde -kdf I L Mamusi -kdg I L Seba -kdh I L Tem -kdi I L Kumam -kdj I L Karamojong -kdk I L Numee -kdl I L Tsikimba -kdm I L Kagoma -kdn I L Kunda -kdp I L Kaningdon-Nindem -kdq I L Koch -kdr I L Karaim -kds I L Lahu Shi -kdt I L Kuy -kdu I L Kadaru -kdv I L Kado -kdw I L Koneraw -kdx I L Kam -kdy I L Keder -kdz I L Kwaja -kea I L Kabuverdianu -keb I L Kélé -kec I L Keiga -ked I L Kerewe -kee I L Eastern Keres -kef I L Kpessi -keg I L Tese -kei I L Kei -kej I L Kadar -kek I L Kekchí -kel I L Kela (Democratic Republic of Congo) -kem I L Kemak -ken I L Kenyang -keo I L Kakwa -kep I L Kaikadi -keq I L Kamar -ker I L Kera -kes I L Kugbo -ket I L Ket -keu I L Akebu -kev I L Kanikkaran -kew I L West Kewa -kex I L Kukna -key I L Kupia -kez I L Kukele -kfa I L Kodava -kfb I L Northwestern Kolami -kfc I L Konda-Dora -kfd I L Korra Koraga -kfe I L Kota (India) -kff I L Koya -kfg I L Kudiya -kfh I L Kurichiya -kfi I L Kannada Kurumba -kfj I L Kemiehua -kfk I L Kinnauri -kfl I L Kung -kfm I L Khunsari -kfn I L Kuk -kfo I L Koro (Côte d'Ivoire) -kfp I L Korwa -kfq I L Korku -kfr I L Kachchi -kfs I L Bilaspuri -kft I L Kanjari -kfu I L Katkari -kfv I L Kurmukar -kfw I L Kharam Naga -kfx I L Kullu Pahari -kfy I L Kumaoni -kfz I L Koromfé -kga I L Koyaga -kgb I L Kawe -kgc I L Kasseng -kgd I L Kataang -kge I L Komering -kgf I L Kube -kgg I E Kusunda -kgh I L Upper Tanudan Kalinga -kgi I L Selangor Sign Language -kgj I L Gamale Kham -kgk I L Kaiwá -kgl I L Kunggari -kgm I E Karipúna -kgn I L Karingani -kgo I L Krongo -kgp I L Kaingang -kgq I L Kamoro -kgr I L Abun -kgs I L Kumbainggar -kgt I L Somyev -kgu I L Kobol -kgv I L Karas -kgw I L Karon Dori -kgx I L Kamaru -kgy I L Kyerung -kha kha kha I L Khasi -khb I L Lü -khc I L Tukang Besi North -khd I L Bädi Kanum -khe I L Korowai -khf I L Khuen -khg I L Khams Tibetan -khh I L Kehu -khj I L Kuturmi -khk I L Halh Mongolian -khl I L Lusi -khm khm khm km I L Central Khmer -khn I L Khandesi -kho kho kho I A Khotanese -khp I L Kapori -khq I L Koyra Chiini Songhay -khr I L Kharia -khs I L Kasua -kht I L Khamti -khu I L Nkhumbi -khv I L Khvarshi -khw I L Khowar -khx I L Kanu -khy I L Kele (Democratic Republic of Congo) -khz I L Keapara -kia I L Kim -kib I L Koalib -kic I L Kickapoo -kid I L Koshin -kie I L Kibet -kif I L Eastern Parbate Kham -kig I L Kimaama -kih I L Kilmeri -kii I E Kitsai -kij I L Kilivila -kik kik kik ki I L Kikuyu -kil I L Kariya -kim I L Karagas -kin kin kin rw I L Kinyarwanda -kio I L Kiowa -kip I L Sheshi Kham -kiq I L Kosadle -kir kir kir ky I L Kirghiz -kis I L Kis -kit I L Agob -kiu I L Kirmanjki -kiv I L Kimbu -kiw I L Northeast Kiwai -kiy I L Kirikiri -kiz I L Kisi -kja I L Mlap -kjb I L Eastern Kanjobal -kjc I L Coastal Konjo -kjd I L Southern Kiwai -kje I L Kisar -kjf I L Khalaj -kjg I L Khmu -kjh I L Khakas -kji I L Zabana -kjj I L Khinalugh -kjk I L Highland Konjo -kjl I L Western Parbate Kham -kjm I L Kháng -kjn I L Kunjen -kjo I L Harijan Kinnauri -kjp I L Pwo Eastern Karen -kjq I L Western Keres -kjr I L Kurudu -kjs I L East Kewa -kjt I L Phrae Pwo Karen -kju I L Kashaya -kjx I L Ramopa -kjy I L Erave -kjz I L Bumthangkha -kka I L Kakanda -kkb I L Kwerisa -kkc I L Odoodee -kkd I L Kinuku -kke I L Kakabe -kkf I L Kalaktang Monpa -kkg I L Mabaka Valley Kalinga -kkh I L Khün -kki I L Kagulu -kkj I L Kako -kkk I L Kokota -kkl I L Kosarek Yale -kkm I L Kiong -kkn I L Kon Keu -kko I L Karko -kkp I L Gugubera -kkq I L Kaiku -kkr I L Kir-Balar -kks I L Giiwo -kkt I L Koi -kku I L Tumi -kkv I L Kangean -kkw I L Teke-Kukuya -kkx I L Kohin -kky I L Guguyimidjir -kkz I L Kaska -kla I L Klamath-Modoc -klb I L Kiliwa -klc I L Kolbila -kld I L Gamilaraay -kle I L Kulung (Nepal) -klf I L Kendeje -klg I L Tagakaulu Kalagan -klh I L Weliki -kli I L Kalumpang -klj I L Turkic Khalaj -klk I L Kono (Nigeria) -kll I L Kagan Kalagan -klm I L Kolom -kln I L Kalenjin -klo I L Kapya -klp I L Kamasa -klq I L Rumu -klr I L Khaling -kls I L Kalasha -klt I L Nukna -klu I L Klao -klv I L Maskelynes -klw I L Lindu -klx I L Koluwawa -kly I L Kalao -klz I L Kabola -kma I L Konni -kmb kmb kmb I L Kimbundu -kmc I L Southern Dong -kmd I L Madukayang Kalinga -kme I L Bakole -kmf I L Kare (Papua New Guinea) -kmg I L Kâte -kmh I L Kalam -kmi I L Kami (Nigeria) -kmj I L Kumarbhag Paharia -kmk I L Limos Kalinga -kml I L Lower Tanudan Kalinga -kmm I L Kom (India) -kmn I L Awtuw -kmo I L Kwoma -kmp I L Gimme -kmq I L Kwama -kmr I L Northern Kurdish -kms I L Kamasau -kmt I L Kemtuik -kmu I L Kanite -kmv I L Karipúna Creole French -kmw I L Komo (Democratic Republic of Congo) -kmx I L Waboda -kmy I L Koma -kmz I L Khorasani Turkish -kna I L Dera (Nigeria) -knb I L Lubuagan Kalinga -knc I L Central Kanuri -knd I L Konda -kne I L Kankanaey -knf I L Mankanya -kng I L Koongo -knh I L Kayan River Kenyah -kni I L Kanufi -knj I L Western Kanjobal -knk I L Kuranko -knl I L Keninjal -knm I L Kanamarí -knn I L Konkani (individual language) -kno I L Kono (Sierra Leone) -knp I L Kwanja -knq I L Kintaq -knr I L Kaningra -kns I L Kensiu -knt I L Panoan Katukína -knu I L Kono (Guinea) -knv I L Tabo -knw I L Kung-Ekoka -knx I L Kendayan -kny I L Kanyok -knz I L Kalamsé -koa I L Konomala -koc I E Kpati -kod I L Kodi -koe I L Kacipo-Balesi -kof I E Kubi -kog I L Cogui -koh I L Koyo -koi I L Komi-Permyak -koj I L Sara Dunjo -kok kok kok M L Konkani (macrolanguage) -kol I L Kol (Papua New Guinea) -kom kom kom kv M L Komi -kon kon kon kg M L Kongo -koo I L Konzo -kop I L Kwato -koq I L Kota (Gabon) -kor kor kor ko I L Korean -kos kos kos I L Kosraean -kot I L Lagwan -kou I L Koke -kov I L Kudu-Camo -kow I L Kugama -kox I E Coxima -koy I L Koyukon -koz I L Korak -kpa I L Kutto -kpb I L Mullu Kurumba -kpc I L Curripaco -kpd I L Koba -kpe kpe kpe M L Kpelle -kpf I L Komba -kpg I L Kapingamarangi -kph I L Kplang -kpi I L Kofei -kpj I L Karajá -kpk I L Kpan -kpl I L Kpala -kpm I L Koho -kpn I E Kepkiriwát -kpo I L Ikposo -kpp I L Paku Karen -kpq I L Korupun-Sela -kpr I L Korafe -kps I L Tehit -kpt I L Karata -kpu I L Kafoa -kpv I L Komi-Zyrian -kpw I L Kobon -kpx I L Mountain Koiali -kpy I L Koryak -kpz I L Kupsabiny -kqa I L Mum -kqb I L Kovai -kqc I L Doromu -kqd I L Koy Sanjaq Surat -kqe I L Kalagan -kqf I L Kakabai -kqg I L Khe -kqh I L Kisankasa -kqi I L Koitabu -kqj I L Koromira -kqk I L Kotafon Gbe -kql I L Kyenele -kqm I L Khisa -kqn I L Kaonde -kqo I L Eastern Krahn -kqp I L Kimré -kqq I L Krenak -kqr I L Kimaragang -kqs I L Northern Kissi -kqt I L Klias River Kadazan -kqu I E Seroa -kqv I L Okolod -kqw I L Kandas -kqx I L Mser -kqy I L Koorete -kqz I E Korana -kra I L Kumhali -krb I E Karkin -krc krc krc I L Karachay-Balkar -krd I L Kairui-Midiki -kre I L Panará -krf I L Koro (Vanuatu) -krg I L North Korowai -krh I L Kurama -kri I L Krio -krj I L Kinaray-A -krk I L Kerek -krl krl krl I L Karelian -krm I L Krim -krn I L Sapo -krp I L Korop -krq I L Krui -krr I L Kru'ng 2 -krs I L Gbaya (Sudan) -krt I L Tumari Kanuri -kru kru kru I L Kurukh -krv I L Kavet -krw I L Western Krahn -krx I L Karon -kry I L Kryts -krz I L Sota Kanum -ksa I L Shuwa-Zamani -ksb I L Shambala -ksc I L Southern Kalinga -ksd I L Kuanua -kse I L Kuni -ksf I L Bafia -ksg I L Kusaghe -ksh I L Kölsch -ksi I L Krisa -ksj I L Uare -ksk I L Kansa -ksl I L Kumalu -ksm I L Kumba -ksn I L Kasiguranin -kso I L Kofa -ksp I L Kaba -ksq I L Kwaami -ksr I L Borong -kss I L Southern Kisi -kst I L Winyé -ksu I L Khamyang -ksv I L Kusu -ksw I L S'gaw Karen -ksx I L Kedang -ksy I L Kharia Thar -ksz I L Koraku -kta I L Katua -ktb I L Kambaata -ktc I L Kholok -ktd I L Kokata -kte I L Nubri -ktf I L Kwami -ktg I E Kalkutung -kth I L Karanga -kti I L North Muyu -ktj I L Plapo Krumen -ktk I E Kaniet -ktl I L Koroshi -ktm I L Kurti -ktn I L Karitiâna -kto I L Kuot -ktp I L Kaduo -ktq I E Katabaga -ktr I L Kota Marudu Tinagas -kts I L South Muyu -ktt I L Ketum -ktu I L Kituba (Democratic Republic of Congo) -ktv I L Eastern Katu -ktw I E Kato -ktx I L Kaxararí -kty I L Kango (Bas-Uélé District) -ktz I L Ju/'hoan -kua kua kua kj I L Kuanyama -kub I L Kutep -kud I L 'Auhelawa -kue I L Kuman -kuf I L Western Katu -kug I L Kupa -kuh I L Kushi -kui I L Kuikúro-Kalapálo -kuj I L Kuria -kuk I L Kepo' -kul I L Kulere -kum kum kum I L Kumyk -kun I L Kunama -kuo I L Kumukio -kup I L Kunimaipa -kuq I L Karipuna -kur kur kur ku M L Kurdish -kus I L Kusaal -kut kut kut I L Kutenai -kuu I L Upper Kuskokwim -kuv I L Kur -kuw I L Kpagua -kux I L Kukatja -kuy I L Kuuku-Ya'u -kuz I E Kunza -kva I L Bagvalal -kvb I L Kubu -kvc I L Kove -kvd I L Kui (Indonesia) -kve I L Kalabakan -kvf I L Kabalai -kvg I L Kuni-Boazi -kvh I L Komodo -kvi I L Kwang -kvj I L Psikye -kvk I L Korean Sign Language -kvl I L Brek Karen -kvm I L Kendem -kvn I L Border Kuna -kvo I L Dobel -kvp I L Kompane -kvq I L Geba Karen -kvr I L Kerinci -kvs I L Kunggara -kvt I L Lahta Karen -kvu I L Yinbaw Karen -kvv I L Kola -kvw I L Wersing -kvx I L Parkari Koli -kvy I L Yintale Karen -kvz I L Tsakwambo -kwa I L Dâw -kwb I L Kwa -kwc I L Likwala -kwd I L Kwaio -kwe I L Kwerba -kwf I L Kwara'ae -kwg I L Kaba Deme -kwh I L Kowiai -kwi I L Awa-Cuaiquer -kwj I L Kwanga -kwk I L Kwakiutl -kwl I L Kofyar -kwm I L Kwambi -kwn I L Kwangali -kwo I L Kwomtari -kwp I L Kodia -kwq I L Kwak -kwr I L Kwer -kws I L Kwese -kwt I L Kwesten -kwu I L Kwakum -kwv I L Kaba Na -kww I L Kwinti -kwx I L Khirwar -kwy I L San Salvador Kongo -kwz I E Kwadi -kxa I L Kairiru -kxb I L Krobu -kxc I L Komso -kxd I L Brunei -kxe I L Kakihum -kxf I L Manumanaw Karen -kxg I L Katingan -kxh I L Karo (Ethiopia) -kxi I L Keningau Murut -kxj I L Kulfa -kxk I L Zayein Karen -kxl I L Nepali Kurux -kxm I L Northern Khmer -kxn I L Kanowit -kxo I E Kanoé -kxp I L Wadiyara Koli -kxq I L Smärky Kanum -kxr I L Koro (Papua New Guinea) -kxs I L Kangjia -kxt I L Koiwat -kxu I L Kui (India) -kxv I L Kuvi -kxw I L Konai -kxx I L Likuba -kxy I L Kayong -kxz I L Kerewo -kya I L Kwaya -kyb I L Butbut Kalinga -kyc I L Kyaka -kyd I L Karey -kye I L Krache -kyf I L Kouya -kyg I L Keyagana -kyh I L Karok -kyi I L Kiput -kyj I L Karao -kyk I L Kamayo -kyl I L Kalapuya -kym I L Kpatili -kyn I L Karolanos -kyo I L Kelon -kyp I L Kang -kyq I L Kenga -kyr I L Kuruáya -kys I L Baram Kayan -kyt I L Kayagar -kyu I L Western Kayah -kyv I L Kayort -kyw I L Kudmali -kyx I L Rapoisi -kyy I L Kambaira -kyz I L Kayabí -kza I L Western Karaboro -kzb I L Kaibobo -kzc I L Bondoukou Kulango -kzd I L Kadai -kze I L Kosena -kzf I L Da'a Kaili -kzg I L Kikai -kzh I L Kenuzi-Dongola -kzi I L Kelabit -kzj I L Coastal Kadazan -kzk I E Kazukuru -kzl I L Kayeli -kzm I L Kais -kzn I L Kokola -kzo I L Kaningi -kzp I L Kaidipang -kzq I L Kaike -kzr I L Karang -kzs I L Sugut Dusun -kzt I L Tambunan Dusun -kzu I L Kayupulau -kzv I L Komyandaret -kzw I E Karirí-Xocó -kzx I L Kamarian -kzy I L Kango (Tshopo District) -kzz I L Kalabra -laa I L Lapuyan Subanun -lab I A Linear A -lac I L Lacandon -lad lad lad I L Ladino -lae I L Pattani -laf I L Lafofa -lag I L Langi -lah lah lah M L Lahnda -lai I L Lambya -laj I L Lango (Uganda) -lak I L Laka (Nigeria) -lal I L Lalia -lam lam lam I L Lamba -lan I L Laru -lao lao lao lo I L Lao -lap I L Laka (Chad) -laq I L Qabiao -lar I L Larteh -las I L Lama (Togo) -lat lat lat la I A Latin -lau I L Laba -lav lav lav lv I L Latvian -law I L Lauje -lax I L Tiwa -lay I L Lama (Myanmar) -laz I E Aribwatsa -lba I L Lui -lbb I L Label -lbc I L Lakkia -lbe I L Lak -lbf I L Tinani -lbg I L Laopang -lbi I L La'bi -lbj I L Ladakhi -lbm I L Lodhi -lbn I L Lamet -lbo I L Laven -lbq I L Wampar -lbr I L Northern Lorung -lbs I L Libyan Sign Language -lbt I L Lachi -lbu I L Labu -lbv I L Lavatbura-Lamusong -lbw I L Tolaki -lbx I L Lawangan -lby I L Lamu-Lamu -lbz I L Lardil -lcc I L Legenyem -lcd I L Lola -lce I L Loncong -lcf I L Lubu -lch I L Luchazi -lcl I L Lisela -lcm I L Tungag -lcp I L Western Lawa -lcq I L Luhu -lcs I L Lisabata-Nuniali -ldb I L Idun -ldd I L Luri -ldg I L Lenyima -ldh I L Lamja-Dengsa-Tola -ldi I L Laari -ldj I L Lemoro -ldk I L Leelau -ldl I L Kaan -ldm I L Landoma -ldn I C Láadan -ldo I L Loo -ldp I L Tso -ldq I L Lufu -lea I L Lega-Shabunda -leb I L Lala-Bisa -lec I L Leco -led I L Lendu -lee I L Lyélé -lef I L Lelemi -leg I L Lengua -leh I L Lenje -lei I L Lemio -lej I L Lengola -lek I L Leipon -lel I L Lele (Democratic Republic of Congo) -lem I L Nomaande -len I L Lenca -leo I L Leti (Cameroon) -lep I L Lepcha -leq I L Lembena -ler I L Lenkau -les I L Lese -let I L Lesing-Gelimi -leu I L Kara (Papua New Guinea) -lev I L Lamma -lew I L Ledo Kaili -lex I L Luang -ley I L Lemolang -lez lez lez I L Lezghian -lfa I L Lefa -lga I L Lungga -lgb I L Laghu -lgg I L Lugbara -lgh I L Laghuu -lgi I L Lengilu -lgk I L Lingarak -lgl I L Wala -lgm I L Lega-Mwenga -lgn I L Opuuo -lgq I L Logba -lgr I L Lengo -lgt I L Pahi -lgu I L Longgu -lgz I L Ligenza -lha I L Laha (Viet Nam) -lhh I L Laha (Indonesia) -lhl I L Lahul Lohar -lhm I L Lhomi -lhn I L Lahanan -lhp I L Lhokpu -lhs I E Mlahsö -lht I L Toga -lhu I L Lahu -lia I L West-Central Limba -lib I L Likum -lic I L Hlai -lid I L Nyindrou -lie I L Likila -lif I L Limbu -lig I L Ligbi -lih I L Lihir -lii I L Lingkhim -lij I L Ligurian -lik I L Lika -lil I L Lillooet -lim lim lim li I L Limburgan -lin lin lin ln I L Lingala -lio I L Liki -lip I L Sekpele -liq I L Libido -lir I L Liberian English -lis I L Lisu -lit lit lit lt I L Lithuanian -liu I L Logorik -liv I L Liv -liw I L Lembak -lix I L Liabuku -liy I L Banda-Bambari -liz I L Libinza -lje I L Rampi -lji I L Laiyolo -ljl I L Li'o -ljp I L Lampung -lka I L Lakalei -lke I L Kenyi -lkh I L Lakha -lki I L Laki -lkj I L Remun -lkl I L Laeko-Libuat -lkn I L Lakona -lkr I L Päri -lkt I L Lakota -lky I L Lokoya -lla I L Lala-Roba -llb I L Lolo -llc I L Lele (Guinea) -lld I L Ladin -lle I L Lele (Papua New Guinea) -llf I E Hermit -llg I L Lole -lli I L Teke-Laali -llk I L Lelak -lll I L Lilau -llm I L Lasalimu -lln I L Lele (Chad) -llo I L Khlor -llp I L North Efate -llq I L Lolak -lls I L Lithuanian Sign Language -llu I L Lau -llx I L Lauan -lma I L East Limba -lmb I L Merei -lmc I L Limilngan -lmd I L Lumun -lme I L Pévé -lmf I L South Lembata -lmg I L Lamogai -lmh I L Lambichhong -lmi I L Lombi -lmj I L West Lembata -lmk I L Lamkang -lml I L Hano -lmm I L Lamam -lmn I L Lambadi -lmo I L Lombard -lmp I L Limbum -lmq I L Lamatuka -lmr I L Lamalera -lmt I L Lematang -lmu I L Lamenu -lmv I L Lomaiviti -lmw I L Lake Miwok -lmx I L Laimbue -lmy I L Lamboya -lmz I E Lumbee -lna I L Langbashe -lnb I L Mbalanhu -lnd I L Lundayeh -lng I A Langobardic -lnh I L Lanoh -lni I L Lantanai -lnj I E Leningitij -lnl I L South Central Banda -lnm I L Langam -lnn I L Lorediakarkar -lno I L Lango (Sudan) -lns I L Lamnso' -lnt I L Lintang -lnu I L Longuda -lnz I L Lonzo -loa I L Loloda -lob I L Lobi -loc I L Inonhan -lod I L Berawan -loe I L Coastal Saluan -lof I L Logol -log I L Logo -loh I L Narim -loi I L Loma (Côte d'Ivoire) -loj I L Lou -lok I L Loko -lol lol lol I L Mongo -lom I L Loma (Liberia) -lon I L Malawi Lomwe -loo I L Lombo -lop I L Lopa -loq I L Lobala -lor I L Téén -los I L Loniu -lot I L Otuho -lou I L Louisiana Creole French -lov I L Lopi -low I L Tampias Lobu -lox I L Loun -loy I L Lowa -loz loz loz I L Lozi -lpa I L Lelepa -lpe I L Lepki -lpo I L Lipo -lpx I L Lopit -lra I L Lara' -lrc I L Northern Luri -lre I E Laurentian -lrg I L Laragia -lrk I L Loarki -lrl I L Lari -lrn I L Lorang -lro I L Laro -lrr I L Southern Lorung -lrv I L Larevat -lsa I L Lasgerdi -lsd I L Lishana Deni -lse I L Lusengo -lsg I L Lyons Sign Language -lsh I L Lish -lsi I L Lashi -lsl I L Latvian Sign Language -lso I L Laos Sign Language -lsr I L Aruop -lss I L Lasi -ltc I H Late Middle Chinese -lti I L Leti (Indonesia) -ltu I L Latu -ltz ltz ltz lb I L Luxembourgish -lua lua lua I L Luba-Lulua -lub lub lub lu I L Luba-Katanga -luc I L Aringa -lud I L Ludian -lue I L Luvale -luf I L Laua -lug lug lug lg I L Ganda -lui lui lui I L Luiseno -luj I L Luna -luk I L Lunanakha -lul I L Olu'bo -lum I L Luimbi -lun lun lun I L Lunda -luo luo luo I L Luo (Kenya and Tanzania) -lup I L Lumbu -luq I L Lucumi -lur I L Laura -lus lus lus I L Lushai -lut I L Lushootseed -luu I L Lumba-Yakkha -luv I L Luwati -luw I L Luo -luy I L Luyia -luz I L Southern Luri -lva I L Maku'a -lvk I L Lavukaleve -lvu I L Levuka -lwa I L Lwalu -lwe I L Lewo Eleng -lwh I L White Lachi -lwl I L Eastern Lawa -lwo I L Luwo -lwt I L Lewotobi -lww I L Lewo -lya I L Layakha -lyn I L Luyana -lzl I L Litzlitz -lzz I L Laz -maa I L San Jerónimo Tecóatl Mazatec -mab I L Yutanduchi Mixtec -mad mad mad I L Madurese -mae I L Bo-Rukul -maf I L Mafa -mag mag mag I L Magahi -mah mah mah mh I L Marshallese -mai mai mai I L Maithili -maj I L Jalapa De Díaz Mazatec -mak mak mak I L Makasar -mal mal mal ml I L Malayalam -mam I L Northern Mam -man man man M L Mandingo -maq I L Chiquihuitlán Mazatec -mar mar mar mr I L Marathi -mas mas mas I L Masai -mat I L San Francisco Matlatzinca -mau I L Huautla Mazatec -mav I L Sateré-Mawé -maw I L Mampruli -max I L North Moluccan Malay -maz I L Central Mazahua -mba I L Higaonon -mbb I L Western Bukidnon Manobo -mbc I L Macushi -mbd I L Dibabawon Manobo -mbe I E Molale -mbf I L Baba Malay -mbg I L Northern Nambikuára -mbh I L Mangseng -mbi I L Ilianen Manobo -mbj I L Nadëb -mbk I L Malol -mbl I L Maxakalí -mbm I L Ombamba -mbn I L Macaguán -mbo I L Mbo (Cameroon) -mbp I L Malayo -mbq I L Maisin -mbr I L Nukak Makú -mbs I L Sarangani Manobo -mbt I L Matigsalug Manobo -mbu I L Mbula-Bwazza -mbv I L Mbulungish -mbw I L Maring -mbx I L Mari (East Sepik Province) -mby I L Memoni -mbz I L Amoltepec Mixtec -mca I L Maca -mcb I L Machiguenga -mcc I L Bitur -mcd I L Sharanahua -mce I L Itundujia Mixtec -mcf I L Matsés -mcg I L Mapoyo -mch I L Maquiritari -mci I L Mese -mcj I L Mvanip -mck I L Mbunda -mcl I E Macaguaje -mcm I L Malaccan Creole Portuguese -mcn I L Masana -mco I L Coatlán Mixe -mcp I L Makaa -mcq I L Ese -mcr I L Menya -mcs I L Mambai -mct I L Mengisa -mcu I L Cameroon Mambila -mcv I L Minanibai -mcw I L Mawa (Chad) -mcx I L Mpiemo -mcy I L South Watut -mcz I L Mawan -mda I L Mada (Nigeria) -mdb I L Morigi -mdc I L Male (Papua New Guinea) -mdd I L Mbum -mde I L Maba (Chad) -mdf mdf mdf I L Moksha -mdg I L Massalat -mdh I L Maguindanao -mdi I L Mamvu -mdj I L Mangbetu -mdk I L Mangbutu -mdl I L Maltese Sign Language -mdm I L Mayogo -mdn I L Mbati -mdo I L Southwest Gbaya -mdp I L Mbala -mdq I L Mbole -mdr mdr mdr I L Mandar -mds I L Maria (Papua New Guinea) -mdt I L Mbere -mdu I L Mboko -mdv I L Santa Lucía Monteverde Mixtec -mdw I L Mbosi -mdx I L Dizi -mdy I L Male (Ethiopia) -mdz I L Suruí Do Pará -mea I L Menka -meb I L Ikobi-Mena -mec I L Mara -med I L Melpa -mee I L Mengen -mef I L Megam -meg I L Mea -meh I L Southwestern Tlaxiaco Mixtec -mei I L Midob -mej I L Meyah -mek I L Mekeo -mel I L Melanau -mem I E Mangala -men men men I L Mende (Sierra Leone) -meo I L Kedah Malay -mep I L Miriwung -meq I L Merey -mer I L Meru -mes I L Masmaje -met I L Mato -meu I L Motu -mev I L Mann -mew I L Maaka -mey I L Hassaniyya -mez I L Menominee -mfa I L Pattani Malay -mfb I L Lom -mfc I L Mba -mfd I L Mendankwe-Nkwen -mfe I L Morisyen -mff I L Naki -mfg I L Mixifore -mfh I L Matal -mfi I L Wandala -mfj I L Mefele -mfk I L North Mofu -mfl I L Putai -mfm I L Marghi South -mfn I L Cross River Mbembe -mfo I L Mbe -mfp I L Makassar Malay -mfq I L Moba -mfr I L Marithiel -mfs I L Mexican Sign Language -mft I L Mokerang -mfu I L Mbwela -mfv I L Mandjak -mfw I E Mulaha -mfx I L Melo -mfy I L Mayo -mfz I L Mabaan -mga mga mga I H Middle Irish (900-1200) -mgb I L Mararit -mgc I L Morokodo -mgd I L Moru -mge I L Mango -mgf I L Maklew -mgg I L Mpongmpong -mgh I L Makhuwa-Meetto -mgi I L Lijili -mgj I L Abureni -mgk I L Mawes -mgl I L Maleu-Kilenge -mgm I L Mambae -mgn I L Mbangi -mgo I L Meta' -mgp I L Eastern Magar -mgq I L Malila -mgr I L Mambwe-Lungu -mgs I L Manda (Tanzania) -mgt I L Mongol -mgu I L Mailu -mgv I L Matengo -mgw I L Matumbi -mgx I L Omati -mgy I L Mbunga -mgz I L Mbugwe -mha I L Manda (India) -mhb I L Mahongwe -mhc I L Mocho -mhd I L Mbugu -mhe I L Besisi -mhf I L Mamaa -mhg I L Margu -mhh I L Maskoy Pidgin -mhi I L Ma'di -mhj I L Mogholi -mhk I L Mungaka -mhl I L Mauwake -mhm I L Makhuwa-Moniga -mhn I L Mócheno -mho I L Mashi (Zambia) -mhp I L Balinese Malay -mhq I L Mandan -mhr I L Eastern Mari -mhs I L Buru (Indonesia) -mht I L Mandahuaca -mhu I L Digaro-Mishmi -mhv I L Arakanese -mhw I L Mbukushu -mhx I L Maru -mhy I L Ma'anyan -mhz I L Mor (Mor Islands) -mia I E Miami -mib I L Atatláhuca Mixtec -mic mic mic I L Mi'kmaq -mid I L Mandaic -mie I L Ocotepec Mixtec -mif I L Mofu-Gudur -mig I L San Miguel El Grande Mixtec -mih I L Chayuco Mixtec -mii I L Chigmecatitlán Mixtec -mij I L Abar -mik I L Mikasuki -mil I L Peñoles Mixtec -mim I L Alacatlatzala Mixtec -min min min I L Minangkabau -mio I L Pinotepa Nacional Mixtec -mip I L Apasco-Apoala Mixtec -miq I L Mískito -mir I L Isthmus Mixe -mis mis mis S Uncoded languages -mit I L Southern Puebla Mixtec -miu I L Cacaloxtepec Mixtec -miv I L Mimi -miw I L Akoye -mix I L Mixtepec Mixtec -miy I L Ayutla Mixtec -miz I L Coatzospan Mixtec -mja I L Mahei -mjc I L San Juan Colorado Mixtec -mjd I L Northwest Maidu -mje I E Muskum -mjg I L Tu -mjh I L Mwera (Nyasa) -mji I L Kim Mun -mjj I L Mawak -mjk I L Matukar -mjl I L Mandeali -mjm I L Medebur -mjn I L Ma (Papua New Guinea) -mjo I L Malankuravan -mjp I L Malapandaram -mjq I L Malaryan -mjr I L Malavedan -mjs I L Miship -mjt I L Sauria Paharia -mju I L Manna-Dora -mjv I L Mannan -mjw I L Karbi -mjx I L Mahali -mjy I E Mahican -mjz I L Majhi -mka I L Mbre -mkb I L Mal Paharia -mkc I L Siliput -mkd mac mkd mk I L Macedonian -mke I L Mawchi -mkf I L Miya -mkg I L Mak (China) -mki I L Dhatki -mkj I L Mokilese -mkk I L Byep -mkl I L Mokole -mkm I L Moklen -mkn I L Kupang Malay -mko I L Mingang Doso -mkp I L Moikodi -mkq I E Bay Miwok -mkr I L Malas -mks I L Silacayoapan Mixtec -mkt I L Vamale -mku I L Konyanka Maninka -mkv I L Mafea -mkw I L Kituba (Congo) -mkx I L Cinamiguin Manobo -mky I L East Makian -mkz I L Makasae -mla I L Malo -mlb I L Mbule -mlc I L Cao Lan -mld I L Malakhel -mle I L Manambu -mlf I L Mal -mlg mlg mlg mg M L Malagasy -mlh I L Mape -mli I L Malimpung -mlj I L Miltu -mlk I L Ilwana -mll I L Malua Bay -mlm I L Mulam -mln I L Malango -mlo I L Mlomp -mlp I L Bargam -mlq I L Western Maninkakan -mlr I L Vame -mls I L Masalit -mlt mlt mlt mt I L Maltese -mlu I L To'abaita -mlv I L Motlav -mlw I L Moloko -mlx I L Malfaxal -mly I L Malay (individual language) -mlz I L Malaynon -mma I L Mama -mmb I L Momina -mmc I L Michoacán Mazahua -mmd I L Maonan -mme I L Mae -mmf I L Mundat -mmg I L North Ambrym -mmh I L Mehináku -mmi I L Musar -mmj I L Majhwar -mmk I L Mukha-Dora -mml I L Man Met -mmm I L Maii -mmn I L Mamanwa -mmo I L Mangga Buang -mmp I L Musan -mmq I L Musak -mmr I L Western Xiangxi Hmong -mms I L Southern Mam -mmt I L Malalamai -mmu I L Mmaala -mmv I E Miriti -mmw I L Emae -mmx I L Madak -mmy I L Migaama -mmz I L Mabaale -mna I L Mbula -mnb I L Muna -mnc mnc mnc I L Manchu -mnd I L Mondé -mne I L Naba -mnf I L Mundani -mng I L Eastern Mnong -mnh I L Mono (Democratic Republic of Congo) -mni mni mni I L Manipuri -mnj I L Munji -mnk I L Mandinka -mnl I L Tiale -mnm I L Mapena -mnn I L Southern Mnong -mnp I L Min Bei Chinese -mnq I L Minriq -mnr I L Mono (USA) -mns I L Mansi -mnt I E Maykulan -mnu I L Mer -mnv I L Rennell-Belona -mnw I L Mon -mnx I L Manikion -mny I L Manyawa -mnz I L Moni -moa I L Mwan -moc I L Mocoví -mod I E Mobilian -moe I L Montagnais -mof I E Mohegan-Montauk-Narragansett -mog I L Mongondow -moh moh moh I L Mohawk -moi I L Mboi -moj I L Monzombo -mok I L Morori -mol mol mol mo I L Moldavian -mom I E Monimbo -mon mon mon mn M L Mongolian -moo I L Monom -mop I L Mopán Maya -moq I L Mor (Bomberai Peninsula) -mor I L Moro -mos mos mos I L Mossi -mot I L Barí -mou I L Mogum -mov I L Mohave -mow I L Moi (Congo) -mox I L Molima -moy I L Shekkacho -moz I L Mukulu -mpa I L Mpoto -mpb I L Mullukmulluk -mpc I L Mangarayi -mpd I L Machinere -mpe I L Majang -mpf I L Tajumulco Mam -mpg I L Marba -mph I L Maung -mpi I L Mpade -mpj I L Martu Wangka -mpk I L Mbara (Chad) -mpl I L Middle Watut -mpm I L Yosondúa Mixtec -mpn I L Mindiri -mpo I L Miu -mpp I L Migabac -mpq I L Matís -mpr I L Vangunu -mps I L Dadibi -mpt I L Mian -mpu I L Makuráp -mpv I L Mungkip -mpw I L Mapidian -mpx I L Misima-Paneati -mpy I L Mapia -mpz I L Mpi -mqa I L Maba (Indonesia) -mqb I L Mbuko -mqc I L Mangole -mqd I L Madang -mqe I L Matepi -mqf I L Momuna -mqg I L Kota Bangun Kutai Malay -mqh I L Tlazoyaltepec Mixtec -mqi I L Mariri -mqj I L Mamasa -mqk I L Rajah Kabunsuwan Manobo -mql I L Mbelime -mqm I L South Marquesan -mqn I L Moronene -mqo I L Modole -mqp I L Manipa -mqq I L Minokok -mqr I L Mander -mqs I L West Makian -mqt I L Mok -mqu I L Mandari -mqv I L Mosimo -mqw I L Murupi -mqx I L Mamuju -mqy I L Manggarai -mqz I L Malasanga -mra I L Mlabri -mrb I L Marino -mrc I L Maricopa -mrd I L Western Magar -mre I E Martha's Vineyard Sign Language -mrf I L Elseng -mrg I L Miri -mrh I L Mara Chin -mri mao mri mi I L Maori -mrj I L Western Mari -mrk I L Hmwaveke -mrl I L Mortlockese -mrm I L Merlav -mrn I L Cheke Holo -mro I L Mru -mrp I L Morouas -mrq I L North Marquesan -mrr I L Maria (India) -mrs I L Maragus -mrt I L Marghi Central -mru I L Mono (Cameroon) -mrv I L Mangareva -mrw I L Maranao -mrx I L Maremgi -mry I L Karaga Mandaya -mrz I L Marind -msa may msa ms M L Malay (macrolanguage) -msb I L Masbatenyo -msc I L Sankaran Maninka -msd I L Yucatec Maya Sign Language -mse I L Musey -msf I L Mekwei -msg I L Moraid -msh I L Masikoro Malagasy -msi I L Sabah Malay -msj I L Ma (Democratic Republic of Congo) -msk I L Mansaka -msl I L Molof -msm I L Agusan Manobo -msn I L Mosina -mso I L Mombum -msp I E Maritsauá -msq I L Caac -msr I L Mongolian Sign Language -mss I L West Masela -mst I L Cataelano Mandaya -msu I L Musom -msv I L Maslam -msw I L Mansoanka -msx I L Moresada -msy I L Aruamu -msz I L Momare -mta I L Cotabato Manobo -mtb I L Anyin Morofo -mtc I L Munit -mtd I L Mualang -mte I L Mono (Solomon Islands) -mtf I L Murik -mtg I L Una -mth I L Munggui -mti I L Maiwa (Papua New Guinea) -mtj I L Moskona -mtk I L Mbe' -mtl I L Montol -mtm I E Mator -mtn I E Matagalpa -mto I L Totontepec Mixe -mtp I L Wichí Lhamtés Nocten -mtq I L Muong -mtr I L Mewari -mts I L Yora -mtt I L Mota -mtu I L Tututepec Mixtec -mtv I L Asaro'o -mtw I L Magahat -mtx I L Tidaá Mixtec -mty I L Nabi -mtz I L Tacanec -mua I L Mundang -mub I L Mubi -muc I L Mbu' -mud I L Mednyj Aleut -mue I L Media Lengua -mug I L Musgu -muh I L Mündü -mui I L Musi -muj I L Mabire -muk I L Mugom -mul mul mul S S Multiple languages -mum I L Maiwala -muo I L Nyong -mup I L Malvi -muq I L Eastern Xiangxi Hmong -mur I L Murle -mus mus mus I L Creek -mut I L Western Muria -muu I L Yaaku -muv I L Muthuvan -muw I L Mundari -mux I L Bo-Ung -muy I L Muyang -muz I L Mursi -mva I L Manam -mvb I E Mattole -mvc I L Central Mam -mvd I L Mamboru -mve I L Marwari (Pakistan) -mvf I L Peripheral Mongolian -mvg I L Yucuañe Mixtec -mvh I L Mire -mvi I L Miyako -mvj I L Todos Santos Cuchumatán Mam -mvk I L Mekmek -mvl I E Mbara (Australia) -mvm I L Muya -mvn I L Minaveha -mvo I L Marovo -mvp I L Duri -mvq I L Moere -mvr I L Marau -mvs I L Massep -mvt I L Mpotovoro -mvu I L Marfa -mvv I L Tagal Murut -mvw I L Machinga -mvx I L Meoswar -mvy I L Indus Kohistani -mvz I L Mesqan -mwa I L Mwatebu -mwb I L Juwal -mwc I L Are -mwd I L Mudbura -mwe I L Mwera (Chimwera) -mwf I L Murrinh-Patha -mwg I L Aiklep -mwh I L Mouk-Aria -mwi I L Labo -mwj I L Maligo -mwk I L Kita Maninkakan -mwl mwl mwl I L Mirandese -mwm I L Sar -mwn I L Nyamwanga -mwo I L Central Maewo -mwp I L Kala Lagaw Ya -mwq I L Mün Chin -mwr mwr mwr M L Marwari -mws I L Mwimbi-Muthambi -mwt I L Moken -mwu I E Mittu -mwv I L Mentawai -mww I L Hmong Daw -mwx I L Mediak -mwy I L Mosiro -mwz I L Moingi -mxa I L Northwest Oaxaca Mixtec -mxb I L Tezoatlán Mixtec -mxc I L Manyika -mxd I L Modang -mxe I L Mele-Fila -mxf I L Malgbe -mxg I L Mbangala -mxh I L Mvuba -mxi I E Mozarabic -mxj I L Miju-Mishmi -mxk I L Monumbo -mxl I L Maxi Gbe -mxm I L Meramera -mxn I L Moi (Indonesia) -mxo I L Mbowe -mxp I L Tlahuitoltepec Mixe -mxq I L Juquila Mixe -mxr I L Murik Kayan -mxs I L Huitepec Mixtec -mxt I L Jamiltepec Mixtec -mxu I L Mada (Cameroon) -mxv I L Metlatónoc Mixtec -mxw I L Namo -mxx I L Mahou -mxy I L Southeastern Nochixtlán Mixtec -mxz I L Central Masela -mya bur mya my I L Burmese -myb I L Mbay -myc I L Mayeka -myd I L Maramba -mye I L Myene -myf I L Bambassi -myg I L Manta -myh I E Makah -myi I L Mina (India) -myj I L Mangayat -myk I L Mamara Senoufo -myl I L Moma -mym I L Me'en -myo I L Anfillo -myp I L Pirahã -myq I L Forest Maninka -myr I L Muniche -mys I E Mesmes -myt I L Sangab Mandaya -myu I L Mundurukú -myv myv myv I L Erzya -myw I L Muyuw -myx I L Masaba -myy I L Macuna -myz I H Classical Mandaic -mza I L Santa María Zacatepec Mixtec -mzb I L Tumzabt -mzc I L Madagascar Sign Language -mzd I L Malimba -mze I L Morawa -mzg I L Monastic Sign Language -mzh I L Wichí Lhamtés Güisnay -mzi I L Ixcatlán Mazatec -mzj I L Manya -mzk I L Nigeria Mambila -mzl I L Mazatlán Mixe -mzm I L Mumuye -mzn I L Mazanderani -mzo I E Matipuhy -mzp I L Movima -mzq I L Mori Atas -mzr I L Marúbo -mzs I L Macanese -mzt I L Mintil -mzu I L Inapang -mzv I L Manza -mzw I L Deg -mzx I L Mawayana -mzy I L Mozambican Sign Language -mzz I L Maiadomu -naa I L Namla -nab I L Southern Nambikuára -nac I L Narak -nad I L Nijadali -nae I L Naka'ela -naf I L Nabak -nag I L Naga Pidgin -naj I L Nalu -nak I L Nakanai -nal I L Nalik -nam I L Nangikurrunggurr -nan I L Min Nan Chinese -nao I L Naaba -nap nap nap I L Neapolitan -naq I L Nama (Namibia) -nar I L Iguta -nas I L Naasioi -nat I L Hungworo -nau nau nau na I L Nauru -nav nav nav nv I L Navajo -naw I L Nawuri -nax I L Nakwi -nay I E Narrinyeri -naz I L Coatepec Nahuatl -nba I L Nyemba -nbb I L Ndoe -nbc I L Chang Naga -nbd I L Ngbinda -nbe I L Konyak Naga -nbf I L Naxi -nbg I L Nagarchal -nbh I L Ngamo -nbi I L Mao Naga -nbj I L Ngarinman -nbk I L Nake -nbl nbl nbl nr I L South Ndebele -nbm I L Ngbaka Ma'bo -nbn I L Kuri -nbo I L Nkukoli -nbp I L Nnam -nbq I L Nggem -nbr I L Numana-Nunku-Gbantu-Numbu -nbs I L Namibian Sign Language -nbt I L Na -nbu I L Rongmei Naga -nbv I L Ngamambo -nbw I L Southern Ngbandi -nbx I L Ngura -nby I L Ningera -nca I L Iyo -ncb I L Central Nicobarese -ncc I L Ponam -ncd I L Nachering -nce I L Yale -ncf I L Notsi -ncg I L Nisga'a -nch I L Central Huasteca Nahuatl -nci I H Classical Nahuatl -ncj I L Northern Puebla Nahuatl -nck I L Nakara -ncl I L Michoacán Nahuatl -ncm I L Nambo -ncn I L Nauna -nco I L Sibe -ncp I L Ndaktup -ncr I L Ncane -ncs I L Nicaraguan Sign Language -nct I L Chothe Naga -ncu I L Chumburung -ncx I L Central Puebla Nahuatl -ncz I E Natchez -nda I L Ndasa -ndb I L Kenswei Nsei -ndc I L Ndau -ndd I L Nde-Nsele-Nta -nde nde nde nd I L North Ndebele -ndf I E Nadruvian -ndg I L Ndengereko -ndh I L Ndali -ndi I L Samba Leko -ndj I L Ndamba -ndk I L Ndaka -ndl I L Ndolo -ndm I L Ndam -ndn I L Ngundi -ndo ndo ndo ng I L Ndonga -ndp I L Ndo -ndq I L Ndombe -ndr I L Ndoola -nds nds nds I L Low German -ndt I L Ndunga -ndu I L Dugun -ndv I L Ndut -ndw I L Ndobo -ndx I L Nduga -ndy I L Lutos -ndz I L Ndogo -nea I L Eastern Ngad'a -neb I L Toura (Côte d'Ivoire) -nec I L Nedebang -ned I L Nde-Gbite -nee I L Kumak -nef I L Nefamese -neg I L Negidal -neh I L Nyenkha -nei I A Neo-Hittite -nej I L Neko -nek I L Neku -nem I L Nemi -nen I L Nengone -neo I L Ná-Meo -nep nep nep ne I L Nepali -neq I L North Central Mixe -ner I L Yahadian -nes I L Bhoti Kinnauri -net I L Nete -nev I L Nyaheun -new new new I L Newari -nex I L Neme -ney I L Neyo -nez I L Nez Perce -nfa I L Dhao -nfd I L Ndun -nfg I L Nyeng -nfk I L Shakara -nfl I L Ayiwo -nfr I L Nafaanra -nfu I L Mfumte -nga I L Ngbaka -ngb I L Northern Ngbandi -ngc I L Ngombe (Democratic Republic of Congo) -ngd I L Ngando (Central African Republic) -nge I L Ngemba -ngg I L Ngbaka Manza -ngh I L N/u -ngi I L Ngizim -ngj I L Ngie -ngk I L Ngalkbun -ngl I L Lomwe -ngm I L Ngatik Men's Creole -ngn I L Ngwo -ngo I L Ngoni -ngp I L Ngulu -ngq I L Ngurimi -ngr I L Nanggu -ngs I L Gvoko -ngt I L Ngeq -ngu I L Guerrero Nahuatl -ngv I E Nagumi -ngw I L Ngwaba -ngx I L Nggwahyi -ngy I L Tibea -ngz I L Ngungwel -nha I L Nhanda -nhb I L Beng -nhc I E Tabasco Nahuatl -nhd I L Chiripá -nhe I L Eastern Huasteca Nahuatl -nhf I L Nhuwala -nhg I L Tetelcingo Nahuatl -nhh I L Nahari -nhi I L Zacatlán-Ahuacatlán-Tepetzintla Nahuatl -nhk I L Isthmus-Cosoleacaque Nahuatl -nhm I L Morelos Nahuatl -nhn I L Central Nahuatl -nho I L Takuu -nhp I L Isthmus-Pajapan Nahuatl -nhq I L Huaxcaleca Nahuatl -nhr I L Naro -nht I L Ometepec Nahuatl -nhu I L Noone -nhv I L Temascaltepec Nahuatl -nhw I L Western Huasteca Nahuatl -nhx I L Isthmus-Mecayapan Nahuatl -nhy I L Northern Oaxaca Nahuatl -nhz I L Santa María La Alta Nahuatl -nia nia nia I L Nias -nib I L Nakama -nid I E Ngandi -nie I L Niellim -nif I L Nek -nig I L Ngalakan -nih I L Nyiha -nii I L Nii -nij I L Ngaju -nik I L Southern Nicobarese -nil I L Nila -nim I L Nilamba -nin I L Ninzo -nio I L Nganasan -nir I L Nimboran -nis I L Nimi -nit I L Southeastern Kolami -niu niu niu I L Niuean -niv I L Gilyak -niw I L Nimo -nix I L Hema -niy I L Ngiti -niz I L Ningil -nja I L Nzanyi -njb I L Nocte Naga -njd I L Ndonde Hamba -njh I L Lotha Naga -nji I L Gudanji -njj I L Njen -njl I L Njalgulgule -njm I L Angami Naga -njn I L Liangmai Naga -njo I L Ao Naga -njr I L Njerep -njs I L Nisa -njt I L Ndyuka-Trio Pidgin -nju I L Ngadjunmaya -njx I L Kunyi -njy I L Njyem -nka I L Nkoya -nkb I L Khoibu Naga -nkc I L Nkongho -nkd I L Koireng -nke I L Duke -nkf I L Inpui Naga -nkg I L Nekgini -nkh I L Khezha Naga -nki I L Thangal Naga -nkj I L Nakai -nkk I L Nokuku -nkm I L Namat -nkn I L Nkangala -nko I L Nkonya -nkp I E Niuatoputapu -nkr I L Nukuoro -nks I L North Asmat -nku I L Bouna Kulango -nkw I L Nkutu -nkx I L Nkoroo -nky I L Khiamniungan Naga -nkz I L Nkari -nla I L Ngombale -nlc I L Nalca -nld dut nld nl I L Dutch -nle I L East Nyala -nlg I L Gela -nli I L Grangali -nlj I L Nyali -nlk I L Ninia Yali -nll I L Nihali -nln I L Durango Nahuatl -nlo I L Ngul -nlr I L Ngarla -nlu I L Nchumbulu -nlv I L Orizaba Nahuatl -nlx I L Nahali -nly I L Nyamal -nma I L Maram Naga -nmb I L Big Nambas -nmc I L Ngam -nmd I L Ndumu -nme I L Mzieme Naga -nmf I L Tangkhul Naga -nmg I L Ngumba -nmh I L Monsang Naga -nmi I L Nyam -nmj I L Ngombe (Central African Republic) -nmk I L Namakura -nml I L Ndemli -nmm I L Manangba -nmn I L !Xóõ -nmo I L Moyon Naga -nmp I L Nimanbur -nmq I L Nambya -nmr I L Nimbari -nms I L Letemboi -nmt I L Namonuito -nmu I L Northeast Maidu -nmv I L Ngamini -nmw I L Nimoa -nmx I L Nama (Papua New Guinea) -nmy I L Namuyi -nmz I L Nawdm -nna I L Nyangumarta -nnb I L Nande -nnc I L Nancere -nnd I L West Ambae -nne I L Ngandyera -nnf I L Ngaing -nng I L Maring Naga -nnh I L Ngiemboon -nni I L North Nuaulu -nnj I L Nyangatom -nnk I L Nankina -nnl I L Northern Rengma Naga -nnm I L Namia -nnn I L Ngete -nno nno nno nn I L Norwegian Nynorsk -nnp I L Wancho Naga -nnq I L Ngindo -nnr I E Narungga -nns I L Ningye -nnt I E Nanticoke -nnu I L Dwang -nnv I E Nugunu (Australia) -nnw I L Southern Nuni -nnx I L Ngong -nny I L Nyangga -nnz I L Nda'nda' -noa I L Woun Meu -nob nob nob nb I L Norwegian Bokmål -noc I L Nuk -nod I L Northern Thai -noe I L Nimadi -nof I L Nomane -nog nog nog I L Nogai -noh I L Nomu -noi I L Noiri -nok I E Nooksack -nom I E Nocamán -non non non I H Old Norse -noo I L Nootka -nop I L Numanggang -noq I L Ngongo -nor nor nor no M L Norwegian -nos I L Southern Yi -not I L Nomatsiguenga -nou I L Ewage-Notu -nov I C Novial -now I L Nyambo -noy I L Noy -noz I L Nayi -npa I L Nar Phu -npb I L Nupbikha -nph I L Phom Naga -npl I L Southeastern Puebla Nahuatl -npn I L Mondropolon -npo I L Pochuri Naga -nps I L Nipsan -npu I L Puimei Naga -npy I L Napu -nqg I L Ede Nago -nqk I L Kura Ede Nago -nqm I L Ndom -nqn I L Nen -nqo nqo nqo I L N'Ko -nra I L Ngom -nrb I L Nara -nrc I A Noric -nre I L Southern Rengma Naga -nrg I L Narango -nri I L Chokri Naga -nrl I L Ngarluma -nrm I L Narom -nrn I E Norn -nrp I A North Picene -nrr I L Norra -nrt I E Northern Kalapuya -nrx I L Ngurmbur -nrz I L Lala -nsa I L Sangtam Naga -nsc I L Nshi -nse I L Nsenga -nsg I L Ngasa -nsh I L Ngoshie -nsi I L Nigerian Sign Language -nsk I L Naskapi -nsl I L Norwegian Sign Language -nsm I L Sumi Naga -nsn I L Nehan -nso nso nso I L Pedi -nsp I L Nepalese Sign Language -nsq I L Northern Sierra Miwok -nsr I L Maritime Sign Language -nss I L Nali -nst I L Tase Naga -nsu I L Sierra Negra Nahuatl -nsw I L Navut -nsx I L Nsongo -nsz I L Nisenan -nte I L Nathembo -nti I L Natioro -ntj I L Ngaanyatjarra -ntk I L Ikoma -ntm I L Nateni -nto I L Ntomba -ntp I L Northern Tepehuan -ntr I L Delo -nts I E Natagaimas -ntw I E Nottoway -nty I L Mantsi -ntz I L Natanzi -nua I L Yuaga -nuc I E Nukuini -nud I L Ngala -nue I L Ngundu -nuf I L Nusu -nug I L Nungali -nuh I L Ndunda -nui I L Ngumbi -nuj I L Nyole -nul I L Nusa Laut -num I L Niuafo'ou -nun I L Nung (Myanmar) -nuo I L Nguôn -nup I L Nupe-Nupe-Tako -nuq I L Nukumanu -nur I L Nukuria -nus I L Nuer -nut I L Nung (Viet Nam) -nuu I L Ngbundu -nuv I L Northern Nuni -nuw I L Nguluwan -nux I L Mehek -nuy I L Nunggubuyu -nuz I L Tlamacazapa Nahuatl -nvh I L Nasarian -nvm I L Namiae -nwa I E Nawathinehena -nwb I L Nyabwa -nwc nwc nwc I H Classical Newari -nwe I L Ngwe -nwi I L Southwest Tanna -nwm I L Nyamusa-Molo -nwr I L Nawaru -nwx I H Middle Newar -nwy I E Nottoway-Meherrin -nxa I L Nauete -nxd I L Ngando (Democratic Republic of Congo) -nxe I L Nage -nxg I L Ngad'a -nxi I L Nindi -nxj I L Nyadu -nxl I L South Nuaulu -nxm I A Numidian -nxn I L Ngawun -nxr I L Ninggerum -nxu I L Narau -nxx I L Nafri -nya nya nya ny I L Nyanja -nyb I L Nyangbo -nyc I L Nyanga-li -nyd I L Nyore -nye I L Nyengo -nyf I L Giryama -nyg I L Nyindu -nyh I L Nyigina -nyi I L Ama (Sudan) -nyj I L Nyanga -nyk I L Nyaneka -nyl I L Nyeu -nym nym nym I L Nyamwezi -nyn nyn nyn I L Nyankole -nyo nyo nyo I L Nyoro -nyp I E Nyang'i -nyq I L Nayini -nys I E Nyunga -nyt I L Nyawaygi -nyu I L Nyungwe -nyv I L Nyulnyul -nyw I L Nyaw -nyx I E Nganyaywana -nyy I L Nyakyusa-Ngonde -nza I L Tigon Mbembe -nzb I L Njebi -nzi nzi nzi I L Nzima -nzk I L Nzakara -nzm I L Zeme Naga -nzs I L New Zealand Sign Language -nzu I L Teke-Nzikou -nzy I L Nzakambay -oaa I L Orok -oac I L Oroch -oar I A Old Aramaic (up to 700 BCE) -oav I H Old Avar -obi I E Obispeño -obl I L Oblo -obm I A Moabite -obo I L Obo Manobo -obr I H Old Burmese -obt I H Old Breton -obu I L Obulom -oca I L Ocaina -och I A Old Chinese -oci oci oci oc I L Occitan (post 1500) -oco I H Old Cornish -ocu I L Atzingo Matlatzinca -oda I L Odut -odk I L Od -odt I H Old Dutch -odu I L Odual -ofo I E Ofo -ofs I H Old Frisian -ofu I L Efutop -ogb I L Ogbia -ogc I L Ogbah -oge I H Old Georgian -ogg I L Ogbogolo -ogn I L Ogan -ogo I L Khana -ogu I L Ogbronuagum -oht I A Old Hittite -ohu I H Old Hungarian -oia I L Oirata -oin I L Inebu One -ojb I L Northwestern Ojibwa -ojc I L Central Ojibwa -ojg I L Eastern Ojibwa -oji oji oji oj M L Ojibwa -ojp I H Old Japanese -ojs I L Severn Ojibwa -ojv I L Ontong Java -ojw I L Western Ojibwa -oka I L Okanagan -okb I L Okobo -okd I L Okodia -oke I L Okpe (Southwestern Edo) -okh I L Koresh-e Rostam -oki I L Okiek -okj I E Oko-Juwoi -okk I L Kwamtim One -okl I E Old Kentish Sign Language -okm I H Middle Korean (10th - 16th cent.) -okn I L Oki-No-Erabu -oko I H Old Korean (3rd - 9th cent.) -okr I L Kirike -oks I L Oko-Eni-Osayen -oku I L Oku -okx I L Okpe (Northwestern Edo) -ola I L Walungge -old I L Mochi -ole I L Olekha -olm I L Oloma -olo I L Livvi -oma I L Omaha-Ponca -omb I L East Ambae -omc I E Mochica -ome I E Omejes -omg I L Omagua -omi I L Omi -omk I E Omok -oml I L Ombo -omn I A Minoan -omo I L Utarmbung -omp I H Old Manipuri -omr I H Old Marathi -omt I L Omotik -omu I E Omurano -omw I L South Tairora -omx I H Old Mon -ona I L Ona -onb I L Lingao -one I L Oneida -ong I L Olo -oni I L Onin -onj I L Onjob -onk I L Kabore One -onn I L Onobasulu -ono I L Onondaga -onp I L Sartang -onr I L Northern One -ons I L Ono -ont I L Ontenu -onu I L Unua -onw I H Old Nubian -onx I L Onin Based Pidgin -ood I L Tohono O'odham -oog I L Ong -oon I L Önge -oor I L Oorlams -oos I A Old Ossetic -opa I L Okpamheri -ope I A Old Persian -opk I L Kopkaka -opm I L Oksapmin -opo I L Opao -opt I L Opata -opy I L Ofayé -ora I L Oroha -orc I L Orma -ore I L Orejón -org I L Oring -orh I L Oroqen -ori ori ori or I L Oriya -ork I L Orokaiva -orm orm orm om M L Oromo -orn I L Orang Kanaq -oro I L Orokolo -orr I L Oruma -ors I L Orang Seletar -ort I L Adivasi Oriya -oru I L Ormuri -orv I H Old Russian -orw I L Oro Win -orx I L Oro -orz I L Ormu -osa osa osa I L Osage -osc I A Oscan -osi I L Osing -oso I L Ososo -osp I H Old Spanish -oss oss oss os I L Ossetian -ost I L Osatu -osu I L Southern One -osx I H Old Saxon -ota ota ota I H Ottoman Turkish (1500-1928) -otb I H Old Tibetan -otd I L Dohoi -ote I L Mezquital Otomi -oti I E Oti -otk I H Old Turkish -otl I L Tilapa Otomi -otm I L Eastern Highland Otomi -otn I L Tenango Otomi -otq I L Querétaro Otomi -otr I L Otoro -ots I L Estado de México Otomi -ott I L Temoaya Otomi -otu I E Otuke -otw I L Ottawa -otx I L Texcatepec Otomi -oty I A Old Tamil -otz I L Ixtenco Otomi -oua I L Tagargrent -oub I L Glio-Oubi -oue I L Oune -oui I H Old Uighur -oum I E Ouma -oun I L !O!ung -owi I L Owiniga -owl I H Old Welsh -oyb I L Oy -oyd I L Oyda -oym I L Wayampi -oyy I L Oya'oya -ozm I L Koonzime -pab I L Parecís -pac I L Pacoh -pad I L Paumarí -pae I L Pagibete -paf I E Paranawát -pag pag pag I L Pangasinan -pah I L Tenharim -pai I L Pe -paj I L Ipeka-Tapuia -pak I L Parakanã -pal pal pal I A Pahlavi -pam pam pam I L Pampanga -pan pan pan pa I L Panjabi -pao I L Northern Paiute -pap pap pap I L Papiamento -paq I L Parya -par I L Panamint -pas I L Papasena -pat I L Papitalai -pau pau pau I L Palauan -pav I L Pakaásnovos -paw I L Pawnee -pax I E Pankararé -pay I L Pech -paz I E Pankararú -pbb I L Páez -pbc I L Patamona -pbe I L Mezontla Popoloca -pbf I L Coyotepec Popoloca -pbg I E Paraujano -pbh I L E'ñapa Woromaipu -pbi I L Parkwa -pbl I L Mak (Nigeria) -pbn I L Kpasam -pbo I L Papel -pbp I L Badyara -pbr I L Pangwa -pbs I L Central Pame -pbt I L Southern Pashto -pbu I L Northern Pashto -pbv I L Pnar -pby I L Pyu -pbz I L Palu -pca I L Santa Inés Ahuatempan Popoloca -pcb I L Pear -pcc I L Bouyei -pcd I L Picard -pce I L Pale Palaung -pcf I L Paliyan -pcg I L Paniya -pch I L Pardhan -pci I L Duruwa -pcj I L Parenga -pck I L Paite Chin -pcl I L Pardhi -pcm I L Nigerian Pidgin -pcn I L Piti -pcp I L Pacahuara -pcr I L Panang -pcw I L Pyapun -pda I L Anam -pdc I L Pennsylvania German -pdi I L Pa Di -pdn I L Podena -pdo I L Padoe -pdt I L Plautdietsch -pdu I L Kayan -pea I L Peranakan Indonesian -peb I E Eastern Pomo -pec I L Southern Pesisir -ped I L Mala (Papua New Guinea) -pee I L Taje -pef I E Northeastern Pomo -peg I L Pengo -peh I L Bonan -pei I L Chichimeca-Jonaz -pej I E Northern Pomo -pek I L Penchal -pel I L Pekal -pem I L Phende -pen I L Penesak -peo peo peo I H Old Persian (ca. 600-400 B.C.) -pep I L Kunja -peq I L Southern Pomo -pes I L Western Farsi -pev I L Pémono -pex I L Petats -pey I L Petjo -pez I L Eastern Penan -pfa I L Pááfang -pfe I L Peere -pfl I L Pfaelzisch -pga I L Sudanese Creole Arabic -pgg I L Pangwali -pgi I L Pagi -pgk I L Rerep -pgn I A Paelignian -pgs I L Pangseng -pgu I L Pagu -pgy I L Pongyong -pha I L Pa-Hng -phd I L Phudagi -phg I L Phuong -phh I L Phula -phk I L Phake -phl I L Phalura -phm I L Phimbi -phn phn phn I A Phoenician -pho I L Phunoi -phq I L Phana' -phr I L Pahari-Potwari -pht I L Phu Thai -phu I L Phuan -phv I L Pahlavani -phw I L Phangduwali -pia I L Pima Bajo -pib I L Yine -pic I L Pinji -pid I L Piaroa -pie I E Piro -pif I L Pingelapese -pig I L Pisabo -pih I L Pitcairn-Norfolk -pii I L Pini -pij I E Pijao -pil I L Yom -pim I E Powhatan -pin I L Piame -pio I L Piapoco -pip I L Pero -pir I L Piratapuyo -pis I L Pijin -pit I L Pitta Pitta -piu I L Pintupi-Luritja -piv I L Pileni -piw I L Pimbwe -pix I L Piu -piy I L Piya-Kwonci -piz I L Pije -pjt I L Pitjantjatjara -pka I H Ardhamāgadhī Prākrit -pkb I L Upper Pokomo -pkc I E Paekche -pkg I L Pak-Tong -pkh I L Pankhu -pkn I L Pakanha -pko I L Pökoot -pkp I L Pukapuka -pkr I L Attapady Kurumba -pks I L Pakistan Sign Language -pkt I L Maleng -pku I L Paku -pla I L Miani -plb I L Polonombauk -plc I L Central Palawano -pld I L Polari -ple I L Palu'e -plg I L Pilagá -plh I L Paulohi -pli pli pli pi I A Pali -plj I L Polci -plk I L Kohistani Shina -pll I L Shwe Palaung -plm I L Palembang -pln I L Palenquero -plo I L Oluta Popoluca -plp I L Palpa -plq I A Palaic -plr I L Palaka Senoufo -pls I L San Marcos Tlalcoyalco Popoloca -plt I L Plateau Malagasy -plu I L Palikúr -plv I L Southwest Palawano -plw I L Brooke's Point Palawano -ply I L Bolyu -plz I L Paluan -pma I L Paama -pmb I L Pambia -pmc I E Palumata -pme I L Pwaamei -pmh I H Māhārāṣṭri Prākrit -pmi I L Northern Pumi -pmj I L Southern Pumi -pmk I E Pamlico -pml I E Lingua Franca -pmm I L Pomo -pmn I L Pam -pmo I L Pom -pmq I L Northern Pame -pmr I L Paynamar -pms I L Piemontese -pmt I L Tuamotuan -pmu I L Mirpur Panjabi -pmw I L Plains Miwok -pmx I L Poumei Naga -pmz I E Southern Pame -pna I L Punan Bah-Biau -pnb I L Western Panjabi -pnc I L Pannei -pne I L Western Penan -png I L Pongu -pnh I L Penrhyn -pni I L Aoheng -pnm I L Punan Batu 1 -pnn I L Pinai-Hagahai -pno I E Panobo -pnp I L Pancana -pnq I L Pana (Burkina Faso) -pnr I L Panim -pns I L Ponosakan -pnt I L Pontic -pnu I L Jiongnai Bunu -pnv I L Pinigura -pnw I L Panytyima -pnx I L Phong-Kniang -pny I L Pinyin -pnz I L Pana (Central African Republic) -poa I L Eastern Pokomam -pob I L Western Pokomchí -poc I L Central Pokomam -pod I E Ponares -poe I L San Juan Atzingo Popoloca -pof I L Poke -pog I E Potiguára -poh I L Eastern Pokomchí -poi I L Highland Popoluca -poj I L Lower Pokomo -pok I L Pokangá -pol pol pol pl I L Polish -pom I L Southeastern Pomo -pon pon pon I L Pohnpeian -poo I L Central Pomo -pop I L Pwapwa -poq I L Texistepec Popoluca -por por por pt I L Portuguese -pos I L Sayula Popoluca -pot I L Potawatomi -pou I L Southern Pokomam -pov I L Upper Guinea Crioulo -pow I L San Felipe Otlaltepec Popoloca -pox I E Polabian -poy I L Pogolo -ppa I L Pao -ppe I L Papi -ppi I L Paipai -ppk I L Uma -ppl I L Pipil -ppm I L Papuma -ppn I L Papapana -ppo I L Folopa -ppp I L Pelende -ppq I L Pei -ppr I L Piru -pps I L San Luís Temalacayuca Popoloca -ppt I L Pare -ppu I E Papora -ppv I L Papavô -pqa I L Pa'a -pqm I L Malecite-Passamaquoddy -prb I L Lua' -prc I L Parachi -prd I L Parsi-Dari -pre I L Principense -prg I E Prussian -prh I L Porohanon -pri I L Paicî -prk I L Parauk -prl I L Peruvian Sign Language -prm I L Kibiri -prn I L Prasuni -pro pro pro I H Old Provençal (to 1500) -prp I L Parsi -prq I L Ashéninka Perené -prr I E Puri -prs I L Dari -prt I L Phai -pru I L Puragi -prw I L Parawen -prx I L Purik -pry I L Pray 3 -prz I L Providencia Sign Language -psa I L Asue Awyu -psc I L Persian Sign Language -psd I L Plains Indian Sign Language -pse I L Pasemah -psg I L Penang Sign Language -psh I L Southwest Pashayi -psi I L Southeast Pashayi -psl I L Puerto Rican Sign Language -psm I E Pauserna -psn I L Panasuan -pso I L Polish Sign Language -psp I L Philippine Sign Language -psq I L Pasi -psr I L Portuguese Sign Language -pss I L Kaulong -pst I L Central Pashto -psu I H Sauraseni Prākrit -psw I L Port Sandwich -psy I E Piscataway -pta I L Pai Tavytera -pth I E Pataxó Hã-Ha-Hãe -pti I L Pintiini -ptn I L Patani -pto I L Zo'é -ptp I L Patep -ptr I L Piamatsina -ptt I L Enrekang -ptu I L Bambam -ptv I L Port Vato -ptw I E Pentlatch -pty I L Pathiya -pua I L Western Highland Purepecha -pub I L Purum -puc I L Punan Merap -pud I L Punan Aput -pue I L Puelche -puf I L Punan Merah -pug I L Phuie -pui I L Puinave -puj I L Punan Tubu -puk I L Pu Ko -pum I L Puma -pun I L Pubian -puo I L Puoc -pup I L Pulabu -puq I E Puquina -pur I L Puruborá -pus pus pus ps M L Pushto -put I L Putoh -puu I L Punu -puw I L Puluwatese -pux I L Puari -puy I E Purisimeño -puz I L Purum Naga -pwa I L Pawaia -pwb I L Panawa -pwg I L Gapapaiwa -pwm I L Molbog -pwn I L Paiwan -pwo I L Pwo Western Karen -pwr I L Powari -pww I L Pwo Northern Karen -pxm I L Quetzaltepec Mixe -pye I L Pye Krumen -pym I L Fyam -pyn I L Poyanáwa -pyu I L Puyuma -pyx I A Pyu (Myanmar) -pyy I L Pyen -qua I L Quapaw -qub I L Huallaga Huánuco Quechua -quc I L Central Quiché -qud I L Calderón Highland Quichua -que que que qu M L Quechua -quf I L Lambayeque Quechua -qug I L Chimborazo Highland Quichua -quh I L South Bolivian Quechua -qui I L Quileute -quj I L Joyabaj Quiché -quk I L Chachapoyas Quechua -qul I L North Bolivian Quechua -qum I L Sipacapense -qun I E Quinault -qup I L Southern Pastaza Quechua -quq I L Quinqui -qur I L Yanahuanca Pasco Quechua -qus I L Santiago del Estero Quichua -qut I L West Central Quiché -quu I L Eastern Quiché -quv I L Sacapulteco -quw I L Tena Lowland Quichua -qux I L Yauyos Quechua -quy I L Ayacucho Quechua -quz I L Cusco Quechua -qva I L Ambo-Pasco Quechua -qvc I L Cajamarca Quechua -qve I L Eastern Apurímac Quechua -qvh I L Huamalíes-Dos de Mayo Huánuco Quechua -qvi I L Imbabura Highland Quichua -qvj I L Loja Highland Quichua -qvl I L Cajatambo North Lima Quechua -qvm I L Margos-Yarowilca-Lauricocha Quechua -qvn I L North Junín Quechua -qvo I L Napo Lowland Quechua -qvp I L Pacaraos Quechua -qvs I L San Martín Quechua -qvw I L Huaylla Wanca Quechua -qvy I L Queyu -qvz I L Northern Pastaza Quichua -qwa I L Corongo Ancash Quechua -qwc I H Classical Quechua -qwh I L Huaylas Ancash Quechua -qwm I E Kuman (Russia) -qws I L Sihuas Ancash Quechua -qwt I E Kwalhioqua-Tlatskanai -qxa I L Chiquián Ancash Quechua -qxc I L Chincha Quechua -qxh I L Panao Huánuco Quechua -qxi I L San Andrés Quiché -qxl I L Salasaca Highland Quichua -qxn I L Northern Conchucos Ancash Quechua -qxo I L Southern Conchucos Ancash Quechua -qxp I L Puno Quechua -qxq I L Qashqa'i -qxr I L Cañar Highland Quichua -qxs I L Southern Qiang -qxt I L Santa Ana de Tusi Pasco Quechua -qxu I L Arequipa-La Unión Quechua -qxw I L Jauja Wanca Quechua -qya I C Quenya -raa I L Dungmali -rab I L Camling -rac I L Rasawa -rad I L Rade -rae I L Ranau -raf I L Western Meohang -rag I L Logooli -rah I L Rabha -rai I L Ramoaaina -raj raj raj M L Rajasthani -rak I L Tulu-Bohuai -ral I L Ralte -ram I L Canela -ran I L Riantana -rao I L Rao -rap rap rap I L Rapanui -raq I L Saam -rar rar rar I L Rarotongan -ras I L Tegali -rat I L Razajerdi -rau I L Raute -rav I L Sampang -raw I L Rawang -rax I L Rang -ray I L Rapa -raz I L Rahambuu -rbb I L Rumai Palaung -rcf I L Réunion Creole French -rdb I L Rudbari -rea I L Rerau -reb I L Rembong -ree I L Rejang Kayan -reg I L Kara (Tanzania) -rei I L Reli -rej I L Rejang -rel I L Rendille -rem I E Remo -ren I L Rengao -rer I E Rer Bare -res I L Reshe -ret I L Retta -rey I L Reyesano -rga I L Roria -rge I L Romano-Greek -rgk I E Rangkas -rgr I L Resígaro -rgs I L Southern Roglai -rgu I L Ringgou -rhg I L Rohingya -rhp I L Yahang -ria I L Riang (India) -rie I L Rien -rif I L Tarifit -ril I L Riang (Myanmar) -rim I L Nyaturu -rin I L Nungu -rir I L Ribun -rit I L Ritarungo -riu I L Riung -rjb I L Rajbanshi -rjg I L Rajong -rji I L Raji -rka I L Kraol -rkb I L Rikbaktsa -rkh I L Rakahanga-Manihiki -rkm I L Marka -rma I L Rama -rmb I L Rembarunga -rmc I L Carpathian Romani -rmd I L Traveller Danish -rme I L Angloromani -rmf I L Kalo Finnish Romani -rmg I L Traveller Norwegian -rmh I L Murkim -rmi I L Lomavren -rmk I L Romkun -rml I L Baltic Romani -rmm I L Roma -rmn I L Balkan Romani -rmo I L Sinte Romani -rmp I L Rempi -rmr I L Caló -rms I L Romanian Sign Language -rmt I L Domari -rmu I L Tavringer Romani -rmv I C Romanova -rmw I L Welsh Romani -rmx I L Romam -rmy I L Vlax Romani -rna I E Runa -rnd I L Ruund -rng I L Ronga -rnl I L Ranglong -rnn I L Roon -rnp I L Rongpo -rnw I L Rungwa -rob I L Tae' -roc I L Cacgia Roglai -rod I L Rogo -roe I L Ronji -rof I L Rombo -rog I L Northern Roglai -roh roh roh rm I L Romansh -rol I L Romblomanon -rom rom rom M L Romany -ron rum ron ro I L Romanian -roo I L Rotokas -rop I L Kriol -ror I L Rongga -rou I L Runga -row I L Dela-Oenale -rpn I L Repanbitip -rpt I L Rapting -rri I L Ririo -rro I L Waima -rsb I L Romano-Serbian -rsi I L Rennellese Sign Language -rsl I L Russian Sign Language -rth I L Ratahan -rtm I L Rotuman -rtw I L Rathawi -rub I L Gungu -ruc I L Ruuli -rue I L Rusyn -ruf I L Luguru -rug I L Roviana -ruh I L Ruga -rui I L Rufiji -ruk I L Che -run run run rn I L Rundi -ruo I L Istro Romanian -rup rup rup I L Macedo Romanian -ruq I L Megleno Romanian -rus rus rus ru I L Russian -rut I L Rutul -ruu I L Lanas Lobu -ruy I L Mala (Nigeria) -ruz I L Ruma -rwa I L Rawo -rwk I L Rwa -rwm I L Amba (Uganda) -rwo I L Rawa -rwr I L Marwari (India) -rws I L Rawas -ryn I L Northern Amami-Oshima -rys I L Yaeyama -ryu I L Central Okinawan -saa I L Saba -sab I L Buglere -sac I L Mesquakie -sad sad sad I L Sandawe -sae I L Sabanês -saf I L Safaliba -sag sag sag sg I L Sango -sah sah sah I L Yakut -saj I L Sahu -sak I L Sake -sam sam sam I E Samaritan Aramaic -san san san sa I A Sanskrit -sao I L Sause -sap I L Sanapaná -saq I L Samburu -sar I E Saraveca -sas sas sas I L Sasak -sat sat sat I L Santali -sau I L Saleman -sav I L Saafi-Saafi -saw I L Sawi -sax I L Sa -say I L Saya -saz I L Saurashtra -sba I L Ngambay -sbb I L Simbo -sbc I L Kele (Papua New Guinea) -sbd I L Southern Samo -sbe I L Saliba -sbf I L Shabo -sbg I L Seget -sbh I L Sori-Harengan -sbi I L Seti -sbj I L Surbakhal -sbk I L Safwa -sbl I L Botolan Sambal -sbm I L Sagala -sbn I L Sindhi Bhil -sbo I L Sabüm -sbp I L Sangu (Tanzania) -sbq I L Sileibi -sbr I L Sembakung Murut -sbs I L Subiya -sbt I L Kimki -sbu I L Stod Bhoti -sbv I A Sabine -sbw I L Simba -sbx I L Seberuang -sby I L Soli -sbz I L Sara Kaba -sca I L Sansu -scb I L Chut -sce I L Dongxiang -scf I L San Miguel Creole French -scg I L Sanggau -sch I L Sakachep -sci I L Sri Lankan Creole Malay -sck I L Sadri -scl I L Shina -scn scn scn I L Sicilian -sco sco sco I L Scots -scp I L Helambu Sherpa -scq I L Sa'och -scs I L North Slavey -scu I L Shumcho -scv I L Sheni -scw I L Sha -scx I A Sicel -sda I L Toraja-Sa'dan -sdb I L Shabak -sdc I L Sassarese Sardinian -sdd I L Semendo -sde I L Surubu -sdf I L Sarli -sdg I L Savi -sdh I L Southern Kurdish -sdi I L Sindang Kelingi -sdj I L Suundi -sdl I L Saudi Arabian Sign Language -sdm I L Semandang -sdn I L Gallurese Sardinian -sdo I L Bukar Sadong -sdp I L Sherdukpen -sdr I L Oraon Sadri -sds I E Sened -sdt I E Shuadit -sdu I L Sarudu -sdx I L Sibu -sdz I L Sallands -sea I L Semai -seb I L Shempire Senoufo -sec I L Sechelt -sed I L Sedang -see I L Seneca -sef I L Cebaara Senoufo -seg I L Segeju -seh I L Sena -sei I L Seri -sej I L Sene -sek I L Sekani -sel sel sel I L Selkup -sen I L Nanerigé Sénoufo -seo I L Suarmin -sep I L Sìcìté Sénoufo -seq I L Senara Sénoufo -ser I L Serrano -ses I L Koyraboro Senni Songhai -set I L Sentani -seu I L Serui-Laut -sev I L Nyarafolo Senoufo -sew I L Sewa Bay -sey I L Secoya -sez I L Senthang Chin -sfb I L Langue des signes de Belgique Francophone -sfs I L South African Sign Language -sfw I L Sehwi -sga sga sga I H Old Irish (to 900) -sgb I L Mag-Anchi Ayta -sge I L Segai -sgg I L Swiss-German Sign Language -sgh I L Shughni -sgi I L Suga -sgk I L Sangkong -sgl I L Sanglechi-Ishkashimi -sgm I E Singa -sgo I L Songa -sgp I L Singpho -sgr I L Sangisari -sgt I L Brokpake -sgu I L Salas -sgw I L Sebat Bet Gurage -sgx I L Sierra Leone Sign Language -sgz I L Sursurunga -sha I L Shall-Zwall -shb I L Ninam -shc I L Sonde -she I L Sheko -shg I L Shua -shh I L Shoshoni -shi I L Tachelhit -shj I L Shatt -shk I L Shilluk -shl I L Shendu -shm I L Shahrudi -shn shn shn I L Shan -sho I L Shanga -shp I L Shipibo-Conibo -shq I L Sala -shr I L Shi -shs I L Shuswap -sht I E Shasta -shu I L Chadian Arabic -shv I L Shehri -shw I L Shwai -shx I L She -shy I L Tachawit -shz I L Syenara Senoufo -sia I L Akkala Sami -sib I L Sebob Kenyah -sic I L Malinguat -sid sid sid I L Sidamo -sie I L Simaa -sif I L Siamou -sig I L Paasaal -sih I L Zire -sii I L Shom Peng -sij I L Numbami -sik I L Sikiana -sil I L Tumulung Sisaala -sim I L Mende (Papua New Guinea) -sin sin sin si I L Sinhala -sip I L Sikkimese -siq I L Sonia -sir I L Siri -sis I E Siuslaw -siu I L Sinagen -siv I L Sumariup -siw I L Siwai -six I L Sumau -siy I L Sivandi -siz I L Siwi -sja I L Epena -sjb I L Sajau Basap -sjd I L Kildin Sami -sje I L Pite Sami -sjg I L Assangori -sjk I E Kemi Sami -sjl I L Sajalong -sjm I L Mapun -sjn I C Sindarin -sjo I L Xibe -sjp I L Surajpuri -sjr I L Siar-Lak -sjs I E Senhaja De Srair -sjt I L Ter Sami -sju I L Ume Sami -sjw I L Shawnee -ska I L Skagit -skb I L Saek -skc I L Sauk -skd I L Southern Sierra Miwok -ske I L Seke (Vanuatu) -skf I L Sakirabiá -skg I L Sakalava Malagasy -skh I L Sikule -ski I L Sika -skj I L Seke (Nepal) -skk I L Sok -skl I L Selako -skm I L Sakam -skn I L Kolibugan Subanon -sko I L Seko Tengah -skp I L Sekapan -skq I L Sininkere -skr I L Seraiki -sks I L Maia -skt I L Sakata -sku I L Sakao -skv I L Skou -skw I E Skepi Creole Dutch -skx I L Seko Padang -sky I L Sikaiana -skz I L Sekar -slb I L Kahumamahon Saluan -slc I L Sáliba -sld I L Sissala -sle I L Sholaga -slf I L Swiss-Italian Sign Language -slg I L Selungai Murut -slh I L Southern Puget Sound Salish -sli I L Lower Silesian -slj I L Salumá -slk slo slk sk I L Slovak -sll I L Salt-Yui -slm I L Pangutaran Sama -sln I E Salinan -slp I L Lamaholot -slq I L Salchuq -slr I L Salar -sls I L Singapore Sign Language -slt I L Sila -slu I L Selaru -slv slv slv sl I L Slovenian -slw I L Sialum -slx I L Salampasu -sly I L Selayar -slz I L Ma'ya -sma sma sma I L Southern Sami -smb I L Simbari -smc I L Som -smd I L Sama -sme sme sme se I L Northern Sami -smf I L Auwe -smg I L Simbali -smh I L Samei -smj smj smj I L Lule Sami -smk I L Bolinao -sml I L Central Sama -smm I L Musasa -smn smn smn I L Inari Sami -smo smo smo sm I L Samoan -smp I E Samaritan -smq I L Samo -smr I L Simeulue -sms sms sms I L Skolt Sami -smt I L Simte -smu I L Somray -smv I L Samvedi -smw I L Sumbawa -smx I L Samba -smy I L Semnani -smz I L Simeku -sna sna sna sn I L Shona -snb I L Sebuyau -snc I L Sinaugoro -snd snd snd sd I L Sindhi -sne I L Jagoi -snf I L Noon -sng I L Sanga (Democratic Republic of Congo) -snh I E Shinabo -sni I E Sensi -snj I L Riverain Sango -snk snk snk I L Soninke -snl I L Sangil -snm I L Southern Ma'di -snn I L Siona -sno I L Snohomish -snp I L Siane -snq I L Sangu (Gabon) -snr I L Sihan -sns I L South West Bay -snu I L Senggi -snv I L Sa'ban -snw I L Selee -snx I L Sam -sny I L Saniyo-Hiyewe -snz I L Sinsauru -soa I L Thai Song -sob I L Sobei -soc I L So (Democratic Republic of Congo) -sod I L Songoora -soe I L Songomeno -sog sog sog I A Sogdian -soh I L Aka -soi I L Sonha -soj I L Soi -sok I L Sokoro -sol I L Solos -som som som so I L Somali -soo I L Songo -sop I L Songe -soq I L Kanasi -sor I L Somrai -sos I L Seeku -sot sot sot st I L Southern Sotho -sou I L Southern Thai -sov I L Sonsorol -sow I L Sowanda -sox I L So (Cameroon) -soy I L Miyobe -soz I L Temi -spa spa spa es I L Spanish -spb I L Sepa (Indonesia) -spc I L Sapé -spd I L Saep -spe I L Sepa (Papua New Guinea) -spg I L Sian -spi I L Saponi -spk I L Sengo -spl I L Selepet -spm I L Sepen -spo I L Spokane -spp I L Supyire Senoufo -spq I L Loreto-Ucayali Spanish -spr I L Saparua -sps I L Saposa -spt I L Spiti Bhoti -spu I L Sapuan -spx I A South Picene -spy I L Sabaot -sqa I L Shama-Sambuga -sqh I L Shau -sqi alb sqi sq M L Albanian -sqm I L Suma -sqn I E Susquehannock -sqo I L Sorkhei -sqq I L Sou -sqs I L Sri Lankan Sign Language -sqt I L Soqotri -squ I L Squamish -sra I L Saruga -srb I L Sora -src I L Logudorese Sardinian -srd srd srd sc M L Sardinian -sre I L Sara -srf I L Nafi -srg I L Sulod -srh I L Sarikoli -sri I L Siriano -srj I L Serawai -srk I L Serudung Murut -srl I L Isirawa -srm I L Saramaccan -srn srn srn I L Sranan Tongo -sro I L Campidanese Sardinian -srp scc srp sr I L Serbian -srq I L Sirionó -srr srr srr I L Serer -srs I L Sarsi -srt I L Sauri -sru I L Suruí -srv I L Waray Sorsogon -srw I L Serua -srx I L Sirmauri -sry I L Sera -srz I L Shahmirzadi -ssb I L Southern Sama -ssd I L Siroi -sse I L Balangingi -ssf I L Thao -ssg I L Seimat -ssh I L Shihhi Arabic -ssi I L Sansi -ssj I L Sausi -ssk I L Sunam -ssl I L Western Sisaala -ssm I L Semnam -ssn I L Sanye -sso I L Sissano -ssp I L Spanish Sign Language -ssq I L So'a -ssr I L Swiss-French Sign Language -sss I L Sô -sst I L Sinasina -ssu I L Susuami -ssv I L Shark Bay -ssw ssw ssw ss I L Swati -ssx I L Samberigi -ssy I L Saho -ssz I L Sengseng -sta I L Settla -stb I L Northern Subanen -stc I L Santa Cruz -std I L Sentinel -ste I L Liana-Seti -stf I L Seta -stg I L Trieng -sth I L Shelta -sti I L Bulo Stieng -stj I L Matya Samo -stk I L Arammba -stl I L Stellingwerfs -stm I L Setaman -stn I L Owa -sto I L Stoney -stp I L Southeastern Tepehuan -stq I L Saterfriesisch -str I L Straits Salish -sts I L Shumashti -stt I L Budeh Stieng -stu I L Samtao -stw I L Satawalese -sua I L Sulka -sub I L Suku -suc I L Western Subanon -sue I L Suena -suf I L Tarpia -sug I L Suganga -suh I L Suba -sui I L Suki -suj I L Shubi -suk suk suk I L Sukuma -sul I L Surigaonon -sum I L Sumo-Mayangna -sun sun sun su I L Sundanese -suq I L Suri -sur I L Mwaghavul -sus sus sus I L Susu -sut I E Subtiaba -suu I L Sungkai -suv I L Sulung -suw I L Sumbwa -sux sux sux I A Sumerian -suy I L Suyá -suz I L Sunwar -sva I L Svan -svb I L Ulau-Suain -svc I L Vincentian Creole English -sve I L Serili -svk I L Slovakian Sign Language -svr I L Savara -svs I L Savosavo -svx I E Skalvian -swa swa swa sw M L Swahili (macrolanguage) -swb I L Comorian -swc I L Congo Swahili -swe swe swe sv I L Swedish -swf I L Sere -swg I L Swabian -swh I L Swahili (individual language) -swi I L Sui -swj I L Sira -swk I L Malawi Sena -swl I L Swedish Sign Language -swm I L Samosa -swn I L Sawknah -swp I L Suau -swq I L Sharwa -swr I L Saweru -sws I L Seluwasan -swt I L Sawila -swu I L Suwawa -swv I L Shekhawati -sww I L Sowa -swx I L Suruahá -swy I L Sarua -sxc I A Sicanian -sxe I L Sighu -sxg I L Shixing -sxk I E Southern Kalapuya -sxl I E Selian -sxm I L Samre -sxn I L Sangir -sxo I A Sorothaptic -sxr I L Saaroa -sxs I L Sasaru -sxu I L Upper Saxon -sxw I L Saxwe Gbe -sya I L Siang -syb I L Central Subanen -syc syc syc I H Classical Syriac -syi I L Seki -syk I L Sukur -syl I L Sylheti -sym I L Maya Samo -syn I L Senaya -syo I L Suoy -syr syr syr M L Syriac -sys I L Sinyar -syw I L Kagate -sza I L Semelai -szb I L Ngalum -szc I L Semaq Beri -szd I E Seru -sze I L Seze -szg I L Sengele -szk I L Sizaki -szl I L Silesian -szn I L Sula -szp I L Suabo -szv I L Isu (Fako Division) -szw I L Sawai -taa I L Lower Tanana -tab I L Tabassaran -tac I L Lowland Tarahumara -tad I L Tause -tae I L Tariano -taf I L Tapirapé -tag I L Tagoi -tah tah tah ty I L Tahitian -taj I L Eastern Tamang -tak I L Tala -tal I L Tal -tam tam tam ta I L Tamil -tan I L Tangale -tao I L Yami -tap I L Taabwa -taq I L Tamasheq -tar I L Central Tarahumara -tas I E Tay Boi -tat tat tat tt I L Tatar -tau I L Upper Tanana -tav I L Tatuyo -taw I L Tai -tax I L Tamki -tay I L Atayal -taz I L Tocho -tba I L Aikanã -tbb I E Tapeba -tbc I L Takia -tbd I L Kaki Ae -tbe I L Tanimbili -tbf I L Mandara -tbg I L North Tairora -tbh I E Thurawal -tbi I L Gaam -tbj I L Tiang -tbk I L Calamian Tagbanwa -tbl I L Tboli -tbm I L Tagbu -tbn I L Barro Negro Tunebo -tbo I L Tawala -tbp I L Taworta -tbr I L Tumtum -tbs I L Tanguat -tbt I L Tembo (Kitembo) -tbu I E Tubar -tbv I L Tobo -tbw I L Tagbanwa -tbx I L Kapin -tby I L Tabaru -tbz I L Ditammari -tca I L Ticuna -tcb I L Tanacross -tcc I L Datooga -tcd I L Tafi -tce I L Southern Tutchone -tcf I L Malinaltepec Tlapanec -tcg I L Tamagario -tch I L Turks And Caicos Creole English -tci I L Wára -tck I L Tchitchege -tcl I L Taman (Myanmar) -tcm I L Tanahmerah -tcn I L Tichurong -tco I L Taungyo -tcp I L Tawr Chin -tcq I L Kaiy -tcs I L Torres Strait Creole -tct I L T'en -tcu I L Southeastern Tarahumara -tcw I L Tecpatlán Totonac -tcx I L Toda -tcy I L Tulu -tcz I L Thado Chin -tda I L Tagdal -tdb I L Panchpargania -tdc I L Emberá-Tadó -tdd I L Tai Nüa -tdf I L Talieng -tdg I L Western Tamang -tdh I L Thulung -tdi I L Tomadino -tdj I L Tajio -tdk I L Tambas -tdl I L Sur -tdn I L Tondano -tdo I L Teme -tdq I L Tita -tdr I L Todrah -tds I L Doutai -tdt I L Tetun Dili -tdu I L Tempasuk Dusun -tdv I L Toro -tdx I L Tandroy-Mahafaly Malagasy -tdy I L Tadyawan -tea I L Temiar -teb I E Tetete -ted I L Tepo Krumen -tee I L Huehuetla Tepehua -tef I L Teressa -teg I L Teke-Tege -teh I L Tehuelche -tei I L Torricelli -tek I L Ibali Teke -tel tel tel te I L Telugu -tem tem tem I L Timne -ten I E Tama (Colombia) -teo I L Teso -tep I E Tepecano -teq I L Temein -ter ter ter I L Tereno -tes I L Tengger -tet tet tet I L Tetum -teu I L Soo -tev I L Teor -tew I L Tewa (USA) -tex I L Tennet -tey I L Tulishi -tfi I L Tofin Gbe -tfn I L Tanaina -tfo I L Tefaro -tfr I L Teribe -tft I L Ternate -tga I L Sagalla -tgb I L Tebilung -tgc I L Tigak -tgd I L Ciwogai -tge I L Eastern Gorkha Tamang -tgf I L Chalikha -tgg I L Tangga -tgh I L Tobagonian Creole English -tgi I L Lawunuia -tgk tgk tgk tg I L Tajik -tgl tgl tgl tl I L Tagalog -tgo I L Sudest -tgp I L Tangoa -tgq I L Tring -tgr I L Tareng -tgs I L Nume -tgt I L Central Tagbanwa -tgu I L Tanggu -tgv I E Tingui-Boto -tgw I L Tagwana Senoufo -tgx I L Tagish -tgy I E Togoyo -tha tha tha th I L Thai -thc I L Tai Hang Tong -thd I L Thayore -the I L Chitwania Tharu -thf I L Thangmi -thh I L Northern Tarahumara -thi I L Tai Long -thk I L Tharaka -thl I L Dangaura Tharu -thm I L Aheu -thn I L Thachanadan -thp I L Thompson -thq I L Kochila Tharu -thr I L Rana Tharu -ths I L Thakali -tht I L Tahltan -thu I L Thuri -thv I L Tahaggart Tamahaq -thw I L Thudam -thx I L The -thy I L Tha -thz I L Tayart Tamajeq -tia I L Tidikelt Tamazight -tic I L Tira -tid I L Tidong -tie I L Tingal -tif I L Tifal -tig tig tig I L Tigre -tih I L Timugon Murut -tii I L Tiene -tij I L Tilung -tik I L Tikar -til I E Tillamook -tim I L Timbe -tin I L Tindi -tio I L Teop -tip I L Trimuris -tiq I L Tiéfo -tir tir tir ti I L Tigrinya -tis I L Masadiit Itneg -tit I L Tinigua -tiu I L Adaseng -tiv tiv tiv I L Tiv -tiw I L Tiwi -tix I L Southern Tiwa -tiy I L Tiruray -tiz I L Tai Hongjin -tja I L Tajuasohn -tjg I L Tunjung -tji I L Northern Tujia -tjm I E Timucua -tjn I E Tonjon -tjo I L Temacine Tamazight -tjs I L Southern Tujia -tju I E Tjurruru -tka I E Truká -tkb I L Buksa -tkd I L Tukudede -tke I L Takwane -tkf I E Tukumanféd -tkk I L Takpa -tkl tkl tkl I L Tokelau -tkm I E Takelma -tkn I L Toku-No-Shima -tkp I L Tikopia -tkq I L Tee -tkr I L Tsakhur -tks I L Takestani -tkt I L Kathoriya Tharu -tku I L Upper Necaxa Totonac -tkw I L Teanu -tkx I L Tangko -tkz I L Takua -tla I L Southwestern Tepehuan -tlb I L Tobelo -tlc I L Yecuatla Totonac -tld I L Talaud -tle I L Southern Marakwet -tlf I L Telefol -tlg I L Tofanma -tlh tlh tlh I C Klingon -tli tli tli I L Tlingit -tlj I L Talinga-Bwisi -tlk I L Taloki -tll I L Tetela -tlm I L Tolomako -tln I L Talondo' -tlo I L Talodi -tlp I L Filomena Mata-Coahuitlán Totonac -tlq I L Tai Loi -tlr I L Talise -tls I L Tambotalo -tlt I L Teluti -tlu I L Tulehu -tlv I L Taliabu -tlw I L South Wemale -tlx I L Khehek -tly I L Talysh -tlz I L Toala' -tma I L Tama (Chad) -tmb I L Katbol -tmc I L Tumak -tmd I L Haruai -tme I L Tremembé -tmf I L Toba-Maskoy -tmg I E Ternateño -tmh tmh tmh M L Tamashek -tmi I L Tutuba -tmj I L Samarokena -tmk I L Northwestern Tamang -tml I L Tamnim Citak -tmm I L Tai Thanh -tmn I L Taman (Indonesia) -tmo I L Temoq -tmp I L Tai Mène -tmq I L Tumleo -tmr I E Jewish Babylonian Aramaic (ca. 200-1200 CE) -tms I L Tima -tmt I L Tasmate -tmu I L Iau -tmv I L Tembo (Motembo) -tmw I L Temuan -tmy I L Tami -tmz I E Tamanaku -tna I L Tacana -tnb I L Western Tunebo -tnc I L Tanimuca-Retuarã -tnd I L Angosturas Tunebo -tne I L Tinoc Kallahan -tnf I L Tangshewi -tng I L Tobanga -tnh I L Maiani -tni I L Tandia -tnj I L Tanjong -tnk I L Kwamera -tnl I L Lenakel -tnm I L Tabla -tnn I L North Tanna -tno I L Toromono -tnp I L Whitesands -tnq I E Taino -tnr I L Bedik -tns I L Tenis -tnt I L Tontemboan -tnu I L Tay Khang -tnv I L Tangchangya -tnw I L Tonsawang -tnx I L Tanema -tny I L Tongwe -tnz I L Tonga (Thailand) -tob I L Toba -toc I L Coyutla Totonac -tod I L Toma -toe I E Tomedes -tof I L Gizrra -tog tog tog I L Tonga (Nyasa) -toh I L Gitonga -toi I L Tonga (Zambia) -toj I L Tojolabal -tol I L Tolowa -tom I L Tombulu -ton ton ton to I L Tonga (Tonga Islands) -too I L Xicotepec De Juárez Totonac -top I L Papantla Totonac -toq I L Toposa -tor I L Togbo-Vara Banda -tos I L Highland Totonac -tou I L Tho -tov I L Upper Taromi -tow I L Jemez -tox I L Tobian -toy I L Topoiyo -toz I L To -tpa I L Taupota -tpc I L Azoyú Tlapanec -tpe I L Tippera -tpg I L Kula -tpi tpi tpi I L Tok Pisin -tpj I L Tapieté -tpk I E Tupinikin -tpl I L Tlacoapa Tlapanec -tpm I L Tampulma -tpn I E Tupinambá -tpo I L Tai Pao -tpp I L Pisaflores Tepehua -tpq I L Tukpa -tpr I L Tuparí -tpt I L Tlachichilco Tepehua -tpu I L Tampuan -tpv I L Tanapag -tpw I E Tupí -tpx I L Acatepec Tlapanec -tpy I L Trumaí -tpz I L Tinputz -tqb I L Tembé -tql I L Lehali -tqm I L Turumsa -tqn I L Tenino -tqo I L Toaripi -tqp I L Tomoip -tqq I L Tunni -tqr I E Torona -tqt I L Western Totonac -tqu I L Touo -tqw I E Tonkawa -tra I L Tirahi -trb I L Terebu -trc I L Copala Triqui -trd I L Turi -tre I L East Tarangan -trf I L Trinidadian Creole English -trg I L Lishán Didán -trh I L Turaka -tri I L Trió -trj I L Toram -trl I L Traveller Scottish -trm I L Tregami -trn I L Trinitario -tro I L Tarao Naga -trp I L Kok Borok -trq I L San Martín Itunyoso Triqui -trr I L Taushiro -trs I L Chicahuaxtla Triqui -trt I L Tunggare -tru I L Turoyo -trv I L Taroko -trw I L Torwali -trx I L Tringgus -try I E Turung -trz I L Torá -tsa I L Tsaangi -tsb I L Tsamai -tsc I L Tswa -tsd I L Tsakonian -tse I L Tunisian Sign Language -tsf I L Southwestern Tamang -tsg I L Tausug -tsh I L Tsuvan -tsi tsi tsi I L Tsimshian -tsj I L Tshangla -tsk I L Tseku -tsl I L Ts'ün-Lao -tsm I L Turkish Sign Language -tsn tsn tsn tn I L Tswana -tso tso tso ts I L Tsonga -tsp I L Northern Toussian -tsq I L Thai Sign Language -tsr I L Akei -tss I L Taiwan Sign Language -tsu I L Tsou -tsv I L Tsogo -tsw I L Tsishingini -tsx I L Mubami -tsy I L Tebul Sign Language -tsz I L Purepecha -tta I E Tutelo -ttb I L Gaa -ttc I L Tektiteko -ttd I L Tauade -tte I L Bwanabwana -ttf I L Tuotomb -ttg I L Tutong 2 -tth I L Upper Ta'oih -tti I L Tobati -ttj I L Tooro -ttk I L Totoro -ttl I L Totela -ttm I L Northern Tutchone -ttn I L Towei -tto I L Lower Ta'oih -ttp I L Tombelala -ttq I L Tawallammat Tamajaq -ttr I L Tera -tts I L Northeastern Thai -ttt I L Muslim Tat -ttu I L Torau -ttv I L Titan -ttw I L Tutoh Kenyah -ttx I L Tutong 1 -tty I L Sikaritai -ttz I L Tsum -tua I L Wiarumus -tub I L Tübatulabal -tuc I L Mutu -tud I E Tuxá -tue I L Tuyuca -tuf I L Central Tunebo -tug I L Tunia -tuh I L Taulil -tui I L Tupuri -tuj I L Tugutil -tuk tuk tuk tk I L Turkmen -tul I L Tula -tum tum tum I L Tumbuka -tun I E Tunica -tuo I L Tucano -tuq I L Tedaga -tur tur tur tr I L Turkish -tus I L Tuscarora -tuu I L Tututni -tuv I L Turkana -tux I E Tuxináwa -tuy I L North Tugen -tuz I L Turka -tva I L Vaghua -tvd I L Tsuvadi -tve I L Te'un -tvk I L Southeast Ambrym -tvl tvl tvl I L Tuvalu -tvm I L Tela-Masbuar -tvn I L Tavoyan -tvo I L Tidore -tvs I L Taveta -tvt I L Tutsa Naga -tvw I L Sedoa -tvy I E Timor Pidgin -twa I E Twana -twb I L Western Tawbuid -twc I E Teshenawa -twd I L Twents -twe I L Tewa (Indonesia) -twf I L Northern Tiwa -twg I L Tereweng -twh I L Tai Dón -twi twi twi tw I L Twi -twl I L Tawara -twm I L Tawang Monpa -twn I L Twendi -two I L Tswapong -twp I L Ere -twq I L Tasawaq -twr I L Southwestern Tarahumara -twt I E Turiwára -twu I L Termanu -tww I L Tuwari -twx I L Tewe -twy I L Tawoyan -txa I L Tombonuwo -txb I A Tokharian B -txc I E Tsetsaut -txe I L Totoli -txg I A Tangut -txh I A Thracian -txi I L Ikpeng -txm I L Tomini -txn I L West Tarangan -txo I L Toto -txq I L Tii -txr I A Tartessian -txs I L Tonsea -txt I L Citak -txu I L Kayapó -txx I L Tatana -txy I L Tanosy Malagasy -tya I L Tauya -tye I L Kyenga -tyh I L O'du -tyi I L Teke-Tsaayi -tyj I L Tai Do -tyl I L Thu Lao -tyn I L Kombai -typ I L Thaypan -tyr I L Tai Daeng -tys I L Tày Sa Pa -tyt I L Tày Tac -tyu I L Kua -tyv tyv tyv I L Tuvinian -tyx I L Teke-Tyee -tyz I L Tày -tza I L Tanzanian Sign Language -tzb I L Bachajón Tzeltal -tzc I L Chamula Tzotzil -tze I L Chenalhó Tzotzil -tzh I L Oxchuc Tzeltal -tzj I L Eastern Tzutujil -tzm I L Central Atlas Tamazight -tzn I L Tugun -tzo I L Venustiano Carranza Tzotzil -tzs I L San Andrés Larrainzar Tzotzil -tzt I L Western Tzutujil -tzu I L Huixtán Tzotzil -tzx I L Tabriak -tzz I L Zinacantán Tzotzil -uam I E Uamué -uan I L Kuan -uar I L Tairuma -uba I L Ubang -ubi I L Ubi -ubm I L Upper Baram Kenyah -ubr I L Ubir -ubu I L Umbu-Ungu -uby I E Ubykh -uda I L Uda -ude I L Udihe -udg I L Muduga -udi I L Udi -udj I L Ujir -udl I L Wuzlam -udm udm udm I L Udmurt -udu I L Uduk -ues I L Kioko -ufi I L Ufim -uga uga uga I A Ugaritic -ugb I L Kuku-Ugbanh -uge I L Ughele -ugn I L Ugandan Sign Language -ugo I L Ugong -ugy I L Uruguayan Sign Language -uha I L Uhami -uhn I L Damal -uig uig uig ug I L Uighur -uis I L Uisai -uiv I L Iyive -uji I L Tanjijili -uka I L Kaburi -ukg I L Ukuriguma -ukh I L Ukhwejo -ukl I L Ukrainian Sign Language -ukp I L Ukpe-Bayobiri -ukq I L Ukwa -ukr ukr ukr uk I L Ukrainian -uks I L Urubú-Kaapor Sign Language -uku I L Ukue -ukw I L Ukwuani-Aboh-Ndoni -ula I L Fungwa -ulb I L Ulukwumi -ulc I L Ulch -ulf I L Usku -uli I L Ulithian -ulk I L Meriam -ull I L Ullatan -ulm I L Ulumanda' -uln I L Unserdeutsch -uma I L Umatilla -umb umb umb I L Umbundu -umc I A Marrucinian -umd I L Umbindhamu -umg I L Umbuygamu -umi I L Ukit -umm I L Umon -umo I E Umotína -ump I L Umpila -umr I L Umbugarla -ums I L Pendau -umu I L Munsee -una I L North Watut -und und und S S Undetermined -une I L Uneme -ung I L Ngarinyin -unk I L Enawené-Nawé -unm I E Unami -unp I L Worora -unz I L Unde Kaili -uok I L Uokha -upi I L Umeda -upv I L Uripiv-Wala-Rano-Atchin -ura I L Urarina -urb I L Urubú-Kaapor -urc I L Urningangg -urd urd urd ur I L Urdu -ure I L Uru -urf I L Uradhi -urg I L Urigina -urh I L Urhobo -uri I L Urim -urk I L Urak Lawoi' -url I L Urali -urm I L Urapmin -urn I L Uruangnirin -uro I L Ura (Papua New Guinea) -urp I L Uru-Pa-In -urr I L Lehalurup -urt I L Urat -uru I E Urumi -urv I E Uruava -urw I L Sop -urx I L Urimo -ury I L Orya -urz I L Uru-Eu-Wau-Wau -usa I L Usarufa -ush I L Ushojo -usi I L Usui -usk I L Usaghade -usp I L Uspanteco -usu I L Uya -uta I L Otank -ute I L Ute-Southern Paiute -utp I L Amba (Solomon Islands) -utr I L Etulo -utu I L Utu -uum I L Urum -uun I E Kulon-Pazeh -uur I L Ura (Vanuatu) -uuu I L U -uve I L West Uvean -uvh I L Uri -uvl I L Lote -uwa I L Kuku-Uwanh -uya I L Doko-Uyanga -uzb uzb uzb uz M L Uzbek -uzn I L Northern Uzbek -uzs I L Southern Uzbek -vaa I L Vaagri Booli -vae I L Vale -vaf I L Vafsi -vag I L Vagla -vah I L Varhadi-Nagpuri -vai vai vai I L Vai -vaj I L Vasekela Bushman -val I L Vehes -vam I L Vanimo -van I L Valman -vao I L Vao -vap I L Vaiphei -var I L Huarijio -vas I L Vasavi -vau I L Vanuma -vav I L Varli -vay I L Wayu -vbb I L Southeast Babar -vec I L Venetian -ved I L Veddah -vel I L Veluws -vem I L Vemgo-Mabas -ven ven ven ve I L Venda -veo I E Ventureño -vep I L Veps -ver I L Mom Jango -vgr I L Vaghri -vgt I L Vlaamse Gebarentaal -vic I L Virgin Islands Creole English -vid I L Vidunda -vie vie vie vi I L Vietnamese -vif I L Vili -vig I L Viemo -vil I L Vilela -vin I L Vinza -vis I L Vishavan -vit I L Viti -viv I L Iduna -vka I E Kariyarra -vki I L Ija-Zuba -vkj I L Kujarge -vkk I L Kaur -vkl I L Kulisusu -vkm I E Kamakan -vko I L Kodeoha -vkp I L Korlai Creole Portuguese -vkt I L Tenggarong Kutai Malay -vku I L Kurrama -vky I L Kayu Agung -vlp I L Valpei -vlr I L Vatrata -vls I L Vlaams -vma I L Martuyhunira -vmb I L Mbabaram -vmc I L Juxtlahuaca Mixtec -vmd I L Mudu Koraga -vme I L East Masela -vmf I L Mainfränkisch -vmg I L Minigir -vmh I L Maraghei -vmi I L Miwa -vmj I L Ixtayutla Mixtec -vmk I L Makhuwa-Shirima -vml I E Malgana -vmm I L Mitlatongo Mixtec -vmo I L Muko-Muko -vmp I L Soyaltepec Mazatec -vmq I L Soyaltepec Mixtec -vmr I L Marenje -vms I E Moksela -vmu I L Muluridyi -vmv I E Valley Maidu -vmw I L Makhuwa -vmx I L Tamazola Mixtec -vmy I L Ayautla Mazatec -vmz I L Mazatlán Mazatec -vnk I E Vano -vnm I L Vinmavis -vnp I L Vunapu -vol vol vol vo I C Volapük -vor I L Voro -vot vot vot I L Votic -vrs I L Varisi -vrt I L Burmbar -vsi I L Moldova Sign Language -vsl I L Venezuelan Sign Language -vsv I L Valencian Sign Language -vum I L Vumbu -vun I L Vunjo -vut I L Vute -waa I L Walla Walla -wab I L Wab -wac I L Wasco-Wishram -wad I L Wandamen -wae I L Walser -waf I E Wakoná -wag I L Wa'ema -wah I L Watubela -wai I L Wares -waj I L Waffa -wal wal wal I L Walamo -wam I E Wampanoag -wan I L Wan -wao I E Wappo -wap I L Wapishana -waq I L Wageman -war war war I L Waray (Philippines) -was was was I L Washo -wat I L Kaninuwa -wau I L Waurá -wav I L Waka -waw I L Waiwai -wax I L Watam -way I L Wayana -waz I L Wampur -wba I L Warao -wbb I L Wabo -wbe I L Waritai -wbf I L Wara -wbh I L Wanda -wbi I L Wanji -wbj I L Alagwa -wbk I L Waigali -wbl I L Wakhi -wbm I L Wa -wbp I L Warlpiri -wbq I L Waddar -wbr I L Wagdi -wbt I L Wanman -wbv I L Wajarri -wbw I L Woi -wca I L Yanomámi -wci I L Waci Gbe -wdd I L Wandji -wdg I L Wadaginam -wdj I L Wadjiginy -wdu I L Wadjigu -wea I L Wewaw -wec I L Wè Western -wed I L Wedau -weh I L Weh -wei I L Were -wem I L Weme Gbe -weo I L North Wemale -wep I L Westphalien -wer I L Weri -wes I L Cameroon Pidgin -wet I L Perai -weu I L Welaung -wew I L Wejewa -wfg I L Yafi -wga I L Wagaya -wgg I L Wangganguru -wgi I L Wahgi -wgo I L Waigeo -wgw I L Wagawaga -wgy I L Warrgamay -wha I L Manusela -whg I L North Wahgi -whk I L Wahau Kenyah -whu I L Wahau Kayan -wib I L Southern Toussian -wic I L Wichita -wie I L Wik-Epa -wif I L Wik-Keyangan -wig I L Wik-Ngathana -wih I L Wik-Me'anha -wii I L Minidien -wij I L Wik-Iiyanh -wik I L Wikalkan -wil I L Wilawila -wim I L Wik-Mungkan -win I L Ho-Chunk -wir I E Wiraféd -wit I L Wintu -wiu I L Wiru -wiv I L Muduapa -wiw I L Wirangu -wiy I E Wiyot -wja I L Waja -wji I L Warji -wka I E Kw'adza -wkb I L Kumbaran -wkd I L Wakde -wkl I L Kalanadi -wku I L Kunduvadi -wkw I L Wakawaka -wla I L Walio -wlc I L Mwali Comorian -wlg I L Kunbarlang -wli I L Waioli -wlk I E Wailaki -wll I L Wali (Sudan) -wlm I H Middle Welsh -wln wln wln wa I L Walloon -wlo I L Wolio -wlr I L Wailapa -wls I L Wallisian -wlu I E Wuliwuli -wlv I L Wichí Lhamtés Vejoz -wlw I L Walak -wlx I L Wali (Ghana) -wly I E Waling -wma I E Mawa (Nigeria) -wmb I L Wambaya -wmc I L Wamas -wme I L Wambule -wmh I L Waima'a -wmi I L Wamin -wmm I L Maiwa (Indonesia) -wmn I E Waamwang -wmo I L Wom (Papua New Guinea) -wms I L Wambon -wmt I L Walmajarri -wmw I L Mwani -wnb I L Wanambre -wnc I L Wantoat -wnd I E Wandarang -wne I L Waneci -wng I L Wanggom -wni I L Ndzwani Comorian -wnk I L Wanukaka -wnm I L Wanggamala -wno I L Wano -wnp I L Wanap -wnu I L Usan -woa I L Tyaraity -wob I L Wè Northern -woc I L Wogeo -wod I L Wolani -woe I L Woleaian -wof I L Gambian Wolof -wog I L Wogamusin -woi I L Kamang -wok I L Longto -wol wol wol wo I L Wolof -wom I L Wom (Nigeria) -won I L Wongo -woo I L Manombai -wor I L Woria -wos I L Hanga Hundi -wow I L Wawonii -woy I E Weyto -wpc I L Maco -wra I L Warapu -wrb I L Warluwara -wrd I L Warduji -wre I L Ware -wrg I L Warungu -wrh I L Wiradhuri -wri I E Wariyangga -wrl I L Warlmanpa -wrm I L Warumungu -wrn I L Warnang -wrp I L Waropen -wrr I L Wardaman -wrs I L Waris -wru I L Waru -wrv I L Waruna -wrw I E Gugu Warra -wrx I L Wae Rana -wry I L Merwari -wrz I L Waray (Australia) -wsa I L Warembori -wsi I L Wusi -wsk I L Waskia -wsr I L Owenia -wss I L Wasa -wsu I E Wasu -wsv I L Wotapuri-Katarqalai -wtf I L Dumpu -wti I L Berta -wtk I L Watakataui -wtm I L Mewati -wtw I L Wotu -wua I L Wikngenchera -wub I L Wunambal -wud I L Wudu -wuh I L Wutunhua -wul I L Silimo -wum I L Wumbvu -wun I L Bungu -wur I E Wurrugu -wut I L Wutung -wuu I L Wu Chinese -wuv I L Wuvulu-Aua -wux I L Wulna -wuy I L Wauyai -wwa I L Waama -wwo I L Wetamut -wwr I L Warrwa -www I L Wawa -wxa I L Waxianghua -wya I E Wyandot -wyb I L Wangaaybuwan-Ngiyambaa -wym I L Wymysorys -wyr I L Wayoró -wyy I L Western Fijian -xaa I H Andalusian Arabic -xab I L Sambe -xac I L Kachari -xad I E Adai -xae I A Aequian -xag I E Aghwan -xah I L Kahayan -xai I E Kaimbé -xal xal xal I L Kalmyk -xam I E /Xam -xan I L Xamtanga -xao I L Khao -xap I E Apalachee -xaq I A Aquitanian -xar I E Karami -xas I E Kamas -xat I L Katawixi -xau I L Kauwera -xav I L Xavánte -xaw I L Kawaiisu -xay I L Kayan Mahakam -xba I E Kamba (Brazil) -xbc I A Bactrian -xbi I L Kombio -xbm I H Middle Breton -xbo I E Bolgarian -xbr I L Kambera -xbw I E Kambiwá -xbx I L Kabixí -xcb I E Cumbric -xcc I A Camunic -xce I A Celtiberian -xcg I A Cisalpine Gaulish -xch I E Chemakum -xcl I H Classical Armenian -xcm I E Comecrudo -xcn I E Cotoname -xco I A Chorasmian -xcr I A Carian -xct I H Classical Tibetan -xcu I E Curonian -xcv I E Chuvantsy -xcw I E Coahuilteco -xcy I E Cayuse -xdc I A Dacian -xdm I A Edomite -xdy I L Malayic Dayak -xeb I A Eblan -xed I L Hdi -xeg I E //Xegwi -xel I L Kelo -xem I L Kembayan -xep I A Epi-Olmec -xer I L Xerénte -xes I L Kesawai -xet I L Xetá -xeu I L Keoru-Ahia -xfa I A Faliscan -xga I A Galatian -xgf I E Gabrielino-Fernandeño -xgl I E Galindan -xgr I E Garza -xha I A Harami -xhc I E Hunnic -xhd I A Hadrami -xhe I L Khetrani -xho xho xho xh I L Xhosa -xhr I A Hernican -xht I A Hattic -xhu I A Hurrian -xhv I L Khua -xia I L Xiandao -xib I A Iberian -xii I L Xiri -xil I A Illyrian -xin I E Xinca -xip I E Xipináwa -xir I E Xiriâna -xiv I A Indus Valley Language -xiy I L Xipaya -xka I L Kalkoti -xkb I L Manigri-Kambolé Ede Nago -xkc I L Kho'ini -xkd I L Mendalam Kayan -xke I L Kereho -xkf I L Khengkha -xkg I L Kagoro -xkh I L Karahawyana -xki I L Kenyan Sign Language -xkj I L Kajali -xkk I L Kaco' -xkl I L Kelinyau Kenyah -xkm I L Mahakam Kenyah -xkn I L Kayan River Kayan -xko I L Kiorr -xkp I L Kabatei -xkq I L Koroni -xkr I E Xakriabá -xks I L Kumbewaha -xkt I L Kantosi -xku I L Kaamba -xkv I L Kgalagadi -xkw I L Kembra -xkx I L Karore -xky I L Western Kenyah -xkz I L Kurtokha -xla I L Kamula -xlb I E Loup B -xlc I A Lycian -xld I A Lydian -xle I A Lemnian -xlg I A Ligurian (Ancient) -xli I A Liburnian -xln I A Alanic -xlo I E Loup A -xlp I A Lepontic -xls I A Lusitanian -xlu I A Cuneiform Luwian -xly I A Elymian -xma I L Mushungulu -xmb I L Mbonga -xmc I L Makhuwa-Marrevone -xmd I L Mbedam -xme I A Median -xmf I L Mingrelian -xmg I L Mengaka -xmh I L Kuku-Muminh -xmj I L Majera -xmk I A Ancient Macedonian -xml I L Malaysian Sign Language -xmm I L Manado Malay -xmn I H Manichaean Middle Persian -xmo I L Morerebi -xmp I L Kuku-Mu'inh -xmq I L Kuku-Mangk -xmr I A Meroitic -xms I L Moroccan Sign Language -xmt I L Matbat -xmu I L Kamu -xmv I L Antankarana Malagasy -xmw I L Tsimihety Malagasy -xmx I L Maden -xmy I L Mayaguduna -xmz I L Mori Bawah -xna I A Ancient North Arabian -xnb I L Kanakanabu -xng I H Middle Mongolian -xnh I L Kuanhua -xnn I L Northern Kankanay -xno I H Anglo-Norman -xnr I L Kangri -xns I L Kanashi -xoc I L O'chi'chi' -xod I L Kokoda -xog I L Soga -xoi I L Kominimung -xok I L Xokleng -xom I L Komo (Sudan) -xon I L Konkomba -xoo I E Xukurú -xop I L Kopar -xor I L Korubo -xow I L Kowaki -xpc I E Pecheneg -xpe I L Liberia Kpelle -xpg I A Phrygian -xpi I E Pictish -xpk I L Kulina Pano -xpm I E Pumpokol -xpn I E Kapinawá -xpo I E Pochutec -xpp I E Puyo-Paekche -xpr I A Parthian -xps I E Pisidian -xpu I A Punic -xpy I E Puyo -xqa I H Karakhanid -xqt I A Qatabanian -xra I L Krahô -xrb I L Eastern Karaboro -xre I L Kreye -xri I L Krikati-Timbira -xrm I E Armazic -xrn I E Arin -xrr I A Raetic -xrt I E Aranama-Tamique -xru I L Marriammu -xrw I L Karawa -xsa I A Sabaean -xsb I L Tinà Sambal -xsc I A Scythian -xsd I A Sidetic -xse I L Sempan -xsh I L Shamang -xsi I L Sio -xsj I L Subi -xsk I A Sakan -xsl I L South Slavey -xsm I L Kasem -xsn I L Sanga (Nigeria) -xso I E Solano -xsp I L Silopi -xsq I L Makhuwa-Saka -xsr I L Sherpa -xss I E Assan -xst I L Silt'e -xsu I L Sanumá -xsv I E Sudovian -xsy I L Saisiyat -xta I L Alcozauca Mixtec -xtb I L Chazumba Mixtec -xtc I L Katcha-Kadugli-Miri -xtd I L Diuxi-Tilantongo Mixtec -xte I L Ketengban -xtg I A Transalpine Gaulish -xti I L Sinicahua Mixtec -xtj I L San Juan Teita Mixtec -xtl I L Tijaltepec Mixtec -xtm I L Magdalena Peñasco Mixtec -xtn I L Northern Tlaxiaco Mixtec -xto I A Tokharian A -xtp I L San Miguel Piedras Mixtec -xtq I H Tumshuqese -xtr I A Early Tripuri -xts I L Sindihui Mixtec -xtt I L Tacahua Mixtec -xtu I L Cuyamecalco Mixtec -xty I L Yoloxochitl Mixtec -xtz I E Tasmanian -xua I L Alu Kurumba -xub I L Betta Kurumba -xuf I L Kunfal -xug I L Kunigami -xuj I L Jennu Kurumba -xum I A Umbrian -xuo I L Kuo -xup I E Upper Umpqua -xur I A Urartian -xut I L Kuthant -xuu I L Kxoe -xve I A Venetic -xvi I L Kamviri -xvn I A Vandalic -xvo I A Volscian -xvs I A Vestinian -xwa I L Kwaza -xwc I E Woccon -xwe I L Xwela Gbe -xwg I L Kwegu -xwl I L Western Xwla Gbe -xwo I E Written Oirat -xwr I L Kwerba Mamberamo -xxk I L Ke'o -xzh I A Zhang-Zhung -xzm I E Zemgalian -xzp I H Ancient Zapotec -yaa I L Yaminahua -yab I L Yuhup -yac I L Pass Valley Yali -yad I L Yagua -yae I L Pumé -yaf I L Yaka (Democratic Republic of Congo) -yag I L Yámana -yah I L Yazgulyam -yai I L Yagnobi -yaj I L Banda-Yangere -yak I L Yakima -yal I L Yalunka -yam I L Yamba -yao yao yao I L Yao -yap yap yap I L Yapese -yaq I L Yaqui -yar I L Yabarana -yas I L Nugunu (Cameroon) -yat I L Yambeta -yau I L Yuwana -yav I L Yangben -yaw I E Yawalapití -yax I L Yauma -yay I L Agwagwune -yaz I L Lokaa -yba I L Yala -ybb I L Yemba -ybd I L Yangbye -ybe I L West Yugur -ybh I L Yakha -ybi I L Yamphu -ybj I L Hasha -ybl I L Yukuben -ybm I L Yaben -ybn I E Yabaâna -ybo I L Yabong -ybx I L Yawiyo -yby I L Yaweyuha -ycl I L Central Yi -ycn I L Yucuna -ydd I L Eastern Yiddish -yde I L Yangum Dey -ydg I L Yidgha -ydk I L Yoidik -yds I L Yiddish Sign Language -yea I L Ravula -yec I L Yeniche -yee I L Yimas -yei I E Yeni -yej I L Yevanic -yel I L Yela -yen I L Yendang -yer I L Tarok -yes I L Yeskwa -yet I L Yetfa -yeu I L Yerukula -yev I L Yapunda -yey I L Yeyi -ygl I L Yangum Gel -ygm I L Yagomi -ygr I L Yagaria -ygw I L Yagwoia -yhd I L Judeo-Iraqi Arabic -yia I L Yinggarda -yid yid yid yi M L Yiddish -yif I L Ache Yi -yig I L Guizhou Yi -yih I L Western Yiddish -yii I L Yidiny -yij I L Yindjibarndi -yik I L Xishan Lalu Yi -yil I L Yindjilandji -yim I L Yimchungru Naga -yin I L Yinchia -yio I L Dayao Yi -yip I L Poluo Yi -yiq I L Miqie Yi -yir I L North Awyu -yis I L Yis -yit I L Eastern Lalu Yi -yiu I L Awu Yi -yiv I L Eshan-Xinping Yi -yix I L Axi Yi -yiy I L Yir Yoront -yiz I L Azhe Yi -yka I L Yakan -ykg I L Northern Yukaghir -yki I L Yoke -ykk I L Yakaikeke -ykm I L Yakamul -yko I L Yasa -ykr I L Yekora -yky I L Yakoma -yla I L Yaul -yle I L Yele -ylg I L Yelogu -yli I L Angguruk Yali -yll I L Yil -ylm I L Limi Yi -ylo I L Naluo Yi -ylr I E Yalarnnga -ylu I L Aribwaung -yly I L Nyâlayu -yma I L Yamphe -ymb I L Yambes -yme I E Yameo -ymg I L Yamongeri -ymh I L Mili Yi -ymj I L Muji Yi -ymk I L Makwe -yml I L Iamalele -ymm I L Maay -ymn I L Yamna -ymo I L Yangum Mon -ymp I L Yamap -ymr I L Malasar -yms I A Mysian -ymt I E Mator-Taygi-Karagas -ynd I L Yandruwandha -yng I L Yango -ynh I L Yangho -ynk I L Naukan Yupik -ynl I L Yangulam -ynn I E Yana -yno I L Yong -yns I L Yansi -ynu I E Yahuna -yob I E Yoba -yog I L Yogad -yoi I L Yonaguni -yok I L Yokuts -yom I L Yombe -yon I L Yonggom -yor yor yor yo I L Yoruba -yos I L Yos -yox I L Yoron -yoy I L Yoy -ypl I L Pula Yi -ypw I L Puwa Yi -yra I L Yerakai -yrb I L Yareba -yre I L Yaouré -yri I L Yarí -yrk I L Nenets -yrl I L Nhengatu -yrn I L Yerong -yrs I L Yarsun -yrw I L Yarawata -ysc I E Yassic -ysl I L Yugoslavian Sign Language -ysn I L Sani Yi -yso I L Southeastern Lolo Yi -ysp I L Southern Lolopho Yi -ysr I E Sirenik Yupik -yss I L Yessan-Mayo -yua I L Yucatán Maya -yub I E Yugambal -yuc I L Yuchi -yud I L Judeo-Tripolitanian Arabic -yue I L Yue Chinese -yuf I L Havasupai-Walapai-Yavapai -yug I E Yug -yui I L Yurutí -yuj I L Karkar-Yuri -yuk I E Yuki -yul I L Yulu -yum I L Quechan -yun I L Bena (Nigeria) -yup I L Yukpa -yuq I L Yuqui -yur I L Yurok -yus I L Chan Santa Cruz Maya -yut I L Yopno -yuu I L Yugh -yuw I L Yau (Morobe Province) -yux I L Southern Yukaghir -yuy I L East Yugur -yuz I L Yuracare -yva I L Yawa -yvt I E Yavitero -ywa I L Kalou -ywl I L Western Lalu Yi -ywm I L Wumeng Yi -ywn I L Yawanawa -ywq I L Wuding-Luquan Yi -ywr I L Yawuru -ywt I L Western Yi -ywu I L Wusa Yi -yww I L Yawarawarga -yym I L Yuanjiang-Mojiang Yi -yyu I L Yau (Sandaun Province) -zaa I L Sierra de Juárez Zapotec -zab I L San Juan Guelavía Zapotec -zac I L Ocotlán Zapotec -zad I L Cajonos Zapotec -zae I L Yareni Zapotec -zaf I L Ayoquesco Zapotec -zag I L Zaghawa -zah I L Zangwal -zai I L Isthmus Zapotec -zaj I L Zaramo -zak I L Zanaki -zal I L Zauzou -zam I L Miahuatlán Zapotec -zao I L Ozolotepec Zapotec -zap zap zap M L Zapotec -zaq I L Aloápam Zapotec -zar I L Rincón Zapotec -zas I L Santo Domingo Albarradas Zapotec -zat I L Tabaa Zapotec -zau I L Zangskari -zav I L Yatzachi Zapotec -zaw I L Mitla Zapotec -zax I L Xadani Zapotec -zay I L Zayse-Zergulla -zaz I L Zari -zca I L Coatecas Altas Zapotec -zdj I L Ngazidja Comorian -zea I L Zeeuws -zeg I L Zenag -zen zen zen I L Zenaga -zga I L Kinga -zgr I L Magori -zha zha zha za M L Zhuang -zhb I L Zhaba -zhd I L Dai Zhuang -zhi I L Zhire -zhn I L Nong Zhuang -zho chi zho zh M L Chinese -zhw I L Zhoa -zia I L Zia -zib I L Zimbabwe Sign Language -zik I L Zimakani -zim I L Mesme -zin I L Zinza -zir I L Ziriya -ziw I L Zigula -ziz I L Zizilivakan -zka I L Kaimbulawa -zkb I E Koibal -zkg I E Koguryo -zkh I E Khorezmian -zkk I E Karankawa -zko I E Kott -zkp I E São Paulo Kaingáng -zkr I L Zakhring -zkt I E Kitan -zku I E Kaurna -zkv I E Krevinian -zkz I E Khazar -zma I L Manda (Australia) -zmb I L Zimba -zmc I L Margany -zmd I L Maridan -zme I L Mangerr -zmf I L Mfinu -zmg I L Marti Ke -zmh I L Makolkol -zmi I L Negeri Sembilan Malay -zmj I L Maridjabin -zmk I L Mandandanyi -zml I L Madngele -zmm I L Marimanindji -zmn I L Mbangwe -zmo I L Molo -zmp I L Mpuono -zmq I L Mituku -zmr I L Maranunggu -zms I L Mbesa -zmt I L Maringarr -zmu I L Muruwari -zmv I L Mbariman-Gudhinma -zmw I L Mbo (Democratic Republic of Congo) -zmx I L Bomitaba -zmy I L Mariyedi -zmz I L Mbandja -zna I L Zan Gula -zne I L Zande (individual language) -zng I L Mang -znk I E Manangkari -zns I L Mangas -zoc I L Copainalá Zoque -zoh I L Chimalapa Zoque -zom I L Zou -zoo I L Asunción Mixtepec Zapotec -zoq I L Tabasco Zoque -zor I L Rayón Zoque -zos I L Francisco León Zoque -zpa I L Lachiguiri Zapotec -zpb I L Yautepec Zapotec -zpc I L Choapan Zapotec -zpd I L Southeastern Ixtlán Zapotec -zpe I L Petapa Zapotec -zpf I L San Pedro Quiatoni Zapotec -zpg I L Guevea De Humboldt Zapotec -zph I L Totomachapan Zapotec -zpi I L Santa María Quiegolani Zapotec -zpj I L Quiavicuzas Zapotec -zpk I L Tlacolulita Zapotec -zpl I L Lachixío Zapotec -zpm I L Mixtepec Zapotec -zpn I L Santa Inés Yatzechi Zapotec -zpo I L Amatlán Zapotec -zpp I L El Alto Zapotec -zpq I L Zoogocho Zapotec -zpr I L Santiago Xanica Zapotec -zps I L Coatlán Zapotec -zpt I L San Vicente Coatlán Zapotec -zpu I L Yalálag Zapotec -zpv I L Chichicapan Zapotec -zpw I L Zaniza Zapotec -zpx I L San Baltazar Loxicha Zapotec -zpy I L Mazaltepec Zapotec -zpz I L Texmelucan Zapotec -zra I E Kara (Korea) -zrg I L Mirgan -zrn I L Zirenkel -zro I L Záparo -zrp I E Zarphatic -zrs I L Mairasi -zsk I A Kaskean -zsl I L Zambian Sign Language -zsr I L Southern Rincon Zapotec -zte I L Elotepec Zapotec -ztg I L Xanaguía Zapotec -ztl I L Lapaguía-Guivini Zapotec -ztm I L San Agustín Mixtepec Zapotec -ztn I L Santa Catarina Albarradas Zapotec -ztp I L Loxicha Zapotec -ztq I L Quioquitani-Quierí Zapotec -zts I L Tilquiapan Zapotec -ztt I L Tejalapan Zapotec -ztu I L Güilá Zapotec -ztx I L Zaachila Zapotec -zty I L Yatee Zapotec -zua I L Zeem -zuh I L Tokano -zul zul zul zu I L Zulu -zum I L Kumzari -zun zun zun I L Zuni -zuy I L Zumaya -zwa I L Zay -zxx zxx zxx S S No linguistic content -zyg I L Yang Zhuang -zyn I L Yongnan Zhuang -zyp I L Zyphe -zza zza zza M L Zaza -zzj I L Zuojiang Zhuang \ No newline at end of file From 2d8e92b78700095a96ee70fffc7a01697362c131 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 7 Feb 2019 11:19:24 -0600 Subject: [PATCH 15/49] Create more nuget packages Also remove some files that were not included in the old .csproj files (in SIL.Archiving) - I don't know if they are still needed, but since they were not included in the old .csproj files they were not available previously, and nobody seems to have missed them, so I decided to remove them. --- Palaso.sln | 2161 +++++++++-------- SIL.Archiving/ArbilUtils.cs | 46 - .../AccessProtocol/AILCAAccessProtocol.cs | 63 - .../AccessProtocol/ELARAccessProtocol.cs | 51 - SIL.Archiving/Properties/AssemblyInfo.cs | 22 +- SIL.Archiving/SIL.Archiving.csproj | 445 +--- .../SIL.Core.Desktop.Tests.csproj | 2 - SIL.Core.Desktop/Properties/AssemblyInfo.cs | 26 +- SIL.Core.Desktop/SIL.Core.Desktop.csproj | 410 +--- SIL.Core.Desktop/packages.config | 4 - SIL.Core.Tests/Properties/AssemblyInfo.cs | 17 - SIL.Core.Tests/SIL.Core.Tests.csproj | 429 +--- SIL.Core.Tests/packages.config | 4 - SIL.Core/Properties/AssemblyInfo.cs | 5 - SIL.Core/SIL.Core.csproj | 20 +- SIL.DblBundle/SIL.DblBundle.csproj | 29 +- .../Properties/AssemblyInfo.cs | 25 +- .../SIL.DictionaryServices.csproj | 401 +-- SIL.Lexicon/Properties/AssemblyInfo.cs | 17 - SIL.Lexicon/SIL.Lexicon.csproj | 342 +-- SIL.Lift.Tests/SIL.Lift.Tests.csproj | 13 +- SIL.Lift.Tests/packages.config | 5 +- SIL.Lift/Migration/Migrator.cs | 4 +- SIL.Lift/Properties/AssemblyInfo.cs | 25 +- SIL.Lift/SIL.Lift.csproj | 448 +--- SIL.Lift/Validation/Validator.cs | 2 +- SIL.Lift/packages.config | 4 - SIL.Linux.Logging/Properties/AssemblyInfo.cs | 38 +- SIL.Linux.Logging/SIL.Linux.Logging.csproj | 336 +-- .../SIL.Scripture.Tests.csproj | 4 - SIL.Scripture/Properties/AssemblyInfo.cs | 6 +- SIL.Scripture/SIL.Scripture.csproj | 24 +- SIL.TestUtilities/Properties/AssemblyInfo.cs | 22 - SIL.TestUtilities/SIL.TestUtilities.csproj | 370 +-- SIL.TestUtilities/packages.config | 4 - .../Properties/AssemblyInfo.cs | 19 +- .../SIL.Windows.Forms.DblBundle.csproj | 370 +-- SIL.Windows.Forms.DblBundle/packages.config | 4 - .../GeckoFxWebBrowserAdapter.cs | 2 +- .../Properties/AssemblyInfo.cs | 10 - ...L.Windows.Forms.GeckoBrowserAdapter.csproj | 347 +-- .../Properties/AssemblyInfo.cs | 17 - ...SIL.Windows.Forms.Keyboarding.Tests.csproj | 344 +-- .../packages.config | 7 - .../CombinedIbusKeyboardRetrievingAdaptor.cs | 1 - .../CombinedIbusKeyboardSwitchingAdaptor.cs | 1 - .../Linux/IbusKeyboardSwitchingAdaptor.cs | 1 - .../UnityIbusKeyboardRetrievingAdaptor.cs | 1 - .../UnityIbusKeyboardSwitchingAdaptor.cs | 1 - .../UnityXkbKeyboardRetrievingAdaptor.cs | 1 - .../Linux/XklEngine.cs | 2 + .../Properties/AssemblyInfo.cs | 24 +- .../SIL.Windows.Forms.Keyboarding.csproj | 458 +--- .../Windows/KeymanKeyboardAdaptor.cs | 6 - .../Windows/KeymanKeyboardSwitchingAdapter.cs | 2 - .../LegacyKeymanKeyboardSwitchingAdapter.cs | 6 - .../Windows/WinKeyboardAdaptor.cs | 4 +- .../Windows/WinKeyboardDescription.cs | 8 +- .../WindowsKeyboardSwitchingAdapter.cs | 2 - SIL.Windows.Forms.Keyboarding/packages.config | 11 - .../Properties/AssemblyInfo.cs | 17 - .../SIL.Windows.Forms.Scripture.csproj | 490 +--- .../Properties/AssemblyInfo.cs | 18 - .../SIL.Windows.Forms.Tests.csproj | 449 +--- SIL.Windows.Forms.Tests/packages.config | 6 - ....Windows.Forms.WritingSystems.Tests.csproj | 4 - .../Properties/AssemblyInfo.cs | 25 +- .../SIL.Windows.Forms.WritingSystems.csproj | 596 +---- .../packages.config | 4 - .../ImageToolbox/AcquireImageControl.cs | 10 - .../ImageToolbox/ImageAcquisitionService.cs | 4 +- SIL.Windows.Forms/Properties/AssemblyInfo.cs | 25 +- SIL.Windows.Forms/SIL.Windows.Forms.csproj | 1220 +--------- SIL.Windows.Forms/packages.config | 9 - .../Properties/AssemblyInfo.cs | 15 - .../SIL.WritingSystems.Tests.csproj | 401 +-- SIL.WritingSystems.Tests/packages.config | 5 - SIL.WritingSystems/Properties/AssemblyInfo.cs | 7 - SIL.WritingSystems/SIL.WritingSystems.csproj | 23 +- .../SIL.Windows.Forms.TestApp.csproj | 4 +- .../SIL.Windows.Forms.TestApp/packages.config | 2 +- lib/Release/Keyman7Interop.dll | Bin 40960 -> 0 bytes lib/Release/KeymanLink.dll | Bin 28672 -> 0 bytes lib/common/Enchant.Net.dll | Bin 32768 -> 0 bytes lib/common/Enchant.Net.dll.config | 4 - lib/{Debug => common}/Keyman7Interop.dll | Bin lib/{Debug => common}/KeymanLink.dll | Bin 87 files changed, 1776 insertions(+), 9035 deletions(-) delete mode 100644 SIL.Archiving/ArbilUtils.cs delete mode 100644 SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs delete mode 100644 SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs delete mode 100644 SIL.Core.Desktop/packages.config delete mode 100644 SIL.Core.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Core.Tests/packages.config delete mode 100644 SIL.Lexicon/Properties/AssemblyInfo.cs delete mode 100644 SIL.Lift/packages.config delete mode 100644 SIL.TestUtilities/Properties/AssemblyInfo.cs delete mode 100644 SIL.TestUtilities/packages.config delete mode 100644 SIL.Windows.Forms.DblBundle/packages.config delete mode 100644 SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs delete mode 100644 SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Windows.Forms.Keyboarding.Tests/packages.config delete mode 100644 SIL.Windows.Forms.Keyboarding/packages.config delete mode 100644 SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs delete mode 100644 SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Windows.Forms.Tests/packages.config delete mode 100644 SIL.Windows.Forms.WritingSystems/packages.config delete mode 100644 SIL.Windows.Forms/packages.config delete mode 100644 SIL.WritingSystems.Tests/packages.config delete mode 100644 lib/Release/Keyman7Interop.dll delete mode 100644 lib/Release/KeymanLink.dll delete mode 100644 lib/common/Enchant.Net.dll delete mode 100644 lib/common/Enchant.Net.dll.config rename lib/{Debug => common}/Keyman7Interop.dll (100%) rename lib/{Debug => common}/KeymanLink.dll (100%) diff --git a/Palaso.sln b/Palaso.sln index 2ae0bc5a3..f53691d6d 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -3,29 +3,29 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.2036 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Tests", "SIL.Core.Tests\SIL.Core.Tests.csproj", "{5DE33CD7-60CB-4B9F-A123-A83C1C686E47}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Tests", "SIL.Core.Tests\SIL.Core.Tests.csproj", "{5DE33CD7-60CB-4B9F-A123-A83C1C686E47}" ProjectSection(ProjectDependencies) = postProject {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} = {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms", "SIL.Windows.Forms\SIL.Windows.Forms.csproj", "{DB44F49C-D8C6-434F-81ED-28EA5C9E8195}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms", "SIL.Windows.Forms\SIL.Windows.Forms.csproj", "{DB44F49C-D8C6-434F-81ED-28EA5C9E8195}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddSortKey", "AddSortKey\AddSortKey.csproj", "{3D4F73A8-DB05-4580-98A0-DEE34C010636}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Tests", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests.csproj", "{6E16866F-FF8D-4136-AD67-36AFE3626432}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Tests", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests.csproj", "{6E16866F-FF8D-4136-AD67-36AFE3626432}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media", "SIL.Media\SIL.Media.csproj", "{66B3504A-3B4E-45CB-903A-A9A75B22EF68}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media.Tests", "SIL.Media.Tests\SIL.Media.Tests.csproj", "{CD4AF11C-C214-4D90-8F12-6DA97836B800}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities", "SIL.TestUtilities\SIL.TestUtilities.csproj", "{D74CE910-D44A-44F5-8C0F-F5E50B26F85D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.TestUtilities", "SIL.TestUtilities\SIL.TestUtilities.csproj", "{D74CE910-D44A-44F5-8C0F-F5E50B26F85D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reporting.TestApp", "TestApps\ReportingTest\Reporting.TestApp.csproj", "{13B5E313-1B26-4DAE-9E96-133768B62FD2}" ProjectSection(ProjectDependencies) = postProject {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} = {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving", "SIL.Archiving\SIL.Archiving.csproj", "{BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Archiving", "SIL.Archiving\SIL.Archiving.csproj", "{BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving.Tests", "SIL.Archiving.Tests\SIL.Archiving.Tests.csproj", "{892C7F20-FBBB-4AB3-BAC2-E40A135567B6}" EndProject @@ -35,38 +35,38 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Scripture.Tests", "SIL. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestAppKeyboard", "TestApps\TestAppKeyboard\TestAppKeyboard.csproj", "{776BECCD-102A-4C69-A478-4A4A6F695019}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.GeckoBrowserAdapter", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter.csproj", "{D000879E-9AA6-4811-A6F0-80DF6119FB08}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.GeckoBrowserAdapter", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter.csproj", "{D000879E-9AA6-4811-A6F0-80DF6119FB08}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture.csproj", "{6CA85A3E-4AB3-4BBC-861F-0C68F018868B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Scripture", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture.csproj", "{6CA85A3E-4AB3-4BBC-861F-0C68F018868B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture.Tests", "SIL.Windows.Forms.Scripture.Tests\SIL.Windows.Forms.Scripture.Tests.csproj", "{CCF34218-52D9-4092-ADB8-1893BBE5ED31}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.WritingSystems.Tests", "SIL.WritingSystems.Tests\SIL.WritingSystems.Tests.csproj", "{641EB241-BF16-4A5F-89BD-54411F9AC973}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.WritingSystems.Tests", "SIL.WritingSystems.Tests\SIL.WritingSystems.Tests.csproj", "{641EB241-BF16-4A5F-89BD-54411F9AC973}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems", "SIL.Windows.Forms.WritingSystems\SIL.Windows.Forms.WritingSystems.csproj", "{F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.WritingSystems", "SIL.Windows.Forms.WritingSystems\SIL.Windows.Forms.WritingSystems.csproj", "{F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}" ProjectSection(ProjectDependencies) = postProject {0580ED5F-6274-4928-83EE-175F01AD052D} = {0580ED5F-6274-4928-83EE-175F01AD052D} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems.Tests", "SIL.Windows.Forms.WritingSystems.Tests\SIL.Windows.Forms.WritingSystems.Tests.csproj", "{24E0B3A0-EE71-48CE-82F9-549F1F47322F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Keyboarding", "SIL.Windows.Forms.Keyboarding\SIL.Windows.Forms.Keyboarding.csproj", "{0580ED5F-6274-4928-83EE-175F01AD052D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Keyboarding", "SIL.Windows.Forms.Keyboarding\SIL.Windows.Forms.Keyboarding.csproj", "{0580ED5F-6274-4928-83EE-175F01AD052D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Keyboarding.Tests", "SIL.Windows.Forms.Keyboarding.Tests\SIL.Windows.Forms.Keyboarding.Tests.csproj", "{B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Keyboarding.Tests", "SIL.Windows.Forms.Keyboarding.Tests\SIL.Windows.Forms.Keyboarding.Tests.csproj", "{B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DblBundle", "SIL.DblBundle\SIL.DblBundle.csproj", "{D4F0F320-FAF6-4775-8411-4D03FAE99F84}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DblBundle.Tests", "SIL.DblBundle.Tests\SIL.DblBundle.Tests.csproj", "{66685009-8F78-4FED-A106-E5BD6E746E1A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lexicon", "SIL.Lexicon\SIL.Lexicon.csproj", "{FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lexicon", "SIL.Lexicon\SIL.Lexicon.csproj", "{FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lexicon.Tests", "SIL.Lexicon.Tests\SIL.Lexicon.Tests.csproj", "{67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DictionaryServices.Tests", "SIL.DictionaryServices.Tests\SIL.DictionaryServices.Tests.csproj", "{CC84BDED-CECD-466A-9397-F5D83527B218}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DictionaryServices", "SIL.DictionaryServices\SIL.DictionaryServices.csproj", "{5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DictionaryServices", "SIL.DictionaryServices\SIL.DictionaryServices.csproj", "{5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lift", "SIL.Lift\SIL.Lift.csproj", "{60B4A08C-54F3-4BC7-83ED-F84274FABFAC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lift", "SIL.Lift\SIL.Lift.csproj", "{60B4A08C-54F3-4BC7-83ED-F84274FABFAC}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lift.Tests", "SIL.Lift.Tests\SIL.Lift.Tests.csproj", "{FE61F837-8EAA-4FD7-824A-9949194430DC}" EndProject @@ -84,13 +84,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastSplitterTest", "TestApps\FastSplitterTest\FastSplitterTest.csproj", "{CA8F3657-3D85-4C97-81A6-5C212627B2F6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.DblBundle", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle.csproj", "{A5260B7F-A48B-495C-86C4-73B1419B17F2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.DblBundle", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle.csproj", "{A5260B7F-A48B-495C-86C4-73B1419B17F2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Linux.Logging", "SIL.Linux.Logging\SIL.Linux.Logging.csproj", "{D098D062-0B47-4A68-BE0A-5FB597B6896C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Linux.Logging", "SIL.Linux.Logging\SIL.Linux.Logging.csproj", "{D098D062-0B47-4A68-BE0A-5FB597B6896C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Linux.Logging.Tests", "SIL.Linux.Logging.Tests\SIL.Linux.Logging.Tests.csproj", "{D7AD97B3-88DB-400D-B748-0E06914F17FC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Desktop", "SIL.Core.Desktop\SIL.Core.Desktop.csproj", "{C48DE000-2086-4CEB-A5A1-3171C272725E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Desktop", "SIL.Core.Desktop\SIL.Core.Desktop.csproj", "{C48DE000-2086-4CEB-A5A1-3171C272725E}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Desktop.Tests", "SIL.Core.Desktop.Tests\SIL.Core.Desktop.Tests.csproj", "{4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}" EndProject @@ -107,10 +107,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig .gitattributes = .gitattributes .gitignore = .gitignore - GlobalAssemblyInfo.props = GlobalAssemblyInfo.props - NuGet.config = NuGet.config - GitVersion.yml = GitVersion.yml CHANGELOG.md = CHANGELOG.md + GitVersion.yml = GitVersion.yml + NuGet.config = NuGet.config EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" @@ -155,130 +154,130 @@ Global {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Any CPU.Build.0 = Debug|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.ActiveCfg = Debug|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.Build.0 = Debug|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.ActiveCfg = Debug|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.Build.0 = Debug|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.Build.0 = DebugMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.Build.0 = DebugMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.Build.0 = Debug|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Any CPU.ActiveCfg = Release|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Any CPU.Build.0 = Release|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.ActiveCfg = Release|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.Build.0 = Release|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.ActiveCfg = Release|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.Build.0 = Release|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Any CPU.Build.0 = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.ActiveCfg = Debug|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.Build.0 = Debug|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.ActiveCfg = Debug|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.Build.0 = Debug|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.Build.0 = DebugMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.Build.0 = DebugMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.Build.0 = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Any CPU.Build.0 = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.ActiveCfg = Release|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.Build.0 = Release|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.ActiveCfg = Release|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.Build.0 = Release|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Any CPU.Build.0 = Debug|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -347,66 +346,66 @@ Global {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Any CPU.Build.0 = Debug|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.ActiveCfg = Debug|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.Build.0 = Debug|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.ActiveCfg = Debug|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.Build.0 = Debug|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.Build.0 = DebugMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.Build.0 = DebugMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.Build.0 = Debug|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Any CPU.ActiveCfg = Release|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Any CPU.Build.0 = Release|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.ActiveCfg = Release|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.Build.0 = Release|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.ActiveCfg = Release|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.Build.0 = Release|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.Build.0 = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 @@ -539,62 +538,66 @@ Global {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.Build.0 = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.ActiveCfg = Debug|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.Build.0 = Debug|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.ActiveCfg = Debug|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.Build.0 = Debug|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.Build.0 = DebugMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x86.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.Build.0 = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Any CPU.ActiveCfg = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Any CPU.Build.0 = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.ActiveCfg = Release|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.Build.0 = Release|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.ActiveCfg = Release|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.Build.0 = Release|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x86.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Any CPU.Build.0 = Debug|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -663,66 +666,66 @@ Global {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.ActiveCfg = Debug|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.Build.0 = Debug|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.ActiveCfg = Debug|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.Build.0 = Debug|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.Build.0 = DebugMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.Build.0 = DebugMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.Build.0 = Debug|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Any CPU.Build.0 = Release|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.ActiveCfg = Release|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.Build.0 = Release|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.ActiveCfg = Release|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.Build.0 = Release|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Any CPU.Build.0 = Debug|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -803,22 +806,22 @@ Global {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x64.Build.0 = Debug|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x86.ActiveCfg = Debug|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x86.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.Build.0 = Debug|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Any CPU.ActiveCfg = Release|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Any CPU.Build.0 = Release|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU @@ -835,22 +838,22 @@ Global {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x64.Build.0 = Release|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x86.ActiveCfg = Release|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x86.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Any CPU.Build.0 = Debug|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -979,130 +982,130 @@ Global {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Any CPU.Build.0 = Debug|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.ActiveCfg = Debug|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.Build.0 = Debug|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.ActiveCfg = Debug|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.Build.0 = Debug|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.Build.0 = DebugMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.Build.0 = DebugMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.Build.0 = Debug|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Any CPU.ActiveCfg = Release|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Any CPU.Build.0 = Release|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.ActiveCfg = Release|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.Build.0 = Release|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.ActiveCfg = Release|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.Build.0 = Release|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.ActiveCfg = Debug|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.Build.0 = Debug|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.ActiveCfg = Debug|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.Build.0 = Debug|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.Build.0 = DebugMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.Build.0 = DebugMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.Build.0 = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Any CPU.Build.0 = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.ActiveCfg = Release|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.Build.0 = Release|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.ActiveCfg = Release|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.Build.0 = Release|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -1171,130 +1174,130 @@ Global {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Any CPU.Build.0 = Debug|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.ActiveCfg = Debug|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.Build.0 = Debug|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.ActiveCfg = Debug|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.Build.0 = Debug|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.Build.0 = DebugMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.Build.0 = DebugMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.Build.0 = Debug|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Any CPU.ActiveCfg = Release|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Any CPU.Build.0 = Release|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.ActiveCfg = Release|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.Build.0 = Release|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.ActiveCfg = Release|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.Build.0 = Release|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Any CPU.Build.0 = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.ActiveCfg = Debug|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.Build.0 = Debug|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.ActiveCfg = Debug|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.Build.0 = Debug|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.Build.0 = DebugMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.Build.0 = DebugMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.Build.0 = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Any CPU.ActiveCfg = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Any CPU.Build.0 = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.ActiveCfg = Release|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.Build.0 = Release|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.ActiveCfg = Release|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.Build.0 = Release|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Any CPU.Build.0 = Debug|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -1361,132 +1364,132 @@ Global {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.ActiveCfg = Debug|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.Build.0 = Debug|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.ActiveCfg = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.Build.0 = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.Build.0 = DebugMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.Build.0 = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.Build.0 = Debug|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Any CPU.ActiveCfg = Release|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Any CPU.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.Build.0 = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.ActiveCfg = Release|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.Build.0 = Release|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.ActiveCfg = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.Build.0 = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.ActiveCfg = Debug|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.Build.0 = Debug|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.ActiveCfg = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.Build.0 = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.Build.0 = DebugMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.Build.0 = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.Build.0 = Debug|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Any CPU.ActiveCfg = Release|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Any CPU.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.Build.0 = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.ActiveCfg = Release|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.Build.0 = Release|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.ActiveCfg = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.Build.0 = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Any CPU.Build.0 = Debug|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -1619,66 +1622,66 @@ Global {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Any CPU.Build.0 = Debug|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.ActiveCfg = Debug|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.Build.0 = Debug|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.ActiveCfg = Debug|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.Build.0 = Debug|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.Build.0 = DebugMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.Build.0 = DebugMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.Build.0 = Debug|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Any CPU.ActiveCfg = Release|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Any CPU.Build.0 = Release|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.ActiveCfg = Release|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.Build.0 = Release|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.ActiveCfg = Release|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.Build.0 = Release|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Any CPU.Build.0 = Debug|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -1811,130 +1814,130 @@ Global {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.ActiveCfg = Debug|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.Build.0 = Debug|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.ActiveCfg = Debug|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.Build.0 = Debug|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.Build.0 = DebugMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.Build.0 = DebugMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.Build.0 = Debug|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Any CPU.Build.0 = Release|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.ActiveCfg = Release|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.Build.0 = Release|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.ActiveCfg = Release|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.Build.0 = Release|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Any CPU.Build.0 = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.ActiveCfg = Debug|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.Build.0 = Debug|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.ActiveCfg = Debug|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.Build.0 = Debug|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.Build.0 = DebugMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.Build.0 = DebugMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.Build.0 = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Any CPU.ActiveCfg = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Any CPU.Build.0 = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.ActiveCfg = Release|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.Build.0 = Release|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.ActiveCfg = Release|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.Build.0 = Release|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Any CPU.Build.0 = Debug|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -2191,106 +2194,130 @@ Global {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Any CPU.Build.0 = Debug|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.ActiveCfg = Debug|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.Build.0 = Debug|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.ActiveCfg = Debug|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.Build.0 = Debug|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.Build.0 = DebugMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x86.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.Build.0 = Debug|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Any CPU.ActiveCfg = Release|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Any CPU.Build.0 = Release|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.ActiveCfg = Release|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.Build.0 = Release|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.ActiveCfg = Release|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.Build.0 = Release|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x86.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Any CPU.Build.0 = Debug|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x64.ActiveCfg = Debug|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x86.ActiveCfg = Debug|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.Build.0 = DebugMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x64.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x64.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x86.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x86.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x64.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x86.Build.0 = Debug|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Any CPU.Build.0 = Release|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x64.ActiveCfg = Release|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x86.ActiveCfg = Release|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x64.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x64.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x86.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x86.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x64.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Any CPU.Build.0 = Debug|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|x64.ActiveCfg = Debug|x64 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|x86.ActiveCfg = Debug|x86 @@ -2309,10 +2336,12 @@ Global {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU + {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Any CPU.Build.0 = Release|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|x64.ActiveCfg = Release|x64 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|x86.ActiveCfg = Release|x86 @@ -2331,6 +2360,7 @@ Global {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU + {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 @@ -2338,63 +2368,66 @@ Global {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Any CPU.Build.0 = Debug|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.ActiveCfg = Debug|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.Build.0 = Debug|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.ActiveCfg = Debug|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.Build.0 = Debug|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.Build.0 = DebugMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x86.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.Build.0 = Debug|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Any CPU.ActiveCfg = Release|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Any CPU.Build.0 = Release|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.ActiveCfg = Release|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.Build.0 = Release|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.ActiveCfg = Release|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.Build.0 = Release|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x86.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -2595,22 +2628,22 @@ Global {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x64.Build.0 = Debug|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x86.ActiveCfg = Debug|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x86.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.Build.0 = Debug|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Any CPU.ActiveCfg = Release|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Any CPU.Build.0 = Release|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU @@ -2627,22 +2660,22 @@ Global {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x64.Build.0 = Release|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x86.ActiveCfg = Release|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x86.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -2659,22 +2692,22 @@ Global {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x64.Build.0 = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x86.ActiveCfg = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x86.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.Build.0 = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Any CPU.Build.0 = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU @@ -2691,82 +2724,82 @@ Global {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x64.Build.0 = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x86.ActiveCfg = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x86.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.Build.0 = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x64.ActiveCfg = Debug|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x64.Build.0 = Debug|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x86.ActiveCfg = Debug|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x86.Build.0 = Debug|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x64.ActiveCfg = DebugMono|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x64.Build.0 = DebugMono|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x86.ActiveCfg = DebugMono|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x86.Build.0 = DebugMono|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.Build.0 = Release|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.Build.0 = Release|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x64.ActiveCfg = Release|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x64.Build.0 = Release|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x86.ActiveCfg = Release|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x86.Build.0 = Release|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 diff --git a/SIL.Archiving/ArbilUtils.cs b/SIL.Archiving/ArbilUtils.cs deleted file mode 100644 index c9b82fe3b..000000000 --- a/SIL.Archiving/ArbilUtils.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Palaso.IO; -using System.IO; - -namespace SIL.Archiving -{ - class ArbilUtils - { - - private readonly ArchivingDlgViewModel _archivingDlgViewModel; - - public ArbilUtils(ArchivingDlgViewModel model) - { - _archivingDlgViewModel = model; - } - - public bool Launch() - { - - - - return true; - } - - /// ------------------------------------------------------------------------------------ - /// - /// Get the path and file name of the Arbil executable file - /// - /// The full name of the Arbil executable file - /// ------------------------------------------------------------------------------------ - public static string GetExeFileLocation() - { - string exeFile; - - if (ArchivingDlgViewModel.IsMono) - exeFile = FileLocator.LocateInProgramFiles("RAMP", true); - else - exeFile = FileLocator.LocateInProgramFiles("arbil-stable.exe", true, "arbil"); - - // make sure the file exists - if (!File.Exists(exeFile)) - throw new FileNotFoundException("The Arbil executable file was not found."); - - return new FileInfo(exeFile).FullName; - } - } -} diff --git a/SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs b/SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs deleted file mode 100644 index 5c0f35bfd..000000000 --- a/SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; - -namespace SIL.Archiving.Generic.AccessProtocol -{ - - /// Access protocol for AILCA (The Archive of Indigenous Languages and Cultures of Asia) - /// - public class AILCAAccessProtocol : AccessProtocolBase, IAccessProtocol - { - protected AccessOption _access; - - /// List of access options for The Language Archive - public enum AccessOption - { - /// access is Free to all - F, - /// all Users can access (requires registration) - U, - /// Researchers and Community members are allowed access - // ReSharper disable once InconsistentNaming - RC, - /// only Community members are allowed access (normally requires application to Depositor) - C, - /// only Subscribers are allowed access (requires application to Depositor) - S, - /// only the Depositor and delegate can access - None - } - - /// Who has access, and how do you get access - public AILCAAccessProtocol(AccessOption access) - { - _access = access; - } - - /// Returns the code to use in the archive package - public string GetAccessCode() - { - switch (_access) - { - case AccessOption.F: - return "F"; - - case AccessOption.U: - return "U"; - - case AccessOption.RC: - return "RC"; - - case AccessOption.C: - return "C"; - - case AccessOption.S: - return "S"; - - case AccessOption.None: - return ""; - } - - throw new NotSupportedException("The selected access protocol is not supported."); - } - } -} diff --git a/SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs b/SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs deleted file mode 100644 index 2befb3b5c..000000000 --- a/SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; - -namespace SIL.Archiving.Generic.AccessProtocol -{ - /// Access protocol for ELAR (Endangered Languages Archive) - /// - public class ElarAccessProtocol : AccessProtocolBase, IAccessProtocol - { - protected AccessOption _access; - - /// List of access options for The Language Archive - public enum AccessOption - { - /// all Users can access - U, - /// Researchers and Community members are allowed access - R, - /// only Community members are allowed access - C, - /// only Subscribers are allowed access - S - } - - /// Who has access, and how do you get access - public ElarAccessProtocol(AccessOption access) - { - _access = access; - } - - /// Returns the code to use in the archive package - public string GetAccessCode() - { - switch (_access) - { - case AccessOption.U: - return "U"; - - case AccessOption.R: - return "R"; - - case AccessOption.C: - return "C"; - - case AccessOption.S: - return "S"; - } - - throw new NotSupportedException("The selected access protocol is not supported."); - } - } -} diff --git a/SIL.Archiving/Properties/AssemblyInfo.cs b/SIL.Archiving/Properties/AssemblyInfo.cs index ec0bbea6b..7934654cb 100755 --- a/SIL.Archiving/Properties/AssemblyInfo.cs +++ b/SIL.Archiving/Properties/AssemblyInfo.cs @@ -1,23 +1,11 @@ -using System.Reflection; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using SIL.Acknowledgements; -// 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("SIL.Archiving")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("2edd981c-375e-4461-8412-2f62884ce827")] -[assembly: InternalsVisibleTo("SIL.Archiving.Tests")] +[assembly: InternalsVisibleTo("SIL.Archiving.Tests, PublicKey=0024000004800000940000000" + + "6020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d7197" + + "5e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1" + + "c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d5" + + "1c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("DotNetZip", Copyright = "Henrik Feldt/Dino Chiesa", Url = "https://github.com/haf/DotNetZip.Semverd", LicenseUrl = "https://raw.githubusercontent.com/haf/DotNetZip.Semverd/master/LICENSE", Location = "./DotNetZip.dll", diff --git a/SIL.Archiving/SIL.Archiving.csproj b/SIL.Archiving/SIL.Archiving.csproj index 2844007fa..858ddfb59 100644 --- a/SIL.Archiving/SIL.Archiving.csproj +++ b/SIL.Archiving/SIL.Archiving.csproj @@ -1,428 +1,55 @@ - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3} - Library - Properties + net461 SIL.Archiving - SIL.Archiving - v4.6.1 - 6 - 512 - - - - - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Archiving.XML - 1591 - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - - - - - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Archiving.XML - full - AnyCPU - ..\output\Debug\SIL.Archiving.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - ..\output\ReleaseMono\SIL.Archiving.XML - true - pdbonly - AnyCPU - ..\output\Release\SIL.Archiving.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - 1591 - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Archiving.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Archiving.XML - 1591 - - - ..\output\ReleaseStrongName - TRACE - ..\output\ReleaseStrongName\SIL.Archiving.XML - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Archiving.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - - - ..\output\Release - TRACE - ..\output\Release\SIL.Archiving.XML - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Archiving.XML - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Archiving.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Archiving.XML - 1591 - - - ..\output\ReleaseStrongName - TRACE - ..\output\ReleaseStrongName\SIL.Archiving.XML - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - 1591 - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk + - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll - - - ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll - True - - - - - - - - - - - - - + + + all + + + + all + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - Form - - - ArchivingDlg.cs - - - - - - - - - - - Form - - - - - - - - - - - - - - - - - - - - - True + + + + + + + + True - Resources.resx - - True - True Settings.settings + - - ArchivingDlg.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} - SIL.Windows.Forms - - - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA} - SIL.WritingSystems - - - - - - - Designer - - SettingsSingleFileGenerator Settings.Designer.cs - - - - - - - - - - - - - - - \ No newline at end of file + + diff --git a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj index bb1a879b4..26ee7c6c2 100644 --- a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj +++ b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj @@ -15,8 +15,6 @@ - - true ..\palaso.snk diff --git a/SIL.Core.Desktop/Properties/AssemblyInfo.cs b/SIL.Core.Desktop/Properties/AssemblyInfo.cs index 2d175cb88..6e505a34f 100644 --- a/SIL.Core.Desktop/Properties/AssemblyInfo.cs +++ b/SIL.Core.Desktop/Properties/AssemblyInfo.cs @@ -1,35 +1,11 @@ -using System; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// 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("SIL.Core.Desktop")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("c48de000-2086-4ceb-a5a1-3171c272725e")] - -[assembly: CLSCompliant(true)] - -#if STRONG_NAME [assembly: InternalsVisibleTo("SIL.Core.Desktop.Tests, " + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("SIL.Core.Desktop.Tests")] -#endif [assembly: Acknowledgement("NDesk.DBus", Name = "NDesk.DBus", Url = "https://www.nuget.org/packages/NDesk.DBus/", LicenseUrl = "https://opensource.org/licenses/MIT", Copyright = "Copyright © 2006 Alp Toker", Location = "./NDesk.DBus.dll")] diff --git a/SIL.Core.Desktop/SIL.Core.Desktop.csproj b/SIL.Core.Desktop/SIL.Core.Desktop.csproj index fd7867669..6bd20a86d 100644 --- a/SIL.Core.Desktop/SIL.Core.Desktop.csproj +++ b/SIL.Core.Desktop/SIL.Core.Desktop.csproj @@ -1,392 +1,40 @@ - - - + - Debug - AnyCPU - {C48DE000-2086-4CEB-A5A1-3171C272725E} - Library - Properties + net461 SIL - SIL.Core.Desktop - v4.6.1 - 6 - 512 - - - - - - true - ..\palaso.snk - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - AnyCPU - prompt - 4 - ..\output\Debug\SIL.Core.Desktop.XML - 1591 - false - - - pdbonly - true - ..\output\Release\ - TRACE - AnyCPU + SIL.Core.Desktop + Debug;Release + SIL.Core.Desktop provides general UI related utilities for language software. + + SIL + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output prompt 4 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE - ..\output\DebugMono\SIL.Core.Desktop.XML - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Core.Desktop.XML - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Core.Desktop.XML - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Core.Desktop.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.Core.Desktop.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Core.Desktop.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + true + ../palaso.snk - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - True - - - - - - - - - - - - + + all + + + + all + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - True - True - Settings.settings - - - - - - - - True - True - ErrorReportSettings.settings - - - - - - - True - True - ReportingStrings.resx - - - - - - - - - - - - - - - + - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - PublicSettingsSingleFileGenerator - ErrorReportSettings.Designer.cs - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - - - ResXFileCodeGenerator - ReportingStrings.Designer.cs - + + + - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file + diff --git a/SIL.Core.Desktop/packages.config b/SIL.Core.Desktop/packages.config deleted file mode 100644 index 55c968606..000000000 --- a/SIL.Core.Desktop/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Core.Tests/Properties/AssemblyInfo.cs b/SIL.Core.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index ad013a3a6..000000000 --- a/SIL.Core.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Core.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("5045fb1b-46c3-4078-8e1e-418d4d751e6a")] diff --git a/SIL.Core.Tests/SIL.Core.Tests.csproj b/SIL.Core.Tests/SIL.Core.Tests.csproj index 842460b26..fc28a96ba 100644 --- a/SIL.Core.Tests/SIL.Core.Tests.csproj +++ b/SIL.Core.Tests/SIL.Core.Tests.csproj @@ -1,417 +1,28 @@ - - + + - Debug - AnyCPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - Library - Properties + net461 + SIL.Core.Tests SIL.Tests - SIL.Core.Tests - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - true - true - - - - + Debug;Release + Unit tests for SIL.Core + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - 4 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - 4 - false - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - + ../palaso.snk + - + + + + - + - \ No newline at end of file + + diff --git a/SIL.Core.Tests/packages.config b/SIL.Core.Tests/packages.config deleted file mode 100644 index 01c187ccb..000000000 --- a/SIL.Core.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Core/Properties/AssemblyInfo.cs b/SIL.Core/Properties/AssemblyInfo.cs index c943cef0f..14299433a 100644 --- a/SIL.Core/Properties/AssemblyInfo.cs +++ b/SIL.Core/Properties/AssemblyInfo.cs @@ -7,13 +7,8 @@ [assembly: CLSCompliant(true)] -#if STRONG_NAME [assembly: InternalsVisibleTo("SIL.Core.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("SIL.WritingSystems.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("SIL.Core.Tests")] -[assembly: InternalsVisibleTo("SIL.WritingSystems.Tests")] -#endif [assembly: Acknowledgement("Newtonsoft.Json", Name = "Json.NET", Url = "https://www.nuget.org/packages/Newtonsoft.Json/", LicenseUrl = "https://opensource.org/licenses/MIT", Copyright = "Copyright © James Newton-King 2008", diff --git a/SIL.Core/SIL.Core.csproj b/SIL.Core/SIL.Core.csproj index b57f3209a..1adda0d4e 100644 --- a/SIL.Core/SIL.Core.csproj +++ b/SIL.Core/SIL.Core.csproj @@ -3,25 +3,19 @@ netstandard2.0;net461 SIL - Debug;Release;DebugStrongName;ReleaseStrongName + Debug;Release SIL.Core provides general utilities for language software. It is the base library for all Palaso libraries. - false - false - false - false - false - false + SIL International SIL International + libpalaso + Copyright © 2010-2019 SIL International MIT https://github.com/sillsdev/libpalaso false - ../output/$(Configuration) - - - + ../output/$(Configuration) + ../output true - ..\palaso.snk - $(DefineConstants);STRONG_NAME + ../palaso.snk diff --git a/SIL.DblBundle/SIL.DblBundle.csproj b/SIL.DblBundle/SIL.DblBundle.csproj index aa5c6b9fe..2efffca49 100644 --- a/SIL.DblBundle/SIL.DblBundle.csproj +++ b/SIL.DblBundle/SIL.DblBundle.csproj @@ -2,22 +2,39 @@ netstandard2.0;net461 + SIL.DblBundle + SIL.DblBundle Debug;Release;DebugStrongName;ReleaseStrongName - SIL.DblBundle provides classes for working with Digital Bible Library bundles. + SIL.DblBundle provides classes for building a Digital Bible Library (DBL) bundle. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk - - + + + all + + + all + + - - - + diff --git a/SIL.DictionaryServices/Properties/AssemblyInfo.cs b/SIL.DictionaryServices/Properties/AssemblyInfo.cs index f65852b31..9a8263834 100644 --- a/SIL.DictionaryServices/Properties/AssemblyInfo.cs +++ b/SIL.DictionaryServices/Properties/AssemblyInfo.cs @@ -1,24 +1,11 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// 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("SIL.DictionaryServices")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("5cc43133-f29b-4295-a717-43e4d129b4e7")] - -[assembly: InternalsVisibleTo("SIL.DictionaryServices.Tests")] +[assembly: InternalsVisibleTo("SIL.DictionaryServices.Tests, PublicKey=0024000004800000940000000" + + "6020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d7197" + + "5e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1" + + "c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d5" + + "1c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("Commons.Xml.Relaxng", Name = "Commons.Xml.Relaxng", Location = "./Commons.Xml.Relaxng.dll", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.DictionaryServices/SIL.DictionaryServices.csproj b/SIL.DictionaryServices/SIL.DictionaryServices.csproj index 00213f77f..eebedd175 100644 --- a/SIL.DictionaryServices/SIL.DictionaryServices.csproj +++ b/SIL.DictionaryServices/SIL.DictionaryServices.csproj @@ -1,375 +1,38 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD} - Library - Properties + net461 SIL.DictionaryServices - SIL.DictionaryServices - v4.6.1 - 6 - 512 - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.DictionaryServices.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.DictionaryServices.xml - full - AnyCPU - prompt - - - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.DictionaryServices.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.DictionaryServices.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - + SIL.DictionaryServices + Debug;Release + SIL.DictionaryServices contains classes for defining a simple lexical model that can be used across applications. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {60b4a08c-54f3-4bc7-83ed-f84274fabfac} - SIL.Lift - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + all + + + all + + - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + + + + - - - \ No newline at end of file + + diff --git a/SIL.Lexicon/Properties/AssemblyInfo.cs b/SIL.Lexicon/Properties/AssemblyInfo.cs deleted file mode 100644 index d59cfe260..000000000 --- a/SIL.Lexicon/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Lexicon")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("8bb58672-441f-4d10-b2d3-c604ffbe6982")] diff --git a/SIL.Lexicon/SIL.Lexicon.csproj b/SIL.Lexicon/SIL.Lexicon.csproj index 99843b41b..58d507fa3 100644 --- a/SIL.Lexicon/SIL.Lexicon.csproj +++ b/SIL.Lexicon/SIL.Lexicon.csproj @@ -1,322 +1,36 @@ - - - + + - Debug - AnyCPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F} - Library - Properties + net461 SIL.Lexicon - SIL.Lexicon - v4.6.1 - 6 - 512 - - - - + SIL.Lexicon + Debug;Release + SIL.Lexicon contains various lexicon utility classes that can be used across applications. Currently, this assembly contains classes for persisting lexicon settings that can be shared by different lexicon applications. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - $(DefineConstants);STRONG_NAME - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - AnyCPU - 1591 - ..\output\Debug\SIL.Lexicon.xml - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMono\SIL.Lexicon.xml - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Lexicon.xml - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Lexicon.xml - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\Debug\SIL.Lexicon.xml - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMono\SIL.Lexicon.xml - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Lexicon.xml - false + ../palaso.snk - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Lexicon.xml - 1591 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - + + all + + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + - - - \ No newline at end of file + + diff --git a/SIL.Lift.Tests/SIL.Lift.Tests.csproj b/SIL.Lift.Tests/SIL.Lift.Tests.csproj index 8b41794b7..28632f75b 100644 --- a/SIL.Lift.Tests/SIL.Lift.Tests.csproj +++ b/SIL.Lift.Tests/SIL.Lift.Tests.csproj @@ -18,12 +18,10 @@ 3.5 - - - + + true @@ -348,6 +346,13 @@ + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + - - - true - full - false - ..\output\Debug - DEBUG;TRACE + SIL.Lift + Debug;Release + SIL.Lift contains classes for reading and writing Lexicon Interchange FormaT (LIFT) data. This assembly currently supports LIFT 0.13. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output prompt 4 - ..\output\Debug\SIL.Lift.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Lift.xml - full - AnyCPU - prompt - - - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Lift.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Lift.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + true + ../palaso.snk - - False - ..\packages\RelaxNG.3.2.3\lib\net40\Commons.Xml.Relaxng.dll - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + all + + + + all + - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + + + - Palaso.Lift.Migration.LIFT-0.10-0.11.xsl + SIL.Lift.Migration.LIFT-0.10-0.11.xsl - Palaso.Lift.Migration.LIFT-0.11-0.12.xsl + SIL.Lift.Migration.LIFT-0.11-0.12.xsl - Palaso.Lift.Migration.LIFT-0.12-0.13.xsl + SIL.Lift.Migration.LIFT-0.12-0.13.xsl - Palaso.Lift.Migration.ReverseLIFT-0.13-0.12.xsl + SIL.Lift.Migration.ReverseLIFT-0.13-0.12.xsl - Palaso.Lift.Validation.lift-0.10.rng + SIL.Lift.Validation.lift-0.10.rng - Palaso.Lift.Validation.lift-0.11.rng + SIL.Lift.Validation.lift-0.11.rng - Palaso.Lift.Validation.lift-0.12.rng + SIL.Lift.Validation.lift-0.12.rng - Palaso.Lift.Validation.lift.rng + SIL.Lift.Validation.lift.rng - - - - \ No newline at end of file + diff --git a/SIL.Lift/Validation/Validator.cs b/SIL.Lift/Validation/Validator.cs index 47359a0e0..616994414 100644 --- a/SIL.Lift/Validation/Validator.cs +++ b/SIL.Lift/Validation/Validator.cs @@ -150,7 +150,7 @@ static private string GetSchemaValidationErrors(string path,IValidationProgress using (XmlTextReader documentReader = new XmlTextReader(path)) { progress.Status = "Checking for Schema errors..."; - var resourceStream = typeof (LiftMultiText).Assembly.GetManifestResourceStream("Palaso.Lift.Validation.lift.rng"); + var resourceStream = typeof (LiftMultiText).Assembly.GetManifestResourceStream("SIL.Lift.Validation.lift.rng"); if (resourceStream == null) throw new Exception(); RelaxngValidatingReader reader = new RelaxngValidatingReader( diff --git a/SIL.Lift/packages.config b/SIL.Lift/packages.config deleted file mode 100644 index 225e55149..000000000 --- a/SIL.Lift/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SIL.Linux.Logging/Properties/AssemblyInfo.cs b/SIL.Linux.Logging/Properties/AssemblyInfo.cs index 2942a6e44..eb4752edc 100644 --- a/SIL.Linux.Logging/Properties/AssemblyInfo.cs +++ b/SIL.Linux.Logging/Properties/AssemblyInfo.cs @@ -1,40 +1,4 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// 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("SIL.Linux.Logging")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SIL.Linux.Logging")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("1ec7c59a-2f07-4f8e-befd-fa02fe2b08a5")] - -// 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")] +using SIL.Acknowledgements; [assembly: Acknowledgement("Mono.Posix", Name = "Mono.Posix", Url = "https://www.nuget.org/packages/Mono.Posix/", LicenseUrl = "https://opensource.org/licenses/MIT")] \ No newline at end of file diff --git a/SIL.Linux.Logging/SIL.Linux.Logging.csproj b/SIL.Linux.Logging/SIL.Linux.Logging.csproj index e0f61d6dc..d7cf34f14 100644 --- a/SIL.Linux.Logging/SIL.Linux.Logging.csproj +++ b/SIL.Linux.Logging/SIL.Linux.Logging.csproj @@ -1,310 +1,42 @@ - - - + + - Debug - AnyCPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C} - Library - Properties + net461 SIL.Linux.Logging - SIL.Linux.Logging - v4.6.1 - 6 - 512 - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Linux.Logging.xml - AnyCPU - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.xml - full - AnyCPU - prompt - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + SIL.Linux.Logging + Debug;Release + SIL.Linux.Logging provides a library to log to the syslog service. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - - - - - - - - - - + + all + + + + all + + - - - - - - + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + + - - - \ No newline at end of file + + diff --git a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj index 43e2af30e..908bd22ab 100644 --- a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj +++ b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj @@ -33,12 +33,8 @@ v4.6.1 6 - - - true diff --git a/SIL.Scripture/Properties/AssemblyInfo.cs b/SIL.Scripture/Properties/AssemblyInfo.cs index f79cd4f0d..09915f685 100644 --- a/SIL.Scripture/Properties/AssemblyInfo.cs +++ b/SIL.Scripture/Properties/AssemblyInfo.cs @@ -1,3 +1,7 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("SIL.Scripture.Tests")] +[assembly: InternalsVisibleTo("SIL.Scripture.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] diff --git a/SIL.Scripture/SIL.Scripture.csproj b/SIL.Scripture/SIL.Scripture.csproj index c2f70fea8..5dd216a0a 100644 --- a/SIL.Scripture/SIL.Scripture.csproj +++ b/SIL.Scripture/SIL.Scripture.csproj @@ -2,11 +2,31 @@ netstandard2.0;net461 - Debug;Release;DebugStrongName;ReleaseStrongName + SIL.Scripture + SIL.Scripture + Debug;Release SIL.Scripture provides classes for working with Scripture data such as references and versifications. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk - + + + all + + + all + + diff --git a/SIL.TestUtilities/Properties/AssemblyInfo.cs b/SIL.TestUtilities/Properties/AssemblyInfo.cs deleted file mode 100644 index 6c166f12f..000000000 --- a/SIL.TestUtilities/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// 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("SIL.TestUtilities")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("fcac6969-0fad-4dc0-a1c4-9d4f49e2fcb5")] - -#if STRONG_NAME -[assembly: AssemblyKeyFileAttribute("../palaso.snk")] -#endif diff --git a/SIL.TestUtilities/SIL.TestUtilities.csproj b/SIL.TestUtilities/SIL.TestUtilities.csproj index 5aa6c9694..553141aff 100644 --- a/SIL.TestUtilities/SIL.TestUtilities.csproj +++ b/SIL.TestUtilities/SIL.TestUtilities.csproj @@ -1,347 +1,43 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - Library - Properties + net461 SIL.TestUtilities - SIL.TestUtilities - v4.6.1 - 6 - 512 - - - 3.5 - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.TestUtilities.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.TestUtilities.xml - full - AnyCPU - prompt - - - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - false - - - ..\palaso.snk - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.TestUtilities.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.TestUtilities.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - true - ..\palaso.snk - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset + SIL.TestUtilities + Debug;Release + SIL.TestUtilities contains convenience classes for developing unit tests. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + all + + + + + all + - - + - + + - + + - \ No newline at end of file + + diff --git a/SIL.TestUtilities/packages.config b/SIL.TestUtilities/packages.config deleted file mode 100644 index 01c187ccb..000000000 --- a/SIL.TestUtilities/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs index 5df09da0f..7534b45ce 100644 --- a/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs @@ -1,21 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// 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("SIL.Windows.Forms.DblBundle")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("d3baca2d-4a51-4267-a2ff-93b7ef5e7bb6")] +using SIL.Acknowledgements; [assembly: Acknowledgement("L10NSharp", Url = "https://github.com/sillsdev/l10nsharp/", Copyright = "Copyright © SIL International 2010-2014", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj index a28e1c913..0f35203e0 100644 --- a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj @@ -1,344 +1,38 @@ - - - + + - Debug - AnyCPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2} - Library - Properties + net461 SIL.Windows.Forms.DblBundle - SIL.Windows.Forms.DblBundle - v4.6.1 - 6 - 512 - - - - - AnyCPU - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Windows.Forms.DblBundle.XML - false - - - AnyCPU - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - false - - - - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.DblBundle.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Windows.Forms.DblBundle.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.DblBundle.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll - True - - - - - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - UserControl - - - ProjectsListBase.cs - - - - - ProjectsListBase.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - + SIL.Windows.Forms.DblBundle + Debug;Release + + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - + + all + + + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d4f0f320-faf6-4775-8411-4d03fae99f84} - SIL.DblBundle - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - + + + - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.DblBundle/packages.config b/SIL.Windows.Forms.DblBundle/packages.config deleted file mode 100644 index a1ef0b4cc..000000000 --- a/SIL.Windows.Forms.DblBundle/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs b/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs index 7844e5569..a0442e7ac 100644 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs @@ -15,7 +15,7 @@ namespace SIL.Windows.Forms.GeckoBrowserAdapter { /// /// This class is an adapter for GeckoFx' GeckoWebBrowser class. It is used by - /// Palaso.UI.WindowsForms.HtmlBrowser.XWebBrowser. + /// SIL.Windows.Forms.HtmlBrowser.XWebBrowser. /// /// Clients should NOT use this class directly. Instead they should use the XWebBrowser /// class (or Gecko.GeckoWebBrowser if they need GeckoFx functionality). diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs deleted file mode 100644 index 603707bcc..000000000 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) 2014 SIL International -// This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -using System.Reflection; - -// Information about this assembly is defined by the following attributes. -// Change them to the values specific to your project. -[assembly: AssemblyTitle("SIL.Windows.Forms.GeckoBrowserAdapter")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj index 3dc77d49e..74c464b33 100644 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj @@ -1,323 +1,36 @@ - - + + - Debug - AnyCPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08} - Library + net461 SIL.Windows.Forms.GeckoBrowserAdapter - v4.6.1 - 6 - - - - - true - full - false - ..\output\Debug - DEBUG; - prompt - 4 - false - SIL.Windows.Forms.GeckoBrowserAdapter - AnyCPU - 1591 - ..\output\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - pdbonly - true - ..\output\Release - prompt - 4 - false - SIL.WindowsForms.GeckoBrowserAdapter - true - AnyCPU - false - - - false - ..\output\DebugMono - 4 - PalasoUIWindowsForms.GeckoBrowserAdapter - true - DEBUG;MONO - AnyCPU - ..\output\DebugMono\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\ReleaseMono - 4 - PalasoUIWindowsForms.GeckoBrowserAdapter - true - pdbonly - AnyCPU - MONO - false - - - true - ..\output\DebugStrongName\ - DEBUG; - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - ..\output\DebugStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;MONO - AnyCPU - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - true - ..\output\ReleaseStrongName\ - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - false - - - true - ..\output\ReleaseMonoStrongName\ - true - pdbonly - AnyCPU - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - MONO - false - - - SIL.Windows.Forms.GeckoBrowserAdapter - - - true - ..\output\Debug\ - DEBUG; - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - true - ..\output\Release\ - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;MONO - x86 - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\ReleaseMono\ - true - pdbonly - x86 - MinimumRecommendedRules.ruleset - MONO - false - - - true - ..\output\DebugStrongName\ - DEBUG; - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;MONO - x86 - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - true - ..\output\ReleaseStrongName - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\ReleaseMonoStrongName - true - pdbonly - x86 - MinimumRecommendedRules.ruleset - MONO - false - - - true - ..\output\Debug - DEBUG; - ..\output\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Release - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - x64 - MinimumRecommendedRules.ruleset - - - true - ..\output\ReleaseMono - MONO - true - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG; - ..\output\DebugStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - x64 - MinimumRecommendedRules.ruleset - - - true - ..\output\ReleaseStrongName - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\ReleaseMonoStrongName - MONO - true - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - UserControl - - - - - UserControl - - - UserControl - - - - - - - + SIL.Windows.Forms.GeckoBrowserAdapter + Debug;Release + SIL.Windows.Forms.GeckoBrowserAdapter provides the GeckoFx implementation of the SIL.Windows.Forms.HtmlBrowser.IWebBrowser interface (defined in SIL.Windows.Forms). This allows the use of the Gecko engine as a browser control in Windows Forms applications through the SIL.Windows.Forms.HtmlBrowser.XWebBrowser class. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - + + all + + + all + - + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 63f2b8753..000000000 --- a/SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Keyboarding.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("0144af4e-1ea2-484f-993b-9a388d4f95fa")] diff --git a/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj b/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj index 41a9c07a9..84bba4147 100644 --- a/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj +++ b/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj @@ -1,327 +1,37 @@ - - - + + - Debug - AnyCPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA} - Library - Properties + net461 SIL.Windows.Forms.Keyboarding.Tests - SIL.Windows.Forms.Keyboarding.Tests - v4.6.1 - 6 - 512 - - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - TRACE;DEBUG - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\ibusdotnet.2.0.0.20771\lib\ibusdotnet.dll - - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - False - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - False - ..\lib\common\Rhino.Mocks.dll - - - - - + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - + + + + - - - - + - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Keyboarding.Tests/packages.config b/SIL.Windows.Forms.Keyboarding.Tests/packages.config deleted file mode 100644 index 4e5698489..000000000 --- a/SIL.Windows.Forms.Keyboarding.Tests/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs index 271c1bf29..2a9b6a32a 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs @@ -17,7 +17,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// It also works for other desktop environments that use combined ibus keyboards, e.g. /// XFCE. /// - [CLSCompliant(false)] public class CombinedIbusKeyboardRetrievingAdaptor : IbusKeyboardRetrievingAdaptor { private IntPtr _settingsGeneral; diff --git a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs index 9a4a0734f..5d2c58282 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs @@ -17,7 +17,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// It also works for other desktop environments that use combined ibus keyboards, e.g. /// XFCE. /// - [CLSCompliant(false)] public class CombinedIbusKeyboardSwitchingAdaptor : IbusKeyboardSwitchingAdaptor { // These should not change while the program is running, and they're expensive to obtain. diff --git a/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs index 7b7a41210..9fba1e0a7 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs @@ -11,7 +11,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// /// Class for handling ibus keyboards on Linux. /// - [CLSCompliant(false)] public class IbusKeyboardSwitchingAdaptor : IKeyboardSwitchingAdaptor { private readonly IIbusCommunicator _ibusComm; diff --git a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs index 04dc02d6d..5799823a0 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs @@ -13,7 +13,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// a different dconf key (/org/gnome/desktop/input-sources/sources). This retriever reads /// the list of keyboards and registers the ibus keyboards. /// - [CLSCompliant(false)] public class UnityIbusKeyboardRetrievingAdaptor : IbusKeyboardRetrievingAdaptor { private readonly UnityKeyboardRetrievingHelper _helper = new UnityKeyboardRetrievingHelper(); diff --git a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs index 5cb194949..b540bac7f 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs @@ -8,7 +8,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// /// Class for dealing with ibus keyboards on Unity (as found in Trusty >= 13.10) /// - [CLSCompliant(false)] public class UnityIbusKeyboardSwitchingAdaptor : IbusKeyboardSwitchingAdaptor { public UnityIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : diff --git a/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs index d85076703..c184634cf 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs @@ -14,7 +14,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// a different dconf key (/org/gnome/desktop/input-sources/sources). This retriever reads /// the list of keyboards and registers the xkb keyboards. /// - [CLSCompliant(false)] public class UnityXkbKeyboardRetrievingAdaptor : XkbKeyboardRetrievingAdaptor { private readonly UnityKeyboardRetrievingHelper _helper = new UnityKeyboardRetrievingHelper(); diff --git a/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs b/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs index e641fcf9f..29aa1bb96 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs @@ -17,8 +17,10 @@ internal class XklEngine : IXklEngine { private struct XklState { +#pragma warning disable 649 public int Group; public int Indicators; +#pragma warning restore 649 } private string[] m_GroupNames; diff --git a/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs index 581b5aed9..2681c91bf 100644 --- a/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs @@ -1,24 +1,12 @@ -using System.Reflection; +using System; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using SIL.Acknowledgements; -// 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("SIL.Windows.Forms.Keyboarding")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("35a3c878-7bd4-461c-b957-adaf684ce08d")] - -[assembly: InternalsVisibleTo("SIL.Windows.Forms.Keyboarding.Tests")] +[assembly: InternalsVisibleTo("SIL.Windows.Forms.Keyboarding.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("ibusdotnet", Name = "ibusdotnet", Url = "https://www.nuget.org/packages/ibusdotnet/", Copyright = "Copyright 2015 SIL International", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj index 866b4e895..72f83765e 100644 --- a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj +++ b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj @@ -1,429 +1,53 @@ - - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {0580ED5F-6274-4928-83EE-175F01AD052D} - Library - Properties + net461 SIL.Windows.Forms.Keyboarding - SIL.Windows.Forms.Keyboarding - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - - - - - - true - full - false - ..\output\Debug - TRACE;DEBUG - prompt - 4 - AnyCPU - ..\output\Debug\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\Debug\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - TRACE;DEBUG - ..\output\Debug\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\lib\Debug\Keyman7Interop.dll - - - False - False - ..\lib\common\Keyman10Interop.dll - - - False - ..\lib\Debug\KeymanLink.dll - + + + + all + + + + + + all + + - - - False - ..\lib\Release\Keyman7Interop.dll - - - False - False - ..\lib\common\Keyman10Interop.dll - - - False - ..\lib\Release\KeymanLink.dll - + + + + + - - ..\packages\icu.net.2.5.2\lib\net451\icu.net.dll - - - ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll - True - - - ..\packages\Microsoft.DotNet.PlatformAbstractions.2.0.4\lib\net45\Microsoft.DotNet.PlatformAbstractions.dll - - - ..\packages\Microsoft.Extensions.DependencyModel.2.0.4\lib\net451\Microsoft.Extensions.DependencyModel.dll + + ..\lib\common\Keyman10Interop.dll - - ..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll + + ..\lib\common\Keyman7Interop.dll - - - - - - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + ..\lib\common\KeymanLink.dll - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - - ..\packages\ibusdotnet.2.0.0.20771\lib\ibusdotnet.dll - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Designer - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs index 97d8791c5..ea9e3e7f6 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs @@ -6,10 +6,8 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; -#if !MONO using Keyman7Interop; using Keyman10Interop; -#endif using Microsoft.Win32; using SIL.Keyboarding; @@ -53,7 +51,6 @@ public bool IsApplicable { get { -#if !MONO switch (InstalledKeymanVersion) { case KeymanVersion.Keyman10: @@ -86,7 +83,6 @@ public bool IsApplicable throw new NotSupportedException($"{InstalledKeymanVersion} not yet supported in IsApplicable"); } -#endif return false; } } @@ -115,7 +111,6 @@ private IKeyboardSwitchingAdaptor GetKeymanSwitchingAdapter(KeymanVersion instal private KeymanVersion GetInstalledKeymanVersion() { -#if !MONO // limit the COMException catching by determining the current version once and assuming it for the // rest of the adaptor's lifetime try @@ -144,7 +139,6 @@ private KeymanVersion GetInstalledKeymanVersion() catch (COMException) { } -#endif return KeymanVersion.NotInstalled; } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs index b1faca1df..f4b2448cf 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs @@ -16,7 +16,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) { return false; } -#if !MONO foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages) { if (keyboard.InputLanguage.Culture.Name == lang.Culture.Name) @@ -25,7 +24,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) return true; } } -#endif return false; } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs b/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs index fe1ebfea6..daa3fcb5d 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs @@ -1,9 +1,7 @@ // Copyright (c) 2013-2018 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; -#if !MONO using Keyman7Interop; -#endif using SIL.Reporting; namespace SIL.Windows.Forms.Keyboarding.Windows @@ -15,7 +13,6 @@ internal class LegacyKeymanKeyboardSwitchingAdapter : IKeyboardSwitchingAdaptor { public bool ActivateKeyboard(KeyboardDescription keyboard) { -#if !MONO var keymanKbdDesc = (KeymanKeyboardDescription)keyboard; if (keymanKbdDesc.IsKeyman6) { @@ -55,7 +52,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) return false; } } -#endif KeyboardController.Instance.ActiveKeyboard = keyboard; return true; @@ -63,7 +59,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) public void DeactivateKeyboard(KeyboardDescription keyboard) { -#if !MONO try { if (((KeymanKeyboardDescription)keyboard).IsKeyman6) @@ -82,7 +77,6 @@ public void DeactivateKeyboard(KeyboardDescription keyboard) { // Keyman not installed? } -#endif } /// diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs index fad05a31f..c5995b19a 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs @@ -37,7 +37,7 @@ public WinKeyboardAdaptor() ProfileManager = ProcessorProfiles as ITfInputProcessorProfileMgr; SwitchingAdaptor = new WindowsKeyboardSwitchingAdapter(); } - + private static string GetDisplayName(string layout, string locale) { return $"{layout} - {locale}"; @@ -152,7 +152,7 @@ private LayoutName GetBestAvailableKeyboardName(InputLanguage inputLanguage) } } } - catch (Exception e) + catch (Exception) { Debug.WriteLine($"Error looking up keyboards for language {inputLanguage.Culture.Name} - {(short)inputLanguage.Culture.KeyboardLayoutId}"); } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs index 12a9df542..04d18fae8 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs @@ -26,7 +26,11 @@ internal class WinKeyboardDescription : KeyboardDescription private string _localizedName; private readonly bool _useNfcContext; - internal WinKeyboardDescription(string keyboardId, string localizedKeyboardName, string inputLanguageLayoutName, string cultureName, bool isAvailable, IInputLanguage inputLanguage, WinKeyboardAdaptor engine) : base(keyboardId, localizedKeyboardName, inputLanguageLayoutName, cultureName, isAvailable, engine.SwitchingAdaptor) + internal WinKeyboardDescription(string keyboardId, string localizedKeyboardName, + string inputLanguageLayoutName, string cultureName, bool isAvailable, + IInputLanguage inputLanguage, WinKeyboardAdaptor engine) + : base(keyboardId, localizedKeyboardName, inputLanguageLayoutName, cultureName, + isAvailable, engine.SwitchingAdaptor) { InputLanguage = inputLanguage; _localizedName = localizedKeyboardName; @@ -36,7 +40,6 @@ internal WinKeyboardDescription(string keyboardId, string localizedKeyboardName, private static bool IsKeymanKeyboard(string cultureName) { -#if !MONO try { var kmn = new KeymanClass(); @@ -55,7 +58,6 @@ private static bool IsKeymanKeyboard(string cultureName) { // Not a keyman keyboard } -#endif return false; } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs b/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs index d14f6aa22..f43dd7b1e 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs @@ -64,7 +64,6 @@ private bool SwitchKeyboard(KeyboardDescription winKeyboard) } _expectedKeyboard = keyboard; -#if !MONO foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages) { if (keyboard.InputLanguage.Culture.Name == lang.Culture.Name) @@ -80,7 +79,6 @@ private bool SwitchKeyboard(KeyboardDescription winKeyboard) return true; } } -#endif } finally { diff --git a/SIL.Windows.Forms.Keyboarding/packages.config b/SIL.Windows.Forms.Keyboarding/packages.config deleted file mode 100644 index 00d1ae40b..000000000 --- a/SIL.Windows.Forms.Keyboarding/packages.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs deleted file mode 100644 index 4f5b20b19..000000000 --- a/SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Scripture")] -[assembly: AssemblyDescription("Shared Scripture-related user Controls and related utilities")] -[assembly: AssemblyConfiguration("")] - -// 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("869a80a1-0907-4697-8bd6-2fcef9fceaad")] \ No newline at end of file diff --git a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj index 9145710ef..eed5ce7b3 100644 --- a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj +++ b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj @@ -1,465 +1,37 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B} - Library - Properties + net461 SIL.Windows.Forms.Scripture - SIL.Windows.Forms.Scripture - - - 3.5 - - - false - v4.6.1 - 6 - - - - - - - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.Scripture.xml - prompt - true - 4 - AllRules.ruleset - AnyCPU - 1591 - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - true - 4 - AllRules.ruleset - ..\output\Release\SIL.Windows.Forms.Scripture.xml - AnyCPU - 1591 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.Scripture.xml - true - full - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - ..\output\ReleaseStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - ..\output\ReleaseMono\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - ..\output\ReleaseMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Scripture.xml - true - full - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - full - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - ..\output\Release\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - ..\output\ReleaseStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - ..\output\ReleaseMono\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - ..\output\ReleaseMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - ..\output\Release - TRACE - ..\output\Release\SIL.Windows.Forms.Scripture.xml - true - true - 1591 - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - ..\output\ReleaseStrongName\SIL.Windows.Forms.Scripture.xml - true - true - 1591 - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - ..\output\ReleaseMono\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - ..\output\ReleaseMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - - - 3.5 - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - Form - - - Component - - - True - True - Resources.resx - - - - UserControl - - - Form - - - Component - - - UserControl - - - VerseControl.cs - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - ScrPassageControl.cs - Designer - - - ScrPassageDropDown.cs - Designer - - - VerseControl.cs - Designer - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 2.0 %28x86%29 - true - - - False - .NET Framework 3.0 %28x86%29 - false - - - False - .NET Framework 3.5 - false - - - False - .NET Framework 3.5 SP1 - false - - + SIL.Windows.Forms.Scripture + Debug;Release + SIL.Windows.Forms.Scripture contains Windows Forms UI elements for displaying Scripture. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - + + all + + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {f71ba7b9-d9dc-4f8c-a307-87b503d0e05b} - SIL.Scripture - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - + + + - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 887091bbc..000000000 --- a/SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("7374682e-1e49-457b-9eb9-4ea4fc5996ef")] - diff --git a/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj index 0185c9927..1e70a4396 100644 --- a/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj +++ b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj @@ -1,438 +1,41 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {6E16866F-FF8D-4136-AD67-36AFE3626432} - Library - Properties + net461 SIL.Windows.Forms.Tests - SIL.Windows.Forms.Tests - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk + - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - - - 3.5 - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - + + + + + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - True - True - TestImages.resx - - - - - - - - - ResXFileCodeGenerator - TestImages.Designer.cs - - - DialogWithLinkToSettings.cs - Designer - - - DialogWithSomeSettings.cs - - - SuperToolTipTestForm.cs - Designer - - - True - True - Settings.settings - - - - Form - - - DialogWithLinkToSettings.cs - - - Form - - - DialogWithSomeSettings.cs - - - - - - - Form - - - SuperToolTipTestForm.cs - - - - - - + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - + + + + - Always - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Tests/packages.config b/SIL.Windows.Forms.Tests/packages.config deleted file mode 100644 index a5cf5c100..000000000 --- a/SIL.Windows.Forms.Tests/packages.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj index 5ed7d42b2..349df385e 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj +++ b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj @@ -14,12 +14,8 @@ 512 - - - true diff --git a/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs index 7dde31650..99a90d245 100644 --- a/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs @@ -1,24 +1,11 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// 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("SIL.Windows.Forms.WritingSystems")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("fc1e6fc7-4a4c-4c83-a5fa-aafc550647e5")] - -[assembly: InternalsVisibleTo("SIL.Windows.Forms.WritingSystems.Tests")] +[assembly: InternalsVisibleTo("SIL.Windows.Forms.WritingSystems.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("L10NSharp", Url = "https://github.com/sillsdev/l10nsharp/", Copyright = "Copyright © SIL International 2010-2014", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj index f7a93dcec..711fff029 100644 --- a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj @@ -1,573 +1,51 @@ - - + + - Debug - AnyCPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9} - Library - Properties + net461 SIL.Windows.Forms.WritingSystems - SIL.Windows.Forms.WritingSystems - 3.5 - v4.6.1 - 6 - 512 - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Windows.Forms.WritingSystems.XML - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - false - - - 1591 - ..\output\DebugMono\SIL.Windows.Forms.WritingSystems.XML - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - - - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.WritingSystems.XML - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\Debug\SIL.Windows.Forms.WritingSystems.XML - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMono\SIL.Windows.Forms.WritingSystems.XML - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.WritingSystems.XML - false + ../palaso.snk - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\lib\common\Enchant.Net.dll - - + - - ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll - True - - - - - 3.5 - - - - - - + + all + + + + all + + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - CannotFindMyLanguageDialog.cs - - - Form - - - DeleteInputSystemDialog.cs - - - Form - - - LanguageLookupDialog.cs - - - - UserControl - - - LanguageLookupControl.cs - - - - Form - - - ScriptsAndVariantsDialog.cs - - - - Form - - - WritingSystemSetupDialog.cs - - - - - UserControl - - - WritingSystemSetupView.cs - - - UserControl - - - WSAddDuplicateMoreButtonBar.cs - - - UserControl - - - WSFontControl.cs - - - UserControl - - - CustomIdentifierView.cs - - - UserControl - - - IpaIdentifierView.cs - - - UserControl - - - NothingSpecialView.cs - - - UserControl - - - ScriptRegionVariantView.cs - - - UserControl - - - UnlistedLanguageView.cs - - - UserControl - - - VoiceIdentifierView.cs - - - UserControl - - - WSIdentifierView.cs - - - UserControl - - - WSKeyboardControl.cs - - - Component - - - WSPickerUsingComboBox.cs - - - UserControl - - - WSPickerUsingListView.cs - - - UserControl - - - WSPropertiesTabControl.cs - - - UserControl - - - WSSortControl.cs - - - UserControl - - - WSSpellingControl.cs - - - Form - - - GetDialectNameDialog.cs - - - - - - - UserControl - - - WritingSystemTreeView.cs - + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + - - CannotFindMyLanguageDialog.cs - - - DeleteInputSystemDialog.cs - - - LanguageLookupDialog.cs - - - LanguageLookupControl.cs - - - ScriptsAndVariantsDialog.cs - - - WritingSystemSetupDialog.cs - - - WritingSystemSetupView.cs - - - WSAddDuplicateMoreButtonBar.cs - - - WSFontControl.cs - - - CustomIdentifierView.cs - - - IpaIdentifierView.cs - - - NothingSpecialView.cs - - - ScriptRegionVariantView.cs - - - UnlistedLanguageView.cs - - - VoiceIdentifierView.cs - - - WSIdentifierView.cs - - - WSKeyboardControl.cs - - - WSPickerUsingComboBox.cs - - - WSPickerUsingListView.cs - - - WSPropertiesTabControl.cs - - - WSSortControl.cs - - - WSSpellingControl.cs - - - GetDialectNameDialog.cs - - - WritingSystemTreeView.cs - + + - + - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.WritingSystems/packages.config b/SIL.Windows.Forms.WritingSystems/packages.config deleted file mode 100644 index a1ef0b4cc..000000000 --- a/SIL.Windows.Forms.WritingSystems/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs b/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs index c1880f898..cef35f504 100644 --- a/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs +++ b/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs @@ -6,11 +6,9 @@ using L10NSharp; using SIL.PlatformUtilities; using SIL.Reporting; -#if !MONO using System.Drawing.Imaging; using SIL.IO; using WIA; -#endif namespace SIL.Windows.Forms.ImageToolbox { @@ -192,25 +190,20 @@ public PalasoImage GetImage() private void OnScannerClick(object sender, EventArgs e) { -#if !MONO _scannerButton.Checked = true; SetImage(null); UsageReporter.SendNavigationNotice("ImageToolbox:GetFromScanner"); GetFromDevice(ImageAcquisitionService.DeviceKind.Scanner); -#endif } private void OnCameraClick(object sender, EventArgs e) { -#if !MONO SetImage(null); _cameraButton.Checked = true; UsageReporter.SendNavigationNotice("ImageToolbox:GetFromCamera"); GetFromDevice(ImageAcquisitionService.DeviceKind.Camera); -#endif } -#if !MONO private void GetFromDevice(ImageAcquisitionService.DeviceKind deviceKind) { //_pictureBox.Image = SampleImages.sampleScan; @@ -245,7 +238,6 @@ private void GetFromDevice(ImageAcquisitionService.DeviceKind deviceKind) ErrorReport.NotifyUserOfProblem(error, "Problem Getting Image".Localize("ImageToolbox.ProblemGettingImageFromDevice")); } } -#endif /// /// use if the calling app already has some notion of what the user might be looking for (e.g. the definition in a dictionary program) @@ -307,7 +299,6 @@ private string ConvertToPngOrJpegIfNotAlready(string incoming) } */ -#if !MONO private string ConvertToPngOrJpegIfNotAlready(ImageFile wiaImageFile) { Image acquiredImage;//with my scanner, always a .bmp @@ -355,7 +346,6 @@ private string ConvertToPngOrJpegIfNotAlready(ImageFile wiaImageFile) } } } -#endif private enum Modes { Gallery, SingleImage } private void SetMode(Modes mode) diff --git a/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs b/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs index ddadf427c..6b43af18a 100644 --- a/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs +++ b/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.ComponentModel; using System.Diagnostics; using System.Runtime.InteropServices; @@ -125,4 +124,3 @@ public ImageFile Acquire() } } -#endif \ No newline at end of file diff --git a/SIL.Windows.Forms/Properties/AssemblyInfo.cs b/SIL.Windows.Forms/Properties/AssemblyInfo.cs index d076ddce2..0b6709a72 100644 --- a/SIL.Windows.Forms/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms/Properties/AssemblyInfo.cs @@ -1,25 +1,12 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// 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("SIL.Windows.Forms")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("3030bd1f-35f1-4557-bfa5-ec26e58b5308")] - [assembly: System.CLSCompliant(true)] -[assembly: InternalsVisibleTo("SIL.Windows.Forms.Tests")] +[assembly: InternalsVisibleTo("SIL.Windows.Forms.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("L10NSharp", Url = "https://github.com/sillsdev/l10nsharp/", Copyright = "Copyright © SIL International 2010-2014", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms/SIL.Windows.Forms.csproj b/SIL.Windows.Forms/SIL.Windows.Forms.csproj index 96a635485..ee1676c83 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms.csproj @@ -1,1178 +1,56 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} - Library - Properties + net461 SIL.Windows.Forms - SIL.Windows.Forms - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - ..\ - true - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Windows.Forms.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - false - - - ..\output\DebugMono\SIL.Windows.Forms.XML - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - - - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.XML - 4 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.XML - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.xml - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.XML - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.XML - 1591 - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.XML - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NAudio.1.8.4\lib\NAudio.dll - - - - False - False - ..\lib\Debug\Interop.WIA.dll - - - False - ..\lib\Debug\taglib-sharp.dll - - - - - ..\packages\NAudio.1.8.4\lib\NAudio.dll - - - - False - False + SIL.Windows.Forms + Debug;Release + SIL.Windows.Forms provides general UI related utilities for language software. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + + + + + + all + + + + + + + all + + + all + + + + + + + + + + + + + ..\lib\Release\Interop.WIA.dll - - False - ..\lib\Release\taglib-sharp.dll - - - - - False - ..\lib\DebugMono\taglib-sharp.dll - - - - - False - ..\lib\ReleaseMono\taglib-sharp.dll - - - - - False - - - False - - - False - - - False - - - False - - - False - - - - - - ..\packages\DialogAdapters.0.1.3.26068\lib\net45\DialogAdapters.dll - - - ..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll - True - - - ..\packages\MarkdownDeep.NET.Patched.1.5.0.1\lib\net35\MarkdownDeep.dll - True - - - - - - - - - - - - - - ..\lib\common\Enchant.Net.dll - - - - - - - SettingsSingleFileGenerator - LogBoxSettings.Designer.cs - - - PublicSettingsSingleFileGenerator - Registration.Designer.cs - - - PublicSettingsSingleFileGenerator - SettingsProtectionSettings.Designer.cs - - - PreserveNewest - - - - - Properties\GlobalAssemblyInfo.cs - - - - Component - - - - - - UserControl - - - ContributorsListControl.cs - - - - - Form - - - FadingMessageForm.cs - - - - - - - Form - - - MetadataEditorDialog.cs - - - - - - - - - - - UserControl - - - FileDialogControlBase.cs - - - UserControl - - - - - Form - - - ConfirmRecycleDialog.cs - - - - UserControl - - - - - - - - - Component - - - LocalizationHelper.cs - - - - - Component - - - ListViewThumbnailViewer.cs - - - UserControl - - - UserControl - - - AcquireImageControl.cs - - - UserControl - - - ImageGalleryControl.cs - - - - - - UserControl - - - ImageCropper.cs - - - UserControl - - - MetadataDisplayControl.cs - - - Component - - - True - True - ImageToolboxSettings.settings - - - UserControl - - - ImageToolboxControl.cs - - - Form - - - ImageToolboxDialog.cs - - - - True - True - LicenseLogos.resx - - - UserControl - - - MetadataEditorControl.cs - - - - True - True - ImageToolboxButtons.resx - - - True - True - SampleImages.resx - - - - - Form - - - - Form - - - SILAboutBox.cs - - - - Form - - - Form - - - UserRegistrationDialog.cs - - - - - - - - Form - - - SimpleMessageDialog.cs - - - - - - - - - UserControl - - - LogBox.cs - - - Form - - - - - - - - Resources.resx - True - True - - - - - True - True - Registration.settings - - - Component - - - SettingsProtectionHelper.cs - - - Form - - - SettingsPasswordDialog.cs - - - True - True - SettingsProtectionIcons.resx - - - UserControl - - - SettingsLauncherButton.cs - - - Form - - - SettingProtectionDialog.cs - - - - True - True - SettingsProtectionSettings.settings - - - UserControl - - - SettingsProtectionLauncherButton.cs - - - Form - - - ShowReleaseNotesDialog.cs - - - - Form - - - dlgSuperToolTipEditor.cs - - - Component - - - SuperToolTip.cs - - - - - UserControl - - - SuperToolTipWindowData.cs - - - Component - - - Component - - - BetterCheckedListBox.cs - - - Component - - - - - Component - - - Component - - - - - - - Component - - - BetterLabel.cs - - - Component - - - Component - - - UserControl - - - ControlListBox.cs - - - Component - - - Component - - - Component - - - - Component - - - Component - - - Component - - - UserControl - - - HtmlLabel.cs - - - Component - - - - - Component - - - Component - - - StdTextInputBox.cs - - - UserControl - - - Form - - - - LogBoxResources.resx - True - True - - - LogBoxSettings.settings - True - True - - - Form - - - ProblemNotificationDialog.cs - - - Form - - - ProxyCredentialsRequestDialog.cs - - - Component - - - Component - - - - - - - Component - - - - - - - Component - - - - - Designer - - - ContributorsListControl.cs - Designer - - - FadingMessageForm.cs - Designer - - - MetadataEditorDialog.cs - - - FileDialogControlBase.cs - - - ConfirmRecycleDialog.cs - Designer - - - FolderBrowserControl.cs - Designer - - - AcquireImageControl.cs - Designer - - - ImageGalleryControl.cs - Designer - - - ImageCropper.cs - Designer - - - MetadataDisplayControl.cs - Designer - - - ResXFileCodeGenerator - ImageToolboxButtons.Designer.cs - Designer - - - ImageToolboxControl.cs - Designer - - - ImageToolboxDialog.cs - Designer - - - ResXFileCodeGenerator - LicenseLogos.Designer.cs - Designer - - - MetadataEditorControl.cs - Designer - - - ResXFileCodeGenerator - SampleImages.Designer.cs - Designer - - - SILAboutBox.cs - - - UsageEmailDialog.cs - - - UserRegistrationDialog.cs - - - LogBox.cs - Designer - - - ProgressDialog.cs - Designer - - - Designer - PublicResXFileCodeGenerator - Resources1.Designer.cs - - - ShowReleaseNotesDialog.cs - - - SettingsProtectionHelper.cs - - - SettingsPasswordDialog.cs - - - ResXFileCodeGenerator - SettingsProtectionIcons.Designer.cs - Designer - - - SettingsLauncherButton.cs - - - SettingProtectionDialog.cs - - - SettingsProtectionLauncherButton.cs - - - SimpleMessageDialog.cs - - - dlgSuperToolTipEditor.cs - Designer - - - SuperToolTipWindowData.cs - Designer - - - BetterCheckedListBox.cs - - - BetterLabel.cs - Designer - - - BitmapButton.cs - - - ControlListBox.cs - Designer - - - HtmlLabel.cs - - - StdTextInputBox.cs - - - ExceptionReportingDialog.cs - Designer - - - ResXFileCodeGenerator - LogBoxResources.Designer.cs - Designer - - - ProblemNotificationDialog.cs - Designer - - - ProxyCredentialsRequestDialog.cs - Designer - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - 3.5 - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - SettingsSingleFileGenerator - ImageToolboxSettings.Designer.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms/packages.config b/SIL.Windows.Forms/packages.config deleted file mode 100644 index 290b9890d..000000000 --- a/SIL.Windows.Forms/packages.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/SIL.WritingSystems.Tests/Properties/AssemblyInfo.cs b/SIL.WritingSystems.Tests/Properties/AssemblyInfo.cs index 713e78489..c93b73e75 100644 --- a/SIL.WritingSystems.Tests/Properties/AssemblyInfo.cs +++ b/SIL.WritingSystems.Tests/Properties/AssemblyInfo.cs @@ -2,19 +2,4 @@ using System.Runtime.InteropServices; using SIL.TestUtilities; -// 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("SIL.WritingSystems.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("4008ed57-599e-4c21-b357-085fcec15736")] - [assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj b/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj index dd32e120e..f6a8261cb 100644 --- a/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj +++ b/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj @@ -1,386 +1,29 @@ - - - + + - Debug - AnyCPU - {641EB241-BF16-4A5F-89BD-54411F9AC973} - Library - Properties - SIL.WritingSystems.Tests - SIL.WritingSystems.Tests - v4.6.1 - 6 - 512 - - - true - true - - - - + net461 + Debug;Release + Unit tests for SIL.WritingSystems + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - 4 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - 4 - false - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false + ../palaso.snk - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - 1699 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - 1699 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - 1699 - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - 1699 - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - False - ..\lib\common\Spart.dll - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {fad20de2-d5bb-4d9d-aeef-61f02663105f} - SIL.Lexicon - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - + - + + + + - + + + + - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file + + diff --git a/SIL.WritingSystems.Tests/packages.config b/SIL.WritingSystems.Tests/packages.config deleted file mode 100644 index 49f84226b..000000000 --- a/SIL.WritingSystems.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.WritingSystems/Properties/AssemblyInfo.cs b/SIL.WritingSystems/Properties/AssemblyInfo.cs index 978878d6b..1e0291af8 100644 --- a/SIL.WritingSystems/Properties/AssemblyInfo.cs +++ b/SIL.WritingSystems/Properties/AssemblyInfo.cs @@ -4,17 +4,10 @@ [assembly: CLSCompliant(true)] -#if STRONG_NAME [assembly: InternalsVisibleTo("SIL.Core.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("SIL.WritingSystems.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("SIL.TestUtilities, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("LanguageData, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("SIL.Core.Tests")] -[assembly: InternalsVisibleTo("SIL.WritingSystems.Tests")] -[assembly: InternalsVisibleTo("SIL.TestUtilities")] -[assembly: InternalsVisibleTo("LanguageData")] -#endif [assembly: Acknowledgement("Newtonsoft.Json", Name = "Json.NET", Url = "https://www.nuget.org/packages/Newtonsoft.Json/", LicenseUrl = "https://opensource.org/licenses/MIT", Copyright = "Copyright © James Newton-King 2008", diff --git a/SIL.WritingSystems/SIL.WritingSystems.csproj b/SIL.WritingSystems/SIL.WritingSystems.csproj index b61f1fc28..ffea7c485 100644 --- a/SIL.WritingSystems/SIL.WritingSystems.csproj +++ b/SIL.WritingSystems/SIL.WritingSystems.csproj @@ -1,17 +1,20 @@ - + netstandard2.0;net461 - Debug;Release;DebugStrongName;ReleaseStrongName - SIL.WritingSystems provides classes for generating BCP 47 language tags and reading/writing LDML. - - - - - + Debug;Release + SIL.WritingSystems contains classes for managing and persisting writing systems using the Locale Data Markup Language (LDML) format. This library also contains classes for processing IETF (BCP-47) language tags and accessing the SIL Locale Data Repository (SLDR). + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - $(DefineConstants);STRONG_NAME + ../palaso.snk diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj index ff2deca80..c2ad995dc 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj @@ -269,8 +269,8 @@ MinimumRecommendedRules.ruleset - - ..\..\packages\L10NSharp.3.1.0-nuget0007\lib\net461\L10NSharp.dll + + ..\..\packages\L10NSharp.3.1.0-nuget0010\lib\net461\L10NSharp.dll True diff --git a/TestApps/SIL.Windows.Forms.TestApp/packages.config b/TestApps/SIL.Windows.Forms.TestApp/packages.config index f57249d1f..b10505710 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/packages.config +++ b/TestApps/SIL.Windows.Forms.TestApp/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/lib/Release/Keyman7Interop.dll b/lib/Release/Keyman7Interop.dll deleted file mode 100644 index 003c0e70728c31e7e9812cf60b1a184287956b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40960 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 diff --git a/lib/common/Enchant.Net.dll.config b/lib/common/Enchant.Net.dll.config deleted file mode 100644 index fc6a92252..000000000 --- a/lib/common/Enchant.Net.dll.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/lib/Debug/Keyman7Interop.dll b/lib/common/Keyman7Interop.dll similarity index 100% rename from lib/Debug/Keyman7Interop.dll rename to lib/common/Keyman7Interop.dll diff --git a/lib/Debug/KeymanLink.dll b/lib/common/KeymanLink.dll similarity index 100% rename from lib/Debug/KeymanLink.dll rename to lib/common/KeymanLink.dll From 584c6789834de4ab64e574cb104b938a94b001a5 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 15 Feb 2019 10:32:02 +0100 Subject: [PATCH 16/49] Remove cross-platform compile conditions Allow to compile Windows- and Linux-only code on both platforms. +semver: major --- CHANGELOG.md | 4 + SIL.Media.Tests/AudioRecorderTests.cs | 4 +- SIL.Media/AlsaAudio/AlsaAudioDevice.cs | 2 - SIL.Media/AlsaAudio/AudioAlsaSession.cs | 2 - SIL.Media/AlsaAudio/AudioRecorder.cs | 6 +- SIL.Media/AlsaAudio/RecordingDevice.cs | 8 +- SIL.Media/AlsaAudio/WaveFormat.cs | 32 - SIL.Media/AudioFactory.cs | 9 +- SIL.Media/AudioIrrKlangSession.cs | 4 +- SIL.Media/FFmpegRunner.cs | 983 +++++++++--------- SIL.Media/Naudio/AudioPlayer.cs | 4 +- SIL.Media/Naudio/AudioRecorder.cs | 6 +- SIL.Media/Naudio/FileWriterThread.cs | 4 +- SIL.Media/Naudio/IAudioRecorder.cs | 8 +- SIL.Media/Naudio/IRecordingDevice.cs | 13 + SIL.Media/Naudio/RecordingDevice.cs | 12 +- SIL.Media/Naudio/TrimWaveStream.cs | 4 +- .../Naudio/UI/RecordingDeviceIndicator.cs | 4 +- .../UI/RecordingDeviceIndicator.designer.cs | 12 +- SIL.Media/SIL.Media.csproj | 2 +- .../Linux/XklEngine.cs | 6 - .../SIL.Windows.Forms.Keyboarding.csproj | 9 +- .../Windows/KeymanKeyboardAdaptor.cs | 4 - .../Windows/WinKeyboardDescription.cs | 4 - .../Miscellaneous/PortableClipboardTests.cs | 15 +- .../Miscellaneous/PortableClipboard.cs | 121 +-- SIL.Windows.Forms/SIL.Windows.Forms.csproj | 27 +- 27 files changed, 635 insertions(+), 674 deletions(-) delete mode 100644 SIL.Media/AlsaAudio/WaveFormat.cs create mode 100644 SIL.Media/Naudio/IRecordingDevice.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index 65ffcd078..07ff6fe56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,3 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed - Create nuget packages +- [SIL.Media] `IAudioRecorder.SelectedDevice` now returns a `IRecordingDevice` which both the + NAudio and AlsaAudio `RecordingDevice` implement. This allows to use to use the same assembly + on both Windows and Linux (although the limitations what works and what doesn't work remain the + same) diff --git a/SIL.Media.Tests/AudioRecorderTests.cs b/SIL.Media.Tests/AudioRecorderTests.cs index be19ec600..77e3bfd51 100644 --- a/SIL.Media.Tests/AudioRecorderTests.cs +++ b/SIL.Media.Tests/AudioRecorderTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.ComponentModel; using System.Diagnostics; using System.IO; @@ -403,7 +403,7 @@ public void RecordThenPlay_OK() { x.Play(); Thread.Sleep(100); - x.StopPlaying(); + x.StopPlaying(); } } } diff --git a/SIL.Media/AlsaAudio/AlsaAudioDevice.cs b/SIL.Media/AlsaAudio/AlsaAudioDevice.cs index 783e9372e..93901dfe2 100644 --- a/SIL.Media/AlsaAudio/AlsaAudioDevice.cs +++ b/SIL.Media/AlsaAudio/AlsaAudioDevice.cs @@ -4,7 +4,6 @@ using System.Runtime.InteropServices; using System.Threading; -#if MONO namespace SIL.Media.AlsaAudio { /// @@ -881,4 +880,3 @@ public void Close() } } } -#endif \ No newline at end of file diff --git a/SIL.Media/AlsaAudio/AudioAlsaSession.cs b/SIL.Media/AlsaAudio/AudioAlsaSession.cs index d75ac00c1..ad1f21bf6 100644 --- a/SIL.Media/AlsaAudio/AudioAlsaSession.cs +++ b/SIL.Media/AlsaAudio/AudioAlsaSession.cs @@ -4,7 +4,6 @@ using System.Diagnostics; using System.IO; -#if MONO namespace SIL.Media.AlsaAudio { /// @@ -191,4 +190,3 @@ public void Dispose() } } } -#endif diff --git a/SIL.Media/AlsaAudio/AudioRecorder.cs b/SIL.Media/AlsaAudio/AudioRecorder.cs index 38681b0e7..14a3b244c 100644 --- a/SIL.Media/AlsaAudio/AudioRecorder.cs +++ b/SIL.Media/AlsaAudio/AudioRecorder.cs @@ -6,8 +6,9 @@ using System.IO; using System.Runtime.InteropServices; using System.Threading; +using NAudio.Wave; +using SIL.Media.Naudio; -#if MONO namespace SIL.Media.AlsaAudio { /// @@ -83,7 +84,7 @@ protected set } } - public RecordingDevice SelectedDevice { get; set; } + public IRecordingDevice SelectedDevice { get; set; } public void BeginMonitoring() { @@ -142,4 +143,3 @@ public static void TrimWavFile(string inPath, string outPath, TimeSpan cutFromSt public virtual WaveFormat RecordingFormat { get; set; } } } -#endif diff --git a/SIL.Media/AlsaAudio/RecordingDevice.cs b/SIL.Media/AlsaAudio/RecordingDevice.cs index ef4ab4233..6a904d53b 100644 --- a/SIL.Media/AlsaAudio/RecordingDevice.cs +++ b/SIL.Media/AlsaAudio/RecordingDevice.cs @@ -4,15 +4,16 @@ using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; +using NAudio.Wave; +using SIL.Media.Naudio; -#if MONO namespace SIL.Media.AlsaAudio { /// /// This class implements the methods and properties used by Bloom. It reimplements a class in /// SIL.Media/NAudio, but for Linux. /// - public class RecordingDevice + public class RecordingDevice: IRecordingDevice { private static RecordingDevice _default; public static RecordingDevice DefaultDevice @@ -33,9 +34,11 @@ public static RecordingDevice DefaultDevice private set { _default = value; } } + public string Id { get; } public int DeviceNumber { get; set; } public string GenericName { get; set; } public string ProductName { get; set; } + public WaveInCapabilities Capabilities { get; set; } public RecordingDevice() { @@ -330,4 +333,3 @@ static bool CheckMicrophoneValuesForOn(IntPtr elem) } } } -#endif diff --git a/SIL.Media/AlsaAudio/WaveFormat.cs b/SIL.Media/AlsaAudio/WaveFormat.cs deleted file mode 100644 index a83f3bf51..000000000 --- a/SIL.Media/AlsaAudio/WaveFormat.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) 2017 SIL International -// This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -using System; - -#if MONO -namespace SIL.Media.AlsaAudio -{ - /// - /// Minimal Wave format class - /// - public class WaveFormat - { - public int SampleRate { get; set; } - public int Channels { get; set; } - public int BitsPerSample { get; set; } - - public WaveFormat() - { - SampleRate = 44100; - Channels = 1; - BitsPerSample = 16; - } - - public WaveFormat(int rate, int channels) - { - SampleRate = rate; - Channels = channels; - BitsPerSample = 16; - } - } -} -#endif diff --git a/SIL.Media/AudioFactory.cs b/SIL.Media/AudioFactory.cs index f1018199e..a2ca7c9fa 100644 --- a/SIL.Media/AudioFactory.cs +++ b/SIL.Media/AudioFactory.cs @@ -1,7 +1,6 @@ using System; -#if MONO using SIL.Media.AlsaAudio; -#endif +using SIL.PlatformUtilities; namespace SIL.Media { @@ -9,11 +8,9 @@ public class AudioFactory { public static ISimpleAudioSession CreateAudioSession(string filePath) { -#if MONO - return new AudioAlsaSession(filePath); -#else + if (Platform.IsLinux) + return new AudioAlsaSession(filePath); return new AudioIrrKlangSession(filePath); -#endif } [Obsolete("This was a unfortunate method name. Use CreateAudioSession Instead.")] diff --git a/SIL.Media/AudioIrrKlangSession.cs b/SIL.Media/AudioIrrKlangSession.cs index a70ed3dbb..a39ff31e8 100644 --- a/SIL.Media/AudioIrrKlangSession.cs +++ b/SIL.Media/AudioIrrKlangSession.cs @@ -1,7 +1,6 @@ // Copyright (c) 2015-2017 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -#if !MONO using System; using System.ComponentModel; using System.Diagnostics; @@ -142,7 +141,7 @@ public void Play() IsPlaying = false; // BEFORE we raise the event! State should be valid while handling it. PlaybackStopped?.Invoke(this, new EventArgs()); } - catch (Exception e) + catch (Exception) { // Try to clean things up as best we can...no easy way to test this, though. // We don't want to be permanently in the playing state. @@ -340,4 +339,3 @@ public void Dispose() And I set "nostreaming" and "preload" true - now it works like a charm! */ -#endif diff --git a/SIL.Media/FFmpegRunner.cs b/SIL.Media/FFmpegRunner.cs index f7607f9c5..557dfca63 100644 --- a/SIL.Media/FFmpegRunner.cs +++ b/SIL.Media/FFmpegRunner.cs @@ -4,511 +4,512 @@ using System.IO; using SIL.CommandLineProcessing; using SIL.IO; +using SIL.PlatformUtilities; using SIL.Progress; namespace SIL.Media { - /// - /// FFmpeg is an open source media processing commandline library - /// - public class FFmpegRunner - { - /// - /// If your app knows where FFMPEG lives, you can tell us before making any calls. - /// - public static string FFmpegLocation; - - /// - /// Find the path to ffmpeg, and remember it (some apps (like SayMore) call ffmpeg a lot) - /// - /// - static internal string LocateAndRememberFFmpeg() - { - if (null != FFmpegLocation) //NO! string.empty means we looked and didn't find: string.IsNullOrEmpty(s_ffmpegLocation)) - return FFmpegLocation; - FFmpegLocation = LocateFFmpeg(); - return FFmpegLocation; - } - - /// - /// ffmpeg is more of a "compile it yourself" thing, and yet - /// SIL doesn't necessarily want to be redistributing something - /// which may violate software patents (e.g. mp3) in certain countries, so - /// we ask users to get it themselves. - /// See: http://www.ffmpeg.org/legal.html - /// This tries to find where they put it. - /// - /// the path, if found, else null - static private string LocateFFmpeg() - { - //on linux, we can safely assume the package has included the needed dependency -#if MONO - if (File.Exists("/usr/bin/ffmpeg")) - return "/usr/bin/ffmpeg"; - else if (File.Exists("/usr/bin/avconv")) - return "/usr/bin/avconv"; // the new name of ffmpeg on Linux - else + /// + /// FFmpeg is an open source media processing commandline library + /// + public class FFmpegRunner + { + /// + /// If your app knows where FFMPEG lives, you can tell us before making any calls. + /// + public static string FFmpegLocation; + + /// + /// Find the path to ffmpeg, and remember it (some apps (like SayMore) call ffmpeg a lot) + /// + /// + static internal string LocateAndRememberFFmpeg() + { + if (null != FFmpegLocation) //NO! string.empty means we looked and didn't find: string.IsNullOrEmpty(s_ffmpegLocation)) + return FFmpegLocation; + FFmpegLocation = LocateFFmpeg(); + return FFmpegLocation; + } + + /// + /// ffmpeg is more of a "compile it yourself" thing, and yet + /// SIL doesn't necessarily want to be redistributing something + /// which may violate software patents (e.g. mp3) in certain countries, so + /// we ask users to get it themselves. + /// See: http://www.ffmpeg.org/legal.html + /// This tries to find where they put it. + /// + /// the path, if found, else null + static private string LocateFFmpeg() + { + if (Platform.IsLinux) + { + //on linux, we can safely assume the package has included the needed dependency + if (File.Exists("/usr/bin/ffmpeg")) + return "/usr/bin/ffmpeg"; + if (File.Exists("/usr/bin/avconv")) + return "/usr/bin/avconv"; // the new name of ffmpeg on Linux + return null; -#endif + } -#if !MONO - string withApplicationDirectory = GetPathToBundledFFmpeg(); + string withApplicationDirectory = GetPathToBundledFFmpeg(); - if (!string.IsNullOrEmpty(withApplicationDirectory) && File.Exists(withApplicationDirectory)) - return withApplicationDirectory; + if (!string.IsNullOrEmpty(withApplicationDirectory) && File.Exists(withApplicationDirectory)) + return withApplicationDirectory; - //nb: this is sensitive to whether we are compiled against win32 or not, - //not just the host OS, as you might guess. - var pf = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); + //nb: this is sensitive to whether we are compiled against win32 or not, + //not just the host OS, as you might guess. + var pf = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); - var progFileDirs = new List() + var progFileDirs = new List() { pf.Replace(" (x86)", ""), //native (win32 or 64, depending) pf.Replace(" (x86)", "")+" (x86)" //win32 }; - /* We DON't SUPPORT THIS ONE (it lacks some information on the output, at least as of - * Julu 2010) - //from http://www.arachneweb.co.uk/software/windows/avchdview/ffmpeg.html - foreach (var path in progFileDirs) - { - var exePath = (Path.Combine(path, "ffmpeg/win32-static/bin/ffmpeg.exe")); - if(File.Exists(exePath)) - return exePath; - } - */ - - //http://manual.audacityteam.org/index.php?title=FAQ:Installation_and_Plug-Ins#installffmpeg - foreach (var path in progFileDirs) - { - var exePath = (Path.Combine(path, "FFmpeg for Audacity/ffmpeg.exe")); - if (File.Exists(exePath)) - return exePath; - } - return string.Empty; -#endif - } - - private static string GetPathToBundledFFmpeg() - { - try - { + /* We DON't SUPPORT THIS ONE (it lacks some information on the output, at least as of + * Julu 2010) + //from http://www.arachneweb.co.uk/software/windows/avchdview/ffmpeg.html + foreach (var path in progFileDirs) + { + var exePath = (Path.Combine(path, "ffmpeg/win32-static/bin/ffmpeg.exe")); + if(File.Exists(exePath)) + return exePath; + } + */ + + //http://manual.audacityteam.org/index.php?title=FAQ:Installation_and_Plug-Ins#installffmpeg + foreach (var path in progFileDirs) + { + var exePath = (Path.Combine(path, "FFmpeg for Audacity/ffmpeg.exe")); + if (File.Exists(exePath)) + return exePath; + } + return string.Empty; + } + + private static string GetPathToBundledFFmpeg() + { + try + { return FileLocationUtilities.GetFileDistributedWithApplication("ffmpeg", "ffmpeg.exe"); - } - catch (Exception) - { - return string.Empty; - } - } - - - /// - /// Returns false if it can't find ffmpeg - /// - static public bool HaveNecessaryComponents - { - get - { - return !string.IsNullOrEmpty(LocateFFmpeg()); - } - } - - /// - /// Returns false if it can't find ffmpeg - /// - static private bool HaveValidFFMpegOnPath - { - get - { -#if !MONO - if (!string.IsNullOrEmpty(LocateFFmpeg())) - return true; -#endif - - //see if there is one on the %path% - - var p = new Process(); - p.StartInfo.FileName = "ffmpeg"; - p.StartInfo.RedirectStandardError = true; - p.StartInfo.UseShellExecute = false; - p.StartInfo.CreateNoWindow = true; - try - { - p.Start(); - } - catch (Exception) - { - return false; - } - return true; - } - } - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is resonsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractMp3Audio(string inputPath, string outputPath, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var arguments = string.Format("-i \"{0}\" -vn -acodec libmp3lame -ac {1} \"{2}\"", inputPath, channels, outputPath); - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - return doctoredResult; - } - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is resonsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractOggAudio(string inputPath, string outputPath, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var arguments = string.Format("-i \"{0}\" -vn -acodec vorbis -ac {1} \"{2}\"", inputPath, channels, outputPath); - progress.WriteMessage("ffmpeg " + arguments); - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - return doctoredResult; - } - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is responsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// 0 for same, 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractBestQualityWavAudio(string inputPath, string outputPath, int channels, IProgress progress) - { - return ExtractAudio(inputPath, outputPath, "copy", 0, channels, progress); - } - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is responsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// e.g. 8, 16, 24, 32 - /// e.g. 22050, 44100, 4800 - /// 0 for same, 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractPcmAudio(string inputPath, string outputPath, - int bitsPerSample, int sampleRate, int channels, IProgress progress) - { - var audioCodec = "copy"; - - switch (bitsPerSample) - { - case 8: audioCodec = "pcm_s8"; break; - case 16: audioCodec = "pcm_s16le"; break; - case 24: audioCodec = "pcm_s24le"; break; - case 32: audioCodec = "pcm_s32le"; break; - } - - return ExtractAudio(inputPath, outputPath, audioCodec, sampleRate, channels, progress); - } - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is responsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// e.g. copy, pcm_s16le, pcm_s32le, etc. - /// e.g. 22050, 44100, 4800. Use 0 to use ffmpeg's default - /// 0 for same, 1 for mono, 2 for stereo - /// - /// log of the run - private static ExecutionResult ExtractAudio(string inputPath, string outputPath, - string audioCodec, int sampleRate, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var sampleRateArg = ""; - if (sampleRate > 0) - sampleRateArg = string.Format("-ar {0}", sampleRate); - - //TODO: this will output whatever mp3 or wav or whatever is in the video... might not be wav at all! - var channelsArg = ""; - if (channels > 0) - channelsArg = string.Format(" -ac {0}", channels); - - var arguments = string.Format("-i \"{0}\" -vn -acodec {1} {2} {3} \"{4}\"", - inputPath, audioCodec, sampleRateArg, channelsArg, outputPath); - - progress.WriteMessage("ffmpeg " + arguments); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - return doctoredResult; - } - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - - /// - /// Creates an audio file, using the received one as the bases, with the specified number - /// of channels. For example, this can be used to convert a 2-channel audio file to a - /// single channel audio file. - /// - /// log of the run - public static ExecutionResult ChangeNumberOfAudioChannels(string inputPath, - string outputPath, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - return new ExecutionResult { StandardError = "Could not locate FFMpeg" }; - - var arguments = string.Format("-i \"{0}\" -vn -ac {1} \"{2}\"", - inputPath, channels, outputPath); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - - return doctoredResult; - } - - // ffmpeg always outputs config info to standarderror - if (result.StandardError.ToLower().Contains("error")) - progress.WriteError(result.StandardError); - - return result; - } - - /// - /// Converts to low-quality, mono mp3 - /// - /// log of the run - public static ExecutionResult MakeLowQualityCompressedAudio(string inputPath, string outputPath, IProgress progress) - { - if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var arguments = "-i \"" + inputPath + "\" -acodec libmp3lame -ac 1 -ar 8000 \"" + outputPath + "\""; - - - progress.WriteMessage("ffmpeg " + arguments); - - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - result = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - } - if (result.StandardError.ToLower().Contains("error") - || result.StandardError.ToLower().Contains("unable to") - || result.StandardError.ToLower().Contains("invalid") - || result.StandardError.ToLower().Contains("could not") - ) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - - /// - /// Converts to low-quality, small video - /// - /// file location for original file - /// file location for converted file - /// 0 if you don't want to truncate at all - /// progress bar - /// log of the run - public static ExecutionResult MakeLowQualitySmallVideo(string inputPath, string outputPath, int maxSeconds, IProgress progress) - { - if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - // isn't working: var arguments = "-i \"" + inputPath + "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 \"" + outputPath + "\""; - var arguments = "-i \"" + inputPath + - "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 "; - if (maxSeconds > 0) - arguments += " -t " + maxSeconds + " "; - arguments += "\"" + outputPath + "\""; - - progress.WriteMessage("ffmpeg " + arguments); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - result = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - - } - if (result.StandardError.ToLower().Contains("error") //ffmpeg always outputs config info to standarderror - || result.StandardError.ToLower().Contains("unable to") - || result.StandardError.ToLower().Contains("invalid") - || result.StandardError.ToLower().Contains("could not")) - progress.WriteWarning(result.StandardError); - - return result; - } - - /// - /// Converts to low-quality, small picture - /// - /// log of the run - public static ExecutionResult MakeLowQualitySmallPicture(string inputPath, string outputPath, IProgress progress) - { - if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - //enhance: how to lower the quality? - - var arguments = "-i \"" + inputPath + "\" -f image2 -s 176x144 \"" + outputPath + "\""; - - progress.WriteMessage("ffmpeg " + arguments); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - } + } + catch (Exception) + { + return string.Empty; + } + } + + + /// + /// Returns false if it can't find ffmpeg + /// + static public bool HaveNecessaryComponents + { + get + { + return !string.IsNullOrEmpty(LocateFFmpeg()); + } + } + + /// + /// Returns false if it can't find ffmpeg + /// + static private bool HaveValidFFMpegOnPath + { + get + { + if (Platform.IsWindows) + { + if (!string.IsNullOrEmpty(LocateFFmpeg())) + return true; + } + + //see if there is one on the %path% + + var p = new Process(); + p.StartInfo.FileName = "ffmpeg"; + p.StartInfo.RedirectStandardError = true; + p.StartInfo.UseShellExecute = false; + p.StartInfo.CreateNoWindow = true; + try + { + p.Start(); + } + catch (Exception) + { + return false; + } + return true; + } + } + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is resonsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractMp3Audio(string inputPath, string outputPath, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var arguments = string.Format("-i \"{0}\" -vn -acodec libmp3lame -ac {1} \"{2}\"", inputPath, channels, outputPath); + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + return doctoredResult; + } + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is resonsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractOggAudio(string inputPath, string outputPath, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var arguments = string.Format("-i \"{0}\" -vn -acodec vorbis -ac {1} \"{2}\"", inputPath, channels, outputPath); + progress.WriteMessage("ffmpeg " + arguments); + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + return doctoredResult; + } + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is responsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// 0 for same, 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractBestQualityWavAudio(string inputPath, string outputPath, int channels, IProgress progress) + { + return ExtractAudio(inputPath, outputPath, "copy", 0, channels, progress); + } + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is responsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// e.g. 8, 16, 24, 32 + /// e.g. 22050, 44100, 4800 + /// 0 for same, 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractPcmAudio(string inputPath, string outputPath, + int bitsPerSample, int sampleRate, int channels, IProgress progress) + { + var audioCodec = "copy"; + + switch (bitsPerSample) + { + case 8: audioCodec = "pcm_s8"; break; + case 16: audioCodec = "pcm_s16le"; break; + case 24: audioCodec = "pcm_s24le"; break; + case 32: audioCodec = "pcm_s32le"; break; + } + + return ExtractAudio(inputPath, outputPath, audioCodec, sampleRate, channels, progress); + } + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is responsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// e.g. copy, pcm_s16le, pcm_s32le, etc. + /// e.g. 22050, 44100, 4800. Use 0 to use ffmpeg's default + /// 0 for same, 1 for mono, 2 for stereo + /// + /// log of the run + private static ExecutionResult ExtractAudio(string inputPath, string outputPath, + string audioCodec, int sampleRate, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var sampleRateArg = ""; + if (sampleRate > 0) + sampleRateArg = string.Format("-ar {0}", sampleRate); + + //TODO: this will output whatever mp3 or wav or whatever is in the video... might not be wav at all! + var channelsArg = ""; + if (channels > 0) + channelsArg = string.Format(" -ac {0}", channels); + + var arguments = string.Format("-i \"{0}\" -vn -acodec {1} {2} {3} \"{4}\"", + inputPath, audioCodec, sampleRateArg, channelsArg, outputPath); + + progress.WriteMessage("ffmpeg " + arguments); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + return doctoredResult; + } + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + + /// + /// Creates an audio file, using the received one as the bases, with the specified number + /// of channels. For example, this can be used to convert a 2-channel audio file to a + /// single channel audio file. + /// + /// log of the run + public static ExecutionResult ChangeNumberOfAudioChannels(string inputPath, + string outputPath, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + return new ExecutionResult { StandardError = "Could not locate FFMpeg" }; + + var arguments = string.Format("-i \"{0}\" -vn -ac {1} \"{2}\"", + inputPath, channels, outputPath); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + + return doctoredResult; + } + + // ffmpeg always outputs config info to standarderror + if (result.StandardError.ToLower().Contains("error")) + progress.WriteError(result.StandardError); + + return result; + } + + /// + /// Converts to low-quality, mono mp3 + /// + /// log of the run + public static ExecutionResult MakeLowQualityCompressedAudio(string inputPath, string outputPath, IProgress progress) + { + if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var arguments = "-i \"" + inputPath + "\" -acodec libmp3lame -ac 1 -ar 8000 \"" + outputPath + "\""; + + + progress.WriteMessage("ffmpeg " + arguments); + + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + result = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + } + if (result.StandardError.ToLower().Contains("error") + || result.StandardError.ToLower().Contains("unable to") + || result.StandardError.ToLower().Contains("invalid") + || result.StandardError.ToLower().Contains("could not") + ) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + + /// + /// Converts to low-quality, small video + /// + /// file location for original file + /// file location for converted file + /// 0 if you don't want to truncate at all + /// progress bar + /// log of the run + public static ExecutionResult MakeLowQualitySmallVideo(string inputPath, string outputPath, int maxSeconds, IProgress progress) + { + if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + // isn't working: var arguments = "-i \"" + inputPath + "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 \"" + outputPath + "\""; + var arguments = "-i \"" + inputPath + + "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 "; + if (maxSeconds > 0) + arguments += " -t " + maxSeconds + " "; + arguments += "\"" + outputPath + "\""; + + progress.WriteMessage("ffmpeg " + arguments); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + result = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + + } + if (result.StandardError.ToLower().Contains("error") //ffmpeg always outputs config info to standarderror + || result.StandardError.ToLower().Contains("unable to") + || result.StandardError.ToLower().Contains("invalid") + || result.StandardError.ToLower().Contains("could not")) + progress.WriteWarning(result.StandardError); + + return result; + } + + /// + /// Converts to low-quality, small picture + /// + /// log of the run + public static ExecutionResult MakeLowQualitySmallPicture(string inputPath, string outputPath, IProgress progress) + { + if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + //enhance: how to lower the quality? + + var arguments = "-i \"" + inputPath + "\" -f image2 -s 176x144 \"" + outputPath + "\""; + + progress.WriteMessage("ffmpeg " + arguments); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + } } diff --git a/SIL.Media/Naudio/AudioPlayer.cs b/SIL.Media/Naudio/AudioPlayer.cs index 0930e5b10..46cdf41c1 100644 --- a/SIL.Media/Naudio/AudioPlayer.cs +++ b/SIL.Media/Naudio/AudioPlayer.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.Timers; using NAudio.Wave; @@ -135,4 +134,3 @@ private void CloseWaveOut() } } } -#endif diff --git a/SIL.Media/Naudio/AudioRecorder.cs b/SIL.Media/Naudio/AudioRecorder.cs index e501f1fe6..bc7c36246 100644 --- a/SIL.Media/Naudio/AudioRecorder.cs +++ b/SIL.Media/Naudio/AudioRecorder.cs @@ -1,4 +1,3 @@ -#if !MONO using System; using System.Collections.Generic; using System.Diagnostics; @@ -36,9 +35,9 @@ public class AudioRecorder : IAudioRecorder, IDisposable protected double _prevRecordedTime; public SampleAggregator SampleAggregator { get; protected set; } - private RecordingDevice _selectedDevice; + private IRecordingDevice _selectedDevice; - public RecordingDevice SelectedDevice + public IRecordingDevice SelectedDevice { get { @@ -620,4 +619,3 @@ private static void TrimWavFileInternal(WaveFileReader reader, WaveFileWriter wr } } } -#endif diff --git a/SIL.Media/Naudio/FileWriterThread.cs b/SIL.Media/Naudio/FileWriterThread.cs index 865db902c..5f7334e51 100644 --- a/SIL.Media/Naudio/FileWriterThread.cs +++ b/SIL.Media/Naudio/FileWriterThread.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.Collections.Generic; using System.Threading; using NAudio.Wave; @@ -105,4 +104,3 @@ public void Abort() } } } -#endif diff --git a/SIL.Media/Naudio/IAudioRecorder.cs b/SIL.Media/Naudio/IAudioRecorder.cs index 0191153de..7590087dd 100644 --- a/SIL.Media/Naudio/IAudioRecorder.cs +++ b/SIL.Media/Naudio/IAudioRecorder.cs @@ -1,12 +1,8 @@ -// Copyright (c) 2017 SIL International +// Copyright (c) 2017 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; using System.IO; -#if MONO -using SIL.Media.AlsaAudio; -#else using NAudio.Wave; -#endif namespace SIL.Media.Naudio { @@ -28,7 +24,7 @@ public interface IAudioRecorder void BeginMonitoring(); void BeginRecording(string path); void Stop(); - RecordingDevice SelectedDevice { get; set; } + IRecordingDevice SelectedDevice { get; set; } event EventHandler SelectedDeviceChanged; double MicrophoneLevel { get; set; } RecordingState RecordingState { get; } diff --git a/SIL.Media/Naudio/IRecordingDevice.cs b/SIL.Media/Naudio/IRecordingDevice.cs new file mode 100644 index 000000000..a577b2192 --- /dev/null +++ b/SIL.Media/Naudio/IRecordingDevice.cs @@ -0,0 +1,13 @@ +using NAudio.Wave; + +namespace SIL.Media.Naudio +{ + public interface IRecordingDevice + { + string Id { get; } + int DeviceNumber { get; set; } + string GenericName { get; set; } + string ProductName { get; } + WaveInCapabilities Capabilities { get; set; } + } +} \ No newline at end of file diff --git a/SIL.Media/Naudio/RecordingDevice.cs b/SIL.Media/Naudio/RecordingDevice.cs index 7ab0b50ba..169796aaa 100644 --- a/SIL.Media/Naudio/RecordingDevice.cs +++ b/SIL.Media/Naudio/RecordingDevice.cs @@ -1,4 +1,3 @@ -#if !MONO using System; using System.Collections.Generic; using System.Linq; @@ -11,15 +10,15 @@ namespace SIL.Media.Naudio /// A RecordingDevice is used to select and get information about the /// hardware which the record is listening to. /// - public class RecordingDevice + public class RecordingDevice : IRecordingDevice { - public string Id { get; private set; } + public string Id { get; } public int DeviceNumber { get; set; } public string GenericName { get; set; } - public string ProductName { get { return Capabilities.ProductName; } } + public string ProductName => Capabilities.ProductName; public WaveInCapabilities Capabilities { get; set; } - RecordingDevice(string id, int deviceNumber, string name, WaveInCapabilities capabilities) + private RecordingDevice(string id, int deviceNumber, string name, WaveInCapabilities capabilities) { Id = id; DeviceNumber = deviceNumber; @@ -27,7 +26,7 @@ public class RecordingDevice Capabilities = capabilities; } - public static IEnumerable Devices + public static IEnumerable Devices { get { @@ -108,4 +107,3 @@ public override int GetHashCode() } } } -#endif diff --git a/SIL.Media/Naudio/TrimWaveStream.cs b/SIL.Media/Naudio/TrimWaveStream.cs index 477c6bf12..dab22c7b1 100644 --- a/SIL.Media/Naudio/TrimWaveStream.cs +++ b/SIL.Media/Naudio/TrimWaveStream.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using NAudio.Wave; namespace SIL.Media.Naudio @@ -74,4 +73,3 @@ protected override void Dispose(bool disposing) } } } -#endif diff --git a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs index bd06d1273..ea637e487 100644 --- a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs +++ b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Drawing; @@ -273,4 +272,3 @@ private void AddDeviceMatch(string substring, Func function) } } } -#endif diff --git a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs index 5dba84c26..5f5626382 100644 --- a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs +++ b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs @@ -1,5 +1,4 @@ -#if !MONO -namespace SIL.Media.Naudio.UI +namespace SIL.Media.Naudio.UI { partial class RecordingDeviceIndicator { @@ -35,9 +34,9 @@ private void InitializeComponent() this._recordingDeviceImage = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)(this._recordingDeviceImage)).BeginInit(); this.SuspendLayout(); - // + // // _recordingDeviceImage - // + // this._recordingDeviceImage.Image = ((System.Drawing.Image)(resources.GetObject("_recordingDeviceImage.Image"))); this._recordingDeviceImage.Location = new System.Drawing.Point(0, 0); this._recordingDeviceImage.Margin = new System.Windows.Forms.Padding(0); @@ -47,9 +46,9 @@ private void InitializeComponent() this._recordingDeviceImage.TabIndex = 0; this._recordingDeviceImage.TabStop = false; this._recordingDeviceImage.Click += new System.EventHandler(this.RecordingDeviceIndicator_Click); - // + // // RecordingDeviceIndicator - // + // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Transparent; @@ -69,4 +68,3 @@ private void InitializeComponent() private System.Windows.Forms.PictureBox _recordingDeviceImage; } } -#endif diff --git a/SIL.Media/SIL.Media.csproj b/SIL.Media/SIL.Media.csproj index 74a86c3f8..e857b0b69 100644 --- a/SIL.Media/SIL.Media.csproj +++ b/SIL.Media/SIL.Media.csproj @@ -327,6 +327,7 @@ + @@ -356,7 +357,6 @@ - diff --git a/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs b/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs index 29aa1bb96..5d1dc311a 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs @@ -3,9 +3,7 @@ using System; using System.Runtime.InteropServices; using X11; -#if MONO using Mono.Unix; -#endif namespace X11.XKlavier { @@ -33,9 +31,7 @@ public XklEngine() : this(X11Helper.GetDisplayConnection()) public XklEngine(IntPtr display) { Engine = xkl_engine_get_instance(display); -#if MONO Catalog.Init("xkeyboard-config", string.Empty); -#endif } public void Close() @@ -94,9 +90,7 @@ public virtual string[] LocalizedGroupNames m_LocalizedGroupNames = new string[count]; for (int i = 0; i < count; i++) { -#if MONO m_LocalizedGroupNames[i] = Catalog.GetString(GroupNames[i]); -#endif } } return m_LocalizedGroupNames; diff --git a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj index 72f83765e..b9aaf3c20 100644 --- a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj +++ b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj @@ -5,7 +5,7 @@ SIL.Windows.Forms.Keyboarding SIL.Windows.Forms.Keyboarding Debug;Release - This Keyboarding library provides cross-platform functionality for keyboard selection and switching. + The SIL.Windows.Forms.Keyboarding library provides cross-platform functionality for keyboard selection and switching in Windows Forms applications. Currently, this library supports system and Keyman keyboards on Windows, and X keyboard extension (XKB) and Intelligent Input Bus (IBus) keyboards on Linux. SIL International SIL International libpalaso @@ -26,10 +26,14 @@ + all - + + all + @@ -47,6 +51,7 @@ ..\lib\common\KeymanLink.dll + diff --git a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs index ea9e3e7f6..0c6a04ceb 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs @@ -146,7 +146,6 @@ public void UpdateAvailableKeyboards() { CheckDisposed(); Dictionary curKeyboards = KeyboardController.Instance.Keyboards.OfType().ToDictionary(kd => kd.Id); -#if !MONO switch (InstalledKeymanVersion) { case KeymanVersion.Keyman10: @@ -164,7 +163,6 @@ public void UpdateAvailableKeyboards() } break; } -#endif } private void UpdateKeyboards(Dictionary curKeyboards, IEnumerable availableKeyboardNames, bool isKeyman6) @@ -274,7 +272,6 @@ public Action GetKeyboardSetupAction() { switch (InstalledKeymanVersion) { -#if !MONO case KeymanVersion.Keyman10: return () => { @@ -289,7 +286,6 @@ public Action GetKeyboardSetupAction() var setupApp = GetKeyboardSetupApplication(out args); Process.Start(setupApp, args); }; -#endif default: throw new NotSupportedException($"No keyboard setup action defined for keyman version {InstalledKeymanVersion}"); } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs index 04d18fae8..97cc3353e 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs @@ -1,12 +1,8 @@ // Copyright (c) 2013-2018 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; -using System.Linq; -#if !MONO using Keyman10Interop; using System.Runtime.InteropServices; -#endif -using Microsoft.Win32; using SIL.Keyboarding; namespace SIL.Windows.Forms.Keyboarding.Windows diff --git a/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs b/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs index b7c95f9e8..ea90bbc19 100644 --- a/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs +++ b/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs @@ -22,7 +22,7 @@ private static string GetPathToImage(string requestedImage) } [Test] - [Platform(Exclude = "Linux", Reason = "Linux code not yet available.")] + [Platform(Exclude = "Linux", Reason = "Linux code to copy image to clipboard not yet implemented.")] public void ClipboardRoundTripWorks_Png() { var imagePath = GetPathToImage("LineSpacing.png"); @@ -40,7 +40,7 @@ public void ClipboardRoundTripWorks_Png() } [Test] - [Platform(Exclude = "Linux", Reason = "Linux code not yet available.")] + [Platform(Exclude = "Linux", Reason = "Linux code to copy image to clipboard not yet implemented.")] public void ClipboardRoundTripWorks_Bmp() { var imagePath = GetPathToImage("PasteHS.bmp"); @@ -58,7 +58,7 @@ public void ClipboardRoundTripWorks_Bmp() } [Test] - [Platform(Exclude = "Linux", Reason = "Linux code not yet available.")] + [Platform(Exclude = "Linux", Reason = "Linux code to copy image to clipboard not yet implemented.")] public void ClipboardRoundTripWorks_GetsExistingMetadata() { var imagePath = GetPathToImage("AOR_EAG00864.png"); @@ -77,5 +77,14 @@ public void ClipboardRoundTripWorks_GetsExistingMetadata() } } } + + [Test] + [Platform(Exclude = "Linux", Reason = "This requires a GTK message loop to run or something like this")] + public void ClipboardRoundTripWorks_Text() + { + PortableClipboard.SetText("Hello world"); + Assert.That(PortableClipboard.ContainsText(), Is.True); + Assert.That(PortableClipboard.GetText(), Is.EqualTo("Hello world")); + } } } diff --git a/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs b/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs index d1abb0817..763720fc6 100644 --- a/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs +++ b/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Specialized; using System.ComponentModel; using System.Drawing; @@ -6,6 +6,7 @@ using System.Linq; using System.Windows.Forms; using SIL.IO; +using SIL.PlatformUtilities; using SIL.Reporting; using SIL.Windows.Forms.ImageToolbox; @@ -16,65 +17,43 @@ public static class PortableClipboard { public static bool ContainsText() { -#if MONO - return GtkContainsText(); -#else - return Clipboard.ContainsText(); -#endif + return Platform.IsWindows ? Clipboard.ContainsText() : GtkContainsText(); } public static string GetText() { -#if MONO - return GtkGetText(); -#else - return Clipboard.GetText(); -#endif + return Platform.IsWindows ? Clipboard.GetText() : GtkGetText(); } public static string GetText(TextDataFormat format) { -#if MONO - return GtkGetText(); -#else - return Clipboard.GetText(format); -#endif + return Platform.IsWindows ? Clipboard.GetText(format) : GtkGetText(); } public static void SetText(string text) { -#if MONO - GtkSetText(text); -#else - Clipboard.SetText(text); -#endif + if (Platform.IsWindows) + Clipboard.SetText(text); + else + GtkSetText(text); } public static void SetText(string text, TextDataFormat format) { -#if MONO - GtkSetText(text); -#else - Clipboard.SetText(text, format); -#endif + if (Platform.IsWindows) + Clipboard.SetText(text, format); + else + GtkSetText(text); } public static bool ContainsImage() { -#if MONO - return GtkContainsImage(); -#else - return Clipboard.ContainsImage(); -#endif + return Platform.IsWindows ? Clipboard.ContainsImage() : GtkContainsImage(); } - public static System.Drawing.Image GetImage() + public static Image GetImage() { -#if MONO - return GtkGetImage(); -#else - return Clipboard.GetImage(); -#endif + return Platform.IsWindows ? Clipboard.GetImage() : GtkGetImage(); } public static void CopyImageToClipboard(PalasoImage image) @@ -82,20 +61,24 @@ public static void CopyImageToClipboard(PalasoImage image) // N.B.: PalasoImage does not handle .svg files if(image == null) return; -#if MONO - // Review: Someone who knows how needs to implement this! - throw new NotImplementedException("SIL.Windows.Forms.Miscellaneous.PortableClipboard.CopyImageToClipboard() is not yet implemented for Linux"); -#else + + if (!Platform.IsWindows) + { + // Review: Someone who knows how needs to implement this! + throw new NotImplementedException( + "SIL.Windows.Forms.Miscellaneous.PortableClipboard.CopyImageToClipboard() is not yet implemented for Linux"); + } + if (image.Image == null) { - if (String.IsNullOrEmpty(image.OriginalFilePath)) + if (string.IsNullOrEmpty(image.OriginalFilePath)) return; // no image, but a path Clipboard.SetFileDropList(new StringCollection() {image.OriginalFilePath}); } else { - if (String.IsNullOrEmpty(image.OriginalFilePath)) + if (string.IsNullOrEmpty(image.OriginalFilePath)) Clipboard.SetImage(image.Image); else { @@ -106,25 +89,26 @@ public static void CopyImageToClipboard(PalasoImage image) Clipboard.SetDataObject(clips,true); } } -#endif } public static PalasoImage GetImageFromClipboard() { // N.B.: PalasoImage does not handle .svg files -#if MONO - if (GtkContainsImage()) - return PalasoImage.FromImage(GtkGetImage()); - - if (GtkContainsText()) + if (!Platform.IsWindows) { - //REVIEW: I can find no documentation on GtkClipboard. If ContainsText means we have a file - // path, then it would be better to do PalasoImage.FromFileRobustly(); on the file path - return PalasoImage.FromImage(GtkGetImageFromText()); + if (GtkContainsImage()) + return PalasoImage.FromImage(GtkGetImage()); + + if (GtkContainsText()) + { + //REVIEW: I can find no documentation on GtkClipboard. If ContainsText means we have a file + // path, then it would be better to do PalasoImage.FromFileRobustly(); on the file path + return PalasoImage.FromImage(GtkGetImageFromText()); + } + + return null; } - return null; -#else var dataObject = Clipboard.GetDataObject(); if (dataObject == null) return null; @@ -148,10 +132,8 @@ public static PalasoImage GetImageFromClipboard() plainImage.Dispose();//important: don't do this until we've successfully created the imageWithPathAndMaybeMetadata return imageWithPathAndMaybeMetadata; } - else - { - return plainImage; - } + + return plainImage; } catch (Exception e) { @@ -202,10 +184,8 @@ public static PalasoImage GetImageFromClipboard() {} return null; -#endif } -#if MONO // The following methods are derived from GtkClipboard.cs from https://github.com/phillip-hopper/GtkUtils. /// Set the clipboard text @@ -245,18 +225,18 @@ private static bool GtkContainsImage() } /// Get the image from clipboard - private static System.Drawing.Image GtkGetImage() + private static Image GtkGetImage() { using (var cb = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false))) { Gdk.Pixbuf buff = cb.WaitForImage(); - TypeConverter tc = TypeDescriptor.GetConverter(typeof(System.Drawing.Bitmap)); - return (System.Drawing.Image)tc.ConvertFrom(buff.SaveToBuffer("png")); + TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); + return (Image)tc.ConvertFrom(buff.SaveToBuffer("png")); } } /// Get the image from a file name on the clipboard - private static System.Drawing.Image GtkGetImageFromText() + private static Image GtkGetImageFromText() { var stringSeparators = new string[] { Environment.NewLine }; var paths = GetText().Split(stringSeparators, StringSplitOptions.None); @@ -269,8 +249,8 @@ private static System.Drawing.Image GtkGetImageFromText() { var bytes = File.ReadAllBytes(path); var buff = new Gdk.Pixbuf(bytes); - TypeConverter tc = TypeDescriptor.GetConverter(typeof(System.Drawing.Bitmap)); - return (System.Drawing.Image)tc.ConvertFrom(buff.SaveToBuffer("png")); + TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); + return (Image)tc.ConvertFrom(buff.SaveToBuffer("png")); } catch (Exception e) { @@ -280,14 +260,13 @@ private static System.Drawing.Image GtkGetImageFromText() } return null; } -#endif // ------------------------------------------------------------------------------------------------------------- // Clipboard operations (copy/cut/paste) in text boxes do not work properly on Linux in some situations, // freezing or crashing the program. See https://issues.bloomlibrary.org/youtrack/issue/BL-5681 for one example. // The following methods were added to allow dialogs to use the PortableClipboard in TextBox and RichTextBox // controls. It's possible that these methods might only be used on Linux, but they compile (and would work) - // fine for Windows. I prefer not using #if MONO more than absolutely necessary. + // fine for Windows. // These methods are used by FormUsingPortableClipboard. /// @@ -358,7 +337,7 @@ private static bool PortablePasteIntoTextBox(Form form, IntPtr hwnd) var box = GetTextBoxFromHWnd(form, hwnd); if (box == null) return false; - if (SIL.Windows.Forms.Miscellaneous.PortableClipboard.ContainsText()) + if (ContainsText()) { var start = box.SelectionStart; var length = box.SelectionLength; @@ -370,7 +349,7 @@ private static bool PortablePasteIntoTextBox(Form form, IntPtr hwnd) else text = text.Remove(start, length); } - var clipText = SIL.Windows.Forms.Miscellaneous.PortableClipboard.GetText(); + var clipText = GetText(); box.Text = text.Insert(start, clipText); box.SelectionStart = start + clipText.Length; } @@ -395,7 +374,7 @@ private static bool PortableCopyOrCutFromTextBox(Form form, IntPtr hwnd, bool cu if (length <= 0) return true; var text = box.Text.Substring(start, length); - SIL.Windows.Forms.Miscellaneous.PortableClipboard.SetText(text); + SetText(text); if (cut) { box.Text = box.Text.Remove(start, length); diff --git a/SIL.Windows.Forms/SIL.Windows.Forms.csproj b/SIL.Windows.Forms/SIL.Windows.Forms.csproj index ee1676c83..13115cf87 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms.csproj @@ -5,7 +5,7 @@ SIL.Windows.Forms SIL.Windows.Forms Debug;Release - SIL.Windows.Forms provides general UI related utilities for language software. + SIL.Windows.Forms contains Windows Forms classes for UI elements (controls and dialogs) that are commonly used across various SIL applications. SIL.Windows.Forms is similar to SIL.Core in that it does not contain classes that are specific to any domain. SIL International SIL International libpalaso @@ -17,6 +17,7 @@ ../output true ../palaso.snk + None @@ -27,7 +28,6 @@ - all @@ -35,7 +35,9 @@ all - + + all + @@ -45,6 +47,20 @@ + + + + + + + + + + + + + + ..\lib\Release\Interop.WIA.dll @@ -53,4 +69,9 @@ + + + $(AssemblySearchPaths);{GAC} + + From 7783dd8091e96673cb07676c8f2ee1fa12def321 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 15 Feb 2019 12:47:04 +0100 Subject: [PATCH 17/49] Load architecture specific irrKlang.NET4 assembly at runtime --- CHANGELOG.md | 5 +++ SIL.Core/PlatformUtilities/Platform.cs | 6 +++ SIL.Media/AudioFactory.cs | 51 ++++++++++++++++++++++++++ SIL.Media/SIL.Media.csproj | 4 ++ 4 files changed, 66 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07ff6fe56..6dbe1f901 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,3 +23,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). NAudio and AlsaAudio `RecordingDevice` implement. This allows to use to use the same assembly on both Windows and Linux (although the limitations what works and what doesn't work remain the same) + +### Added + +- [SIL.Core] new properties for processor architecture: `Platform.ProcessArchitecture` and + `Platform.IsRunning64Bit` \ No newline at end of file diff --git a/SIL.Core/PlatformUtilities/Platform.cs b/SIL.Core/PlatformUtilities/Platform.cs index 621d3fcf0..54d3a7306 100644 --- a/SIL.Core/PlatformUtilities/Platform.cs +++ b/SIL.Core/PlatformUtilities/Platform.cs @@ -319,5 +319,11 @@ private static string RunTerminalCommand(string cmd, string args = null) return output.Trim(); } + public const string x64 = nameof(x64); + public const string x86 = nameof(x86); + + public static string ProcessArchitecture => Environment.Is64BitProcess ? x64 : x86; + + public static bool IsRunning64Bit => Environment.Is64BitProcess; } } diff --git a/SIL.Media/AudioFactory.cs b/SIL.Media/AudioFactory.cs index a2ca7c9fa..a0a5ab1be 100644 --- a/SIL.Media/AudioFactory.cs +++ b/SIL.Media/AudioFactory.cs @@ -1,4 +1,8 @@ using System; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Reflection; using SIL.Media.AlsaAudio; using SIL.PlatformUtilities; @@ -10,6 +14,12 @@ public static ISimpleAudioSession CreateAudioSession(string filePath) { if (Platform.IsLinux) return new AudioAlsaSession(filePath); + RedirectIrrKlangAssembly(); + return CreateIrrKlangSession(filePath); + } + + private static ISimpleAudioSession CreateIrrKlangSession(string filePath) + { return new AudioIrrKlangSession(filePath); } @@ -18,5 +28,46 @@ public static ISimpleAudioSession AudioSession(string filePath) { return CreateAudioSession(filePath); } + + ///Adds an AssemblyResolve handler to redirect all attempts to load the + /// irrKlang.Net.dll to the architecture specific subdirectory. + private static void RedirectIrrKlangAssembly() + { + // https://blog.slaks.net/2013-12-25/redirecting-assembly-loads-at-runtime/ + Debug.Assert(Platform.IsWindows); + + ResolveEventHandler handler = null; + + handler = (sender, args) => { + const string irrklangNet4Dll = "irrKlang.NET4"; + + var requestedAssembly = new AssemblyName(args.Name); + if (requestedAssembly.Name != irrklangNet4Dll) + return null; + + Debug.WriteLine($"Redirecting assembly load of {args.Name}, " + + $"loaded by {(args.RequestingAssembly == null ? "(unknown)" : args.RequestingAssembly.FullName)}"); + + var assemblyLocation = Assembly.GetExecutingAssembly().CodeBase; + if (!string.IsNullOrEmpty(assemblyLocation)) + { + var uri = new Uri(assemblyLocation); + assemblyLocation = uri.LocalPath; + } + else + assemblyLocation = Assembly.GetExecutingAssembly().Location; + + var directory = Path.GetDirectoryName(assemblyLocation); + if (string.IsNullOrEmpty(directory)) + directory = Directory.GetCurrentDirectory(); + requestedAssembly.CodeBase = Path.Combine(directory, "lib", + $"win-{Platform.ProcessArchitecture}", irrklangNet4Dll + ".dll"); + + AppDomain.CurrentDomain.AssemblyResolve -= handler; + + return Assembly.Load(requestedAssembly); + }; + AppDomain.CurrentDomain.AssemblyResolve += handler; + } } } diff --git a/SIL.Media/SIL.Media.csproj b/SIL.Media/SIL.Media.csproj index e857b0b69..f3a594612 100644 --- a/SIL.Media/SIL.Media.csproj +++ b/SIL.Media/SIL.Media.csproj @@ -306,11 +306,13 @@ ..\lib\x86\irrKlang.NET4.dll + False ..\lib\x64\irrKlang.NET4.dll + False @@ -484,5 +486,7 @@ --> + + \ No newline at end of file From dc800f2563d27b22f5f09485e6476f58f67bc900 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 15 Feb 2019 16:44:05 +0100 Subject: [PATCH 18/49] Create nuget package for SIL.Media --- Palaso.sln | 242 ++++++------ SIL.Media.Tests/AudioPlayerTests.cs | 63 ++- SIL.Media.Tests/AudioRecorderTests.cs | 1 + SIL.Media.Tests/FFmpegRunnerTests.cs | 6 +- SIL.Media.Tests/SIL.Media.Tests.csproj | 225 +---------- SIL.Media/AudioGStreamerSession.cs | 254 ------------ SIL.Media/Properties/AssemblyInfo.cs | 19 +- SIL.Media/SIL.Media.csproj | 518 ++----------------------- SIL.Media/packages.config | 4 - 9 files changed, 194 insertions(+), 1138 deletions(-) delete mode 100644 SIL.Media/AudioGStreamerSession.cs delete mode 100644 SIL.Media/packages.config diff --git a/Palaso.sln b/Palaso.sln index f53691d6d..d4fa32c99 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -14,7 +14,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddSortKey", "AddSortKey\Ad EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Tests", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests.csproj", "{6E16866F-FF8D-4136-AD67-36AFE3626432}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media", "SIL.Media\SIL.Media.csproj", "{66B3504A-3B4E-45CB-903A-A9A75B22EF68}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Media", "SIL.Media\SIL.Media.csproj", "{66B3504A-3B4E-45CB-903A-A9A75B22EF68}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media.Tests", "SIL.Media.Tests\SIL.Media.Tests.csproj", "{CD4AF11C-C214-4D90-8F12-6DA97836B800}" EndProject @@ -408,132 +408,132 @@ Global {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.ActiveCfg = Debug|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.Build.0 = Debug|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.ActiveCfg = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.Build.0 = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.Build.0 = DebugMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.Build.0 = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.Build.0 = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Any CPU.ActiveCfg = Release|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Any CPU.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.Build.0 = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.ActiveCfg = Release|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.Build.0 = Release|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.ActiveCfg = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.Build.0 = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.ActiveCfg = Debug|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.Build.0 = Debug|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.ActiveCfg = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.Build.0 = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.Build.0 = DebugMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.Build.0 = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.Build.0 = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.Build.0 = Debug|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Any CPU.ActiveCfg = Release|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Any CPU.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.Build.0 = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.ActiveCfg = Release|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.Build.0 = Release|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.ActiveCfg = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.Build.0 = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.Build.0 = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU + {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.Build.0 = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU diff --git a/SIL.Media.Tests/AudioPlayerTests.cs b/SIL.Media.Tests/AudioPlayerTests.cs index ede98297f..87a40a40c 100644 --- a/SIL.Media.Tests/AudioPlayerTests.cs +++ b/SIL.Media.Tests/AudioPlayerTests.cs @@ -1,13 +1,11 @@ -using System; +using System; using System.IO; using System.Threading; using NUnit.Framework; using SIL.IO; using SIL.Media.Tests.Properties; -#if !MONO using SIL.Media.Naudio; using NAudio.Wave; -#endif namespace SIL.Media.Tests { @@ -22,41 +20,38 @@ namespace SIL.Media.Tests [TestFixture] public class AudioPlayerTests { - [Test] - public void LoadFile_ThenDispose_FileCanBeDeleted() - { -#if !MONO - var file = TempFile.FromResource(Resources._2Channel, ".wav"); - using (var player = new AudioPlayer()) - { - player.LoadFile(file.Path); - } - Assert.DoesNotThrow(() => File.Delete(file.Path)); -#endif + [Test] + public void LoadFile_ThenDispose_FileCanBeDeleted() + { + var file = TempFile.FromResource(Resources._2Channel, ".wav"); + using (var player = new AudioPlayer()) + { + player.LoadFile(file.Path); + } + + Assert.DoesNotThrow(() => File.Delete(file.Path)); } - /// - /// This test shows what caused hearthis to abandon the naudio; previous to a change to this class in 2/2012, it is believed that all was ok. - /// - [Test, Ignore("Known to Fail (hangs forever")] - public void PlayFile_ThenDispose_FileCanBeDeleted() - { -#if !MONO - var file = TempFile.FromResource(Resources._2Channel, ".wav"); - using (var player = new AudioPlayer()) - { - player.LoadFile(file.Path); - //player.Stopped += (s, e) => { Assert.DoesNotThrow(() => File.Delete(file.Path)); }; + /// + /// This test shows what caused hearthis to abandon the naudio; previous to a change to this class in 2/2012, it is believed that all was ok. + /// + [Test, Ignore("Known to Fail (hangs forever")] + public void PlayFile_ThenDispose_FileCanBeDeleted() + { + var file = TempFile.FromResource(Resources._2Channel, ".wav"); + using (var player = new AudioPlayer()) + { + player.LoadFile(file.Path); + //player.Stopped += (s, e) => { Assert.DoesNotThrow(() => File.Delete(file.Path)); }; - player.StartPlaying(); - var giveUpTime = DateTime.Now.AddSeconds(3); - while (player.PlaybackState != PlaybackState.Stopped && DateTime.Now < giveUpTime) - Thread.Sleep(100); + player.StartPlaying(); + var giveUpTime = DateTime.Now.AddSeconds(3); + while (player.PlaybackState != PlaybackState.Stopped && DateTime.Now < giveUpTime) + Thread.Sleep(100); + } - } - Assert.DoesNotThrow(() => File.Delete(file.Path)); - Assert.False(File.Exists(file.Path)); -#endif + Assert.DoesNotThrow(() => File.Delete(file.Path)); + Assert.False(File.Exists(file.Path)); } } } diff --git a/SIL.Media.Tests/AudioRecorderTests.cs b/SIL.Media.Tests/AudioRecorderTests.cs index 77e3bfd51..1f89ec5ad 100644 --- a/SIL.Media.Tests/AudioRecorderTests.cs +++ b/SIL.Media.Tests/AudioRecorderTests.cs @@ -19,6 +19,7 @@ namespace SIL.Media.Tests /// I have not tried to verify that all of these tests would actually have problems on TeamCity, but it seemed /// helpful to document in the usual way that they are not, in fact, run there. /// + /// Some of these tests will fail if a microphone isn't available. [NUnit.Framework.Category("SkipOnTeamCity")] [TestFixture] [NUnit.Framework.Category("AudioTests")] diff --git a/SIL.Media.Tests/FFmpegRunnerTests.cs b/SIL.Media.Tests/FFmpegRunnerTests.cs index f69ed9c35..8aec10ff8 100644 --- a/SIL.Media.Tests/FFmpegRunnerTests.cs +++ b/SIL.Media.Tests/FFmpegRunnerTests.cs @@ -1,4 +1,4 @@ -using System.IO; +using System.IO; using NUnit.Framework; using SIL.IO; using SIL.Media.Tests.Properties; @@ -81,9 +81,7 @@ public void MakeLowQualityCompressedAudio_CreatesFile() var outputPath = originalAudioPath.Replace("mp3", "low.mp3"); FFmpegRunner.MakeLowQualityCompressedAudio(originalAudioPath, outputPath, new ConsoleProgress()); Assert.IsTrue(File.Exists(outputPath)); -#if !MONO System.Diagnostics.Process.Start(outputPath); -#endif } } @@ -97,9 +95,7 @@ public void MakeLowQualitySmallVideo_CreatesFile() var outputPath = file.Path.Replace("wmv", "low.wmv"); FFmpegRunner.MakeLowQualitySmallVideo(file.Path, outputPath, 0, new ConsoleProgress()); Assert.IsTrue(File.Exists(outputPath)); -#if !MONO System.Diagnostics.Process.Start(outputPath); -#endif } } } diff --git a/SIL.Media.Tests/SIL.Media.Tests.csproj b/SIL.Media.Tests/SIL.Media.Tests.csproj index 18b8169c0..49b926bd7 100644 --- a/SIL.Media.Tests/SIL.Media.Tests.csproj +++ b/SIL.Media.Tests/SIL.Media.Tests.csproj @@ -1,4 +1,4 @@ - + Debug @@ -27,7 +27,7 @@ true full false - ..\output\Debug + ..\output\Debug\net461 DEBUG;TRACE prompt 4 @@ -39,228 +39,14 @@ pdbonly true - ..\output\Release + ..\output\Release\net461 TRACE prompt 4 AnyCPU false - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll @@ -277,9 +63,6 @@ - - Properties\GlobalAssemblyInfo.cs - diff --git a/SIL.Media/AudioGStreamerSession.cs b/SIL.Media/AudioGStreamerSession.cs deleted file mode 100644 index f9fc8306b..000000000 --- a/SIL.Media/AudioGStreamerSession.cs +++ /dev/null @@ -1,254 +0,0 @@ -using System; -using Gst; -using GstSharp; - -namespace Palaso.Media -{ - public class AudioGStreamerSession : ISimpleAudioSession - { - public static bool gst_is_init; - private readonly string _path; - private DateTime _startRecordingTime; - private DateTime _stopRecordingTime; - private bool _playInit, _recordInit, _recordOgg; - private bool _isPlaying, _isRecording; - private Gst.BasePlugins.PlayBin2 _playBin; - private Gst.Pipeline _pipeline; - private Gst.CorePlugins.FileSink _eleFileSink; - private Gst.Element _eleAudioSource, _eleAudioConvert, _eleWavPack, _eleVorbisEnc, _eleOggMux; - - - public AudioGStreamerSession(string filePath) - { - // don't forget problem with gstreamerglue lib that needs to be in lib path - // not just current dir - // modified package? - - System.Console.WriteLine("cur dir: " + System.Environment.CurrentDirectory); - if (!gst_is_init) - { - Gst.Application.Init(); - gst_is_init = true; - } - _path = filePath; - System.Console.WriteLine("path: " + filePath); - _recordOgg = true; - } - - - public string FilePath - { - get { return _path; } - } - - public void StartRecording () - { - if (_isRecording) { - StopRecordingAndSaveAsWav(); - throw new ApplicationException("recording while already recording"); - } - if (!_recordInit) { - SetupRecordingPipeline(); - } - _pipeline.SetState(Gst.State.Playing); - _startRecordingTime = DateTime.Now; - _isRecording = true; - _pipeline.Bus.AddWatch (new BusFunc (BusCb)); - } - -// may try to use to find EOS on pipeline - private static bool BusCb (Bus bus, Message message) - { - switch (message.Type) { - case MessageType.Error: - Enum err; - string msg; - message.ParseError (out err, out msg); - Console.WriteLine ("Gstreamer error: {0}", msg); - //loop.Quit (); - break; - case MessageType.Eos: - //_isRecording = false; - //SaveAsWav (_path); - //loop.Quit(); - Console.WriteLine ("End of stream"); - break; - } - return true; - } - - public void StopRecordingAndSaveAsWav() - { - if (!_recordInit) - { - throw new ApplicationException("trying to stop when recording not initialised"); - } - if (!_isRecording) - { - throw new ApplicationException("trying to stop when recording not started"); - } - - _pipeline.SetState(Gst.State.Null); - _stopRecordingTime = DateTime.Now; - _isRecording = false; - SaveAsWav (_path); - - } - - - - - public double LastRecordingMilliseconds - { - get - { - if(_startRecordingTime == default(DateTime) || _stopRecordingTime == default(DateTime)) - return 0.0; - return _stopRecordingTime.Subtract(_startRecordingTime).TotalMilliseconds; - } - } - - public bool IsRecording - { - get { return _isRecording; } - } - - public bool IsPlaying - { - get { return _isPlaying; } - } - - public bool CanRecord - { - get { return !IsPlaying && !IsRecording; } - } - - public bool CanStop - { - get { return IsPlaying || IsRecording; } - } - - public bool CanPlay - { - get { return !IsPlaying && !IsRecording && System.IO.File.Exists(_path); } - } - - private void SetupPlaybin () - { - if (!System.IO.File.Exists(_path)) - { - throw new System.IO.FileNotFoundException(); - } - _playBin = new Gst.BasePlugins.PlayBin2(); - //_playBin.PlayFlags &= ~((Gst.BasePlugins.PlayBin2.PlayFlagsType)(1 << 1)); - //_playBin.Bus.AddSignalWatch(); - //_playBin.Bus.EnableSyncMessageEmission(); - //_playBin.Bus.Message += new Gst.MessageHandler(OnPlayBinMessage); - - _playBin.SetState(Gst.State.Ready); - _playBin.Uri = @"file:///" + _path.Replace('\\', '/'); - System.Console.WriteLine(_playBin.Uri); - _playBin.SetState(Gst.State.Paused); - _playInit = true; - } - - private void SetupRecordingPipeline () - { - // set up pipeline and elements - // gst-launch-0.10 autoaudiosrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=dump.ogg - // Create new pipeline. - - _pipeline = new Gst.Pipeline (); - - //Pipeline pipeline = new Pipeline("pipeline"); - - // Construct pipeline filesrc -> avidemux -> mpeg4 -> directdrawsink - - //_eleAudioSource = ElementFactory.Make("autoaudiosrc", "autoaudiosrc"); - _eleAudioSource = ElementFactory.Make ("pulsesrc"); - _eleAudioConvert = ElementFactory.Make ("audioconvert"); - if (_recordOgg) { - _eleVorbisEnc = ElementFactory.Make ("vorbisenc"); - _eleOggMux = ElementFactory.Make ("oggmux"); - } else { - _eleWavPack = ElementFactory.Make ("wavpackenc"); - } - _eleFileSink = new Gst.CorePlugins.FileSink (); - //_eleFileSink = ElementFactory.Make("filesink", "filesink"); - _eleFileSink ["location"] = _path; - - // Add and link pipeline. - if (_recordOgg) { - _pipeline.Add (_eleAudioSource, _eleAudioConvert, _eleVorbisEnc, _eleOggMux, _eleFileSink); - } else { - _pipeline.Add (_eleAudioSource, _eleAudioConvert, _eleWavPack, _eleFileSink); - } - - // Play video. - _pipeline.SetState (Gst.State.Ready); - _pipeline.SetState (Gst.State.Paused); - - if (!_eleAudioSource.Link (_eleAudioConvert)) { - Console.WriteLine ("link failed between source and converter"); - } - if (_recordOgg) { - if (!_eleAudioConvert.Link (_eleVorbisEnc)) { - Console.WriteLine ("link failed between converter and encoder"); - } - - if (!_eleVorbisEnc.Link (_eleOggMux)) { - Console.WriteLine ("link failed between e and parser"); - } - - if (!_eleOggMux.Link (_eleFileSink)) { - Console.Error.WriteLine ("link failed between parser and sink"); - } - } else { - - if (!_eleAudioConvert.Link (_eleWavPack)) { - Console.WriteLine ("link failed between converter and encoder"); - } - - if (!_eleWavPack.Link (_eleFileSink)) { - Console.Error.WriteLine ("link failed between encoder and sink"); - } - } - - _recordInit = true; - } - - public void Play () - { - if (_isRecording) { - throw new ApplicationException ("trying to play while recording"); - } - // move playbin creation to here if it isn't already created? - if (!_playInit) { - SetupPlaybin (); - } - _playBin.SetState(Gst.State.Playing); - _isPlaying = true; - } - - public void SaveAsWav (string filePath) - { - // null op as currently the recording pipeline saves to wav as it goes - // just check that it did record - if (!System.IO.File.Exists (filePath)) { - throw new ApplicationException ("recorded file not saved"); - } - System.IO.FileInfo f = new System.IO.FileInfo (filePath); - System.Console.WriteLine ("file exists after record"); - if (f.Length <= 4) { - throw new ApplicationException ("recorded file zero length"); - } - } - - public void StopPlaying() - { - // is this to be stop or pause? - _playBin.SetState(Gst.State.Null); - _isPlaying = false; - } - } -} diff --git a/SIL.Media/Properties/AssemblyInfo.cs b/SIL.Media/Properties/AssemblyInfo.cs index 37468af68..b4fa562b2 100644 --- a/SIL.Media/Properties/AssemblyInfo.cs +++ b/SIL.Media/Properties/AssemblyInfo.cs @@ -1,21 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// 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("SIL.Media")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("98715b3b-a07a-4807-9e58-7d1325b6da55")] +using SIL.Acknowledgements; [assembly: Acknowledgement("irrKlang.NET4", Name = "irrKlang.NET4", Url = "http://www.ambiera.com/irrklang/index.html", LicenseUrl = "http://www.ambiera.com/irrklang/license.html", diff --git a/SIL.Media/SIL.Media.csproj b/SIL.Media/SIL.Media.csproj index f3a594612..d2c10dfe3 100644 --- a/SIL.Media/SIL.Media.csproj +++ b/SIL.Media/SIL.Media.csproj @@ -1,492 +1,48 @@ - - + - Debug - AnyCPU - 9.0.21022 - 2.0 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - Library - Properties + net461 SIL.Media - SIL.Media - 512 - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v4.6.1 - 6 - - - - True - full - False - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Media.xml - AnyCPU - - - 1591 - false - - - pdbonly - True - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - True - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Media.xml - full - AnyCPU - prompt - - - 4 - False - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - True - pdbonly - AnyCPU + SIL.Media + Debug;Release + A cross-platform audio/media library + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output prompt - - 4 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Media.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Media.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + + false - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll - - - - - ..\lib\x86\irrKlang.NET4.dll - False - - - - - ..\lib\x64\irrKlang.NET4.dll - False - - - - - - - - - - - - - - - - - - - - - True - True - AudioDeviceIcons.resx - - - Component - - - PeakMeterCtrl.cs - - - UserControl - - - RecordingDeviceIndicator.cs - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - UserControl - - - ShortSoundFieldControl.cs - - - - True - True - Resources.resx - - - UserControl - - - SoundFieldControl.cs - - - - - - - - ResXFileCodeGenerator - AudioDeviceIcons.Designer.cs - Designer - - - RecordingDeviceIndicator.cs - - - - - ShortSoundFieldControl.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - SoundFieldControl.cs - Designer - - - - - - - - - + + all + + + + all + - - + + - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + + ..\lib\x86\irrKlang.NET4.dll + false + + - - - - - - - - \ No newline at end of file + + + + + diff --git a/SIL.Media/packages.config b/SIL.Media/packages.config deleted file mode 100644 index bd2b792f1..000000000 --- a/SIL.Media/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file From e5d2eb63f0ae57c3f81357929fb76a7edb436f16 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 18 Feb 2019 12:34:35 +0100 Subject: [PATCH 19/49] Include irrKlang.NET4 in SIL.Media nuget package --- .editorconfig | 2 +- .gitattributes | 3 +- SIL.Media/SIL.Media.csproj | 26 +++++++++++++----- SIL.Media/SIL.Media.targets | 13 +++++++++ .../x64 => SIL.Media/lib/win-x64}/ikpFlac.dll | Bin {lib/x64 => SIL.Media/lib/win-x64}/ikpMP3.dll | Bin .../lib/win-x64}/irrKlang.NET4.dll | Bin .../x86 => SIL.Media/lib/win-x86}/ikpFlac.dll | Bin {lib/x86 => SIL.Media/lib/win-x86}/ikpMP3.dll | Bin .../lib/win-x86}/irrKlang.NET4.dll | Bin 10 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 SIL.Media/SIL.Media.targets rename {lib/x64 => SIL.Media/lib/win-x64}/ikpFlac.dll (100%) rename {lib/x64 => SIL.Media/lib/win-x64}/ikpMP3.dll (100%) rename {lib/x64 => SIL.Media/lib/win-x64}/irrKlang.NET4.dll (100%) rename {lib/x86 => SIL.Media/lib/win-x86}/ikpFlac.dll (100%) rename {lib/x86 => SIL.Media/lib/win-x86}/ikpMP3.dll (100%) rename {lib/x86 => SIL.Media/lib/win-x86}/irrKlang.NET4.dll (100%) diff --git a/.editorconfig b/.editorconfig index 80b14ade8..d6d59155c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,7 +18,7 @@ indent_style = tab tab_width = 4 # Settings Visual Studio uses for generated files -[*.{csproj,resx,settings,vcxproj*,vdproj,xml,yml}] +[*.{csproj,resx,settings,targets,vcxproj*,vdproj,xml,yml}] indent_style = space indent_size = 2 diff --git a/.gitattributes b/.gitattributes index c34382980..f57be1109 100644 --- a/.gitattributes +++ b/.gitattributes @@ -21,4 +21,5 @@ changelog -whitespace *.lift* -whitespace *.xsl -whitespace -*.yml -whitespace \ No newline at end of file +*.yml -whitespace +*.targets -whitespace \ No newline at end of file diff --git a/SIL.Media/SIL.Media.csproj b/SIL.Media/SIL.Media.csproj index d2c10dfe3..f1a0f16d9 100644 --- a/SIL.Media/SIL.Media.csproj +++ b/SIL.Media/SIL.Media.csproj @@ -4,7 +4,7 @@ SIL.Media SIL.Media Debug;Release - A cross-platform audio/media library + SIL.Media contains Windows Forms UI elements and classes for processing audio on Windows and Linux. SIL International SIL International libpalaso @@ -20,6 +20,7 @@ mixed-mode assembly (contains both managed code and native code for a particular processor architecture) --> false + None @@ -35,14 +36,25 @@ - - ..\lib\x86\irrKlang.NET4.dll + false - - - - + + + Always + true + build/lib/win-x64 + + + Always + true + build/lib/win-x86 + + + true + build + + diff --git a/SIL.Media/SIL.Media.targets b/SIL.Media/SIL.Media.targets new file mode 100644 index 000000000..d1eddf9ba --- /dev/null +++ b/SIL.Media/SIL.Media.targets @@ -0,0 +1,13 @@ + + + + %(RecursiveDir)%(FileName)%(Extension) + Always + + + + + + + + \ No newline at end of file diff --git a/lib/x64/ikpFlac.dll b/SIL.Media/lib/win-x64/ikpFlac.dll similarity index 100% rename from lib/x64/ikpFlac.dll rename to SIL.Media/lib/win-x64/ikpFlac.dll diff --git a/lib/x64/ikpMP3.dll b/SIL.Media/lib/win-x64/ikpMP3.dll similarity index 100% rename from lib/x64/ikpMP3.dll rename to SIL.Media/lib/win-x64/ikpMP3.dll diff --git a/lib/x64/irrKlang.NET4.dll b/SIL.Media/lib/win-x64/irrKlang.NET4.dll similarity index 100% rename from lib/x64/irrKlang.NET4.dll rename to SIL.Media/lib/win-x64/irrKlang.NET4.dll diff --git a/lib/x86/ikpFlac.dll b/SIL.Media/lib/win-x86/ikpFlac.dll similarity index 100% rename from lib/x86/ikpFlac.dll rename to SIL.Media/lib/win-x86/ikpFlac.dll diff --git a/lib/x86/ikpMP3.dll b/SIL.Media/lib/win-x86/ikpMP3.dll similarity index 100% rename from lib/x86/ikpMP3.dll rename to SIL.Media/lib/win-x86/ikpMP3.dll diff --git a/lib/x86/irrKlang.NET4.dll b/SIL.Media/lib/win-x86/irrKlang.NET4.dll similarity index 100% rename from lib/x86/irrKlang.NET4.dll rename to SIL.Media/lib/win-x86/irrKlang.NET4.dll From 0e5acd5458a5825534b0ef2e9801ff37c2aa3507 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 18 Feb 2019 18:37:37 +0100 Subject: [PATCH 20/49] Fix namespace of CrossPlatformSettingsProvider The namespace got changed in the big refactoring, but some mentions in strings were missed... --- SIL.Core.Desktop/Settings/README | 4 ++-- TestApps/ReportingTest/Properties/Settings.settings | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SIL.Core.Desktop/Settings/README b/SIL.Core.Desktop/Settings/README index cb22eb44e..553a5d40b 100644 --- a/SIL.Core.Desktop/Settings/README +++ b/SIL.Core.Desktop/Settings/README @@ -8,7 +8,7 @@ Short instructions (to just make it work) ----------------------------------------- To use the CrossPlatformSettings provider add the following content to a new class in the project for your assembly where settings are defined. All of your current settings should be modified in -the designer to include "Palaso.Settings.CrossPlatformSettingsProvider" in the Provider property. +the designer to include "SIL.Settings.CrossPlatformSettingsProvider" in the Provider property. Place the file next to the Settings.Designer.cs file and replacing the place-holders [{}] with appropriate info: @@ -33,7 +33,7 @@ namespace [{Namespace to match your Settings.Designer.cs file}].Properties foreach (SettingsProperty property in Properties) { Debug.Assert(property.Provider is CrossPlatformSettingsProvider, - "Palaso.Settings.CrossPlatformSettingsProvider should be used for " + property.Name); + "SIL.Settings.CrossPlatformSettingsProvider should be used for " + property.Name); } } } diff --git a/TestApps/ReportingTest/Properties/Settings.settings b/TestApps/ReportingTest/Properties/Settings.settings index 1dd201037..21031fed0 100644 --- a/TestApps/ReportingTest/Properties/Settings.settings +++ b/TestApps/ReportingTest/Properties/Settings.settings @@ -2,10 +2,10 @@ - + True - + From d5a4de6ee04853544de605035d85457bba594b36 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 18 Feb 2019 18:37:54 +0100 Subject: [PATCH 21/49] Update URL of JIRA --- SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs index 9256ee27e..a6b413a74 100644 --- a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs +++ b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs @@ -867,7 +867,7 @@ private ReportingMethod SelectedMethod public static string PrivacyNotice = @"If you don't care who reads your bug report, you can skip this notice. -When you submit a crash report or other issue, the contents of your email go in our issue tracking system, ""jira"", which is available via the web at http://jira.palaso.org/issues. This is the normal way to handle issues in an open-source project. +When you submit a crash report or other issue, the contents of your email go in our issue tracking system, ""jira"", which is available via the web at https://jira.sil.org/issues. This is the normal way to handle issues in an open-source project. Our issue-tracking system is not searchable by those without an account. Therefore, someone searching via Google will not find your bug reports. From 11f3bf19a9982ebb3086bc95bb0713c667e9efb5 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 18 Feb 2019 15:47:09 +0100 Subject: [PATCH 22/49] Convert test apps and unit tests to new csproj format --- AddSortKey/AddSortKey.csproj | 333 +----------- AddSortKey/Properties/AssemblyInfo.cs | 17 - .../ExtractCopyright.Tests.csproj | 352 +----------- .../Properties/AssemblyInfo.cs | 22 - ExtractCopyright/ExtractCopyright.csproj | 349 +----------- ExtractCopyright/Program.cs | 1 - ExtractCopyright/Properties/AssemblyInfo.cs | 21 - SIL.Archiving.Tests/ArbilUtilsTests.cs | 13 - SIL.Archiving.Tests/IMDI30Tests.cs | 2 + .../IMDIArchivingDlgViewModelTests.cs | 1 + SIL.Archiving.Tests/LanguageListTests.cs | 2 + .../Properties/AssemblyInfo.cs | 20 - .../SIL.Archiving.Tests.csproj | 361 +------------ SIL.Archiving.Tests/packages.config | 5 - SIL.Archiving/packages.config | 5 - .../Properties/AssemblyInfo.cs | 36 -- .../SIL.Core.Desktop.Tests.csproj | 340 +----------- .../UsbDrive/Linux/UDiskDeviceTests.cs | 4 +- .../UsbDrive/Linux/UDisksTests.cs | 3 +- SIL.Core.Desktop.Tests/packages.config | 5 - .../Properties/AssemblyInfo.cs | 17 - .../SIL.DblBundle.Tests.csproj | 381 ++----------- SIL.DblBundle.Tests/packages.config | 5 - .../LexEntryRepositoryCachingTests.cs | 1 + .../LexEntryRepositoryTests.cs | 2 + .../Lift/LiftPreparer.Tests.cs | 26 +- .../Model/LexEtymologyTests.cs | 5 - .../Model/LexNoteTests.cs | 4 - .../Model/LexTraitTests.cs | 10 - .../Processors/MergeHomographsTests.cs | 1 + .../Properties/AssemblyInfo.cs | 20 - .../SIL.DictionaryServices.Tests.csproj | 367 +------------ SIL.DictionaryServices.Tests/packages.config | 4 - SIL.DictionaryServices/Lift/LiftWriter.cs | 14 +- ...conSettingsWritingSystemDataMapperTests.cs | 2 + SIL.Lexicon.Tests/Properties/AssemblyInfo.cs | 20 - SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj | 323 +---------- ...conSettingsWritingSystemDataMapperTests.cs | 2 + SIL.Lexicon.Tests/packages.config | 4 - ...tingSystemsInOptionsListFileHelperTests.cs | 1 + SIL.Lift.Tests/Properties/AssemblyInfo.cs | 20 - SIL.Lift.Tests/SIL.Lift.Tests.csproj | 379 ++----------- SIL.Lift.Tests/Validation/ValidatorTests.cs | 2 +- .../WritingSystemsInLiftFileHelperTests.cs | 1 + SIL.Lift.Tests/packages.config | 6 - .../Properties/AssemblyInfo.cs | 36 -- .../SIL.Linux.Logging.Tests.csproj | 337 +----------- .../SyslogExceptionHandlerTests.cs | 2 +- SIL.Linux.Logging.Tests/packages.config | 4 - SIL.Media.Tests/Properties/AssemblyInfo.cs | 17 - SIL.Media.Tests/SIL.Media.Tests.csproj | 163 +----- SIL.Media.Tests/packages.config | 5 - SIL.Media/ISimpleAudioSession.cs | 2 +- .../Properties/AssemblyInfo.cs | 17 - .../SIL.Scripture.Tests.csproj | 367 +------------ SIL.Scripture.Tests/packages.config | 5 - .../Properties/AssemblyInfo.cs | 14 - .../SIL.TestUtilities.Tests.csproj | 307 +---------- SIL.TestUtilities.Tests/packages.config | 4 - ...SIL.Windows.Forms.Keyboarding.Tests.csproj | 6 +- .../Properties/AssemblyInfo.cs | 17 - .../SIL.Windows.Forms.Scripture.Tests.csproj | 502 +----------------- .../packages.config | 4 - .../LanguageLookupControlTests.cs | 2 + .../LanguageLookupModelTests.cs | 2 + .../Properties/AssemblyInfo.cs | 20 - ....Windows.Forms.WritingSystems.Tests.csproj | 361 ++----------- .../Tree/WritingSystemTreeModelTests.cs | 1 + .../WritingSystemVariantSuggestorTests.cs | 2 + ...ingSystemFromWindowsLocaleProviderTests.cs | 2 + .../packages.config | 7 - .../SIL.WritingSystems.Tests.csproj | 3 + .../FastSplitterTest/FastSplitterTest.csproj | 352 +----------- .../Properties/AssemblyInfo.cs | 17 - .../Properties/Resources.Designer.cs | 63 --- .../Properties/Resources.resx | 117 ---- .../Properties/Settings.Designer.cs | 26 - .../Properties/Settings.settings | 7 - .../ReportingTest/Properties/AssemblyInfo.cs | 17 - .../ReportingTest/Reporting.TestApp.csproj | 476 ++--------------- .../Properties/AssemblyInfo.cs | 17 - .../SIL.Email.TestApp.csproj | 332 +----------- .../Properties/AssemblyInfo.cs | 19 +- .../SIL.Windows.Forms.TestApp.csproj | 398 ++------------ .../SIL.Windows.Forms.TestApp/TestAppForm.cs | 12 +- TestApps/SIL.Windows.Forms.TestApp/environ | 4 +- .../SIL.Windows.Forms.TestApp/packages.config | 5 - .../Properties/AssemblyInfo.cs | 17 - .../TestAppKeyboard/TestAppKeyboard.csproj | 392 +------------- TestApps/TestAppKeyboard/packages.config | 4 - 90 files changed, 609 insertions(+), 7384 deletions(-) delete mode 100644 AddSortKey/Properties/AssemblyInfo.cs delete mode 100755 ExtractCopyright.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Archiving.Tests/ArbilUtilsTests.cs delete mode 100755 SIL.Archiving.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Archiving.Tests/packages.config delete mode 100644 SIL.Archiving/packages.config delete mode 100644 SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Core.Desktop.Tests/packages.config delete mode 100644 SIL.DblBundle.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.DblBundle.Tests/packages.config delete mode 100644 SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.DictionaryServices.Tests/packages.config delete mode 100644 SIL.Lexicon.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Lexicon.Tests/packages.config delete mode 100644 SIL.Lift.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Lift.Tests/packages.config delete mode 100644 SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Linux.Logging.Tests/packages.config delete mode 100644 SIL.Media.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Media.Tests/packages.config delete mode 100644 SIL.Scripture.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Scripture.Tests/packages.config delete mode 100644 SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.TestUtilities.Tests/packages.config delete mode 100644 SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Windows.Forms.Scripture.Tests/packages.config delete mode 100644 SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs delete mode 100644 SIL.Windows.Forms.WritingSystems.Tests/packages.config delete mode 100644 TestApps/FastSplitterTest/Properties/AssemblyInfo.cs delete mode 100644 TestApps/FastSplitterTest/Properties/Resources.Designer.cs delete mode 100644 TestApps/FastSplitterTest/Properties/Resources.resx delete mode 100644 TestApps/FastSplitterTest/Properties/Settings.Designer.cs delete mode 100644 TestApps/FastSplitterTest/Properties/Settings.settings delete mode 100644 TestApps/ReportingTest/Properties/AssemblyInfo.cs delete mode 100644 TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs delete mode 100644 TestApps/SIL.Windows.Forms.TestApp/packages.config delete mode 100644 TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs delete mode 100644 TestApps/TestAppKeyboard/packages.config diff --git a/AddSortKey/AddSortKey.csproj b/AddSortKey/AddSortKey.csproj index fc4fdfd3a..f1f195f2e 100644 --- a/AddSortKey/AddSortKey.csproj +++ b/AddSortKey/AddSortKey.csproj @@ -1,317 +1,30 @@ - - + + - Debug - AnyCPU - 8.0.50727 - 2.0 - {3D4F73A8-DB05-4580-98A0-DEE34C010636} - Exe - Properties + WinExe + net461 AddSortKey AddSortKey - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - false - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - - - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - + Debug;Release + AddSortKey tool + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + - - - \ No newline at end of file + + diff --git a/AddSortKey/Properties/AssemblyInfo.cs b/AddSortKey/Properties/AssemblyInfo.cs deleted file mode 100644 index 68e531afa..000000000 --- a/AddSortKey/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("AddSortKey")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("84164458-3405-48e2-9911-8aab405d110b")] diff --git a/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj b/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj index 63f276920..e4dd89d21 100644 --- a/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj +++ b/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj @@ -1,335 +1,31 @@ - - - + + - Debug - AnyCPU - {085A7785-C407-4623-80C0-BFFD2B0D2475} - Library - Properties + net461 ExtractCopyright.Tests ExtractCopyright.Tests - v4.6.1 - 512 - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - + Debug;Release + Unit tests for ExtractCopyright + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - - {eb720294-b74b-47f4-be43-9b3b4c33c86d} - ExtractCopyright - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + + all + + + - + + - \ No newline at end of file + + diff --git a/ExtractCopyright.Tests/Properties/AssemblyInfo.cs b/ExtractCopyright.Tests/Properties/AssemblyInfo.cs deleted file mode 100755 index b0d1a7427..000000000 --- a/ExtractCopyright.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -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("ExtractCopyright.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("085a7785-c407-4623-80c0-bffd2b0d2475")] - -#if STRONG_NAME -[assembly: AssemblyKeyFileAttribute("../palaso.snk")] -#endif diff --git a/ExtractCopyright/ExtractCopyright.csproj b/ExtractCopyright/ExtractCopyright.csproj index c51987abc..11dd0c183 100644 --- a/ExtractCopyright/ExtractCopyright.csproj +++ b/ExtractCopyright/ExtractCopyright.csproj @@ -1,333 +1,30 @@ - - - + + - Debug - AnyCPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D} - Exe - Properties + WinExe + net461 ExtractCopyright ExtractCopyright - v4.6.1 - 512 - true - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - + Debug;Release + ExtractCopyright tool + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + - - - \ No newline at end of file + + diff --git a/ExtractCopyright/Program.cs b/ExtractCopyright/Program.cs index c2ad28cbd..fac9a0826 100755 --- a/ExtractCopyright/Program.cs +++ b/ExtractCopyright/Program.cs @@ -27,7 +27,6 @@ static int Main(string[] args) case "-h": case "--help": return ShowUsage(CopyrightFile.ExitValue.Okay); - break; case "-p": case "--prefix": if (++i < args.Length) diff --git a/ExtractCopyright/Properties/AssemblyInfo.cs b/ExtractCopyright/Properties/AssemblyInfo.cs index 9a655ad5d..68aa40f51 100755 --- a/ExtractCopyright/Properties/AssemblyInfo.cs +++ b/ExtractCopyright/Properties/AssemblyInfo.cs @@ -1,27 +1,6 @@ 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("ExtractCopyright")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("eb720294-b74b-47f4-be43-9b3b4c33c86d")] - -// Allow tests to see internals -#if STRONG_NAME // find the public key with: sn -tp palasao.snk [assembly: AssemblyKeyFileAttribute("../palaso.snk")] [assembly: InternalsVisibleTo("ExtractCopyright.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("ExtractCopyright.Tests")] -#endif diff --git a/SIL.Archiving.Tests/ArbilUtilsTests.cs b/SIL.Archiving.Tests/ArbilUtilsTests.cs deleted file mode 100644 index a5ef62bd0..000000000 --- a/SIL.Archiving.Tests/ArbilUtilsTests.cs +++ /dev/null @@ -1,13 +0,0 @@ -using NUnit.Framework; - -namespace SIL.Archiving.Tests -{ - /// - /// These tests require Arbil to be installed locally. - /// - [TestFixture] - [Category("SkipOnTeamCity")] - class ArbilUtilsTests - { - } -} diff --git a/SIL.Archiving.Tests/IMDI30Tests.cs b/SIL.Archiving.Tests/IMDI30Tests.cs index 2ef6a2d61..43b367b6d 100644 --- a/SIL.Archiving.Tests/IMDI30Tests.cs +++ b/SIL.Archiving.Tests/IMDI30Tests.cs @@ -6,10 +6,12 @@ using SIL.Archiving.IMDI; using SIL.Archiving.IMDI.Lists; using SIL.Archiving.IMDI.Schema; +using SIL.TestUtilities; namespace SIL.Archiving.Tests { [TestFixture] + [OfflineSldr] [Category("Archiving")] class IMDI30Tests { diff --git a/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs b/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs index 35657e15f..8f8da47d0 100644 --- a/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs +++ b/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs @@ -9,6 +9,7 @@ namespace SIL.Archiving.Tests { [TestFixture] + [OfflineSldr] [Category("Archiving")] internal class IMDIArchivingDlgViewModelTests { diff --git a/SIL.Archiving.Tests/LanguageListTests.cs b/SIL.Archiving.Tests/LanguageListTests.cs index d161a1ff9..aad6456b1 100644 --- a/SIL.Archiving.Tests/LanguageListTests.cs +++ b/SIL.Archiving.Tests/LanguageListTests.cs @@ -1,9 +1,11 @@ using NUnit.Framework; using SIL.Archiving.IMDI.Lists; +using SIL.TestUtilities; namespace SIL.Archiving.Tests { [TestFixture] + [OfflineSldr] [Category("Archiving")] public class LanguageListTests { diff --git a/SIL.Archiving.Tests/Properties/AssemblyInfo.cs b/SIL.Archiving.Tests/Properties/AssemblyInfo.cs deleted file mode 100755 index a8f9d89ed..000000000 --- a/SIL.Archiving.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// 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("SIL.Archiving.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("49f40cd3-46aa-4d25-b787-868040c9cbc8")] - -[assembly: OfflineSldr] diff --git a/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj b/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj index f2ff3c0e7..c75520ec5 100644 --- a/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj +++ b/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj @@ -1,344 +1,35 @@ - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6} - Library - Properties + net461 SIL.Archiving.Tests SIL.Archiving.Tests - v4.6.1 - 6 - 512 - - - - - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - bin\Debug\SIL.Archiving.Tests.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - false - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - bin\Release\SIL.Archiving.Tests.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - false - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk + false - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll - - - - - - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3} - SIL.Archiving - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - - + - + + + all + + + - + + + + + - \ No newline at end of file + + diff --git a/SIL.Archiving.Tests/packages.config b/SIL.Archiving.Tests/packages.config deleted file mode 100644 index 22a3dbb5d..000000000 --- a/SIL.Archiving.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.Archiving/packages.config b/SIL.Archiving/packages.config deleted file mode 100644 index b72f844ef..000000000 --- a/SIL.Archiving/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs b/SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 0a79a79cb..000000000 --- a/SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -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("SIL.Core.Desktop.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SIL.Core.Desktop.Tests")] -[assembly: AssemblyCopyright("Copyright © 2017")] -[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("4c21e03c-8a79-4d28-a4a5-a14ba1342bcf")] - -// 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/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj index 26ee7c6c2..28ff67ee8 100644 --- a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj +++ b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj @@ -1,325 +1,33 @@ - - - + + - Debug - AnyCPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF} - Library - Properties + net461 SIL.Tests SIL.Core.Desktop.Tests - v4.6.1 - 6 - 512 - - - + Debug;Release + Unit tests for SIL.Core.Desktop + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk + ../palaso.snk + false - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - false - - - true - bin\x86\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x86\DebugMono\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\ReleaseMono\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x86\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x86\DebugMonoStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\ReleaseMonoStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x64\DebugMono\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\ReleaseMono\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x64\DebugStrongName\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\ReleaseStrongName\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x64\DebugMonoStrongName\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\ReleaseMonoStrongName\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - True - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - + - + + all + + + + - + + + - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file + + diff --git a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs index ac6a1c9db..fc4e822a4 100644 --- a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs +++ b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using NUnit.Framework; @@ -9,6 +9,7 @@ namespace SIL.Tests.UsbDrive.Linux [Category("RequiresUSB")] [Category("SkipOnTeamCity")] [TestFixture] + [Platform(Include = "Linux", Reason = "Linux specific test")] public class UDiskDeviceTests { private class EnvironmentForTest : IDisposable @@ -21,6 +22,7 @@ public UDiskDevice GetUSBDevice() { return new UDiskDevice(device); } + Assert.Ignore("No USB drive available. Insert a USB drive for this test"); throw new DriveNotFoundException("No USB drive available. Insert a USB drive for this test"); } diff --git a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs index bc62c10fc..de2783628 100644 --- a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs +++ b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using NUnit.Framework; using SIL.UsbDrive.Linux; @@ -7,6 +7,7 @@ namespace SIL.Tests.UsbDrive.Linux { [TestFixture] [Category("SkipOnTeamCity")] + [Platform(Include = "Linux", Reason = "Linux specific test")] public class UDisksTests { [Test, Ignore("not all systems have adapters")] diff --git a/SIL.Core.Desktop.Tests/packages.config b/SIL.Core.Desktop.Tests/packages.config deleted file mode 100644 index 7dd187898..000000000 --- a/SIL.Core.Desktop.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.DblBundle.Tests/Properties/AssemblyInfo.cs b/SIL.DblBundle.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 7888880b2..000000000 --- a/SIL.DblBundle.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.DblBundle.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("708db34f-9484-419e-bfb1-79f8f737921e")] diff --git a/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj b/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj index 647c1b03e..cdee1bfdf 100644 --- a/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj +++ b/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj @@ -1,353 +1,34 @@ - - - + + - Debug - AnyCPU - {66685009-8F78-4FED-A106-E5BD6E746E1A} - Library - Properties + net461 SIL.DblBundle.Tests SIL.DblBundle.Tests - v4.6.1 - 6 - 512 - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.DblBundle.Tests.XML - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - ..\output\DebugMono\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.DblBundle.Tests.XML - 4 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.DblBundle.Tests.XML - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.DblBundle.Tests.XML - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - True - True - Resources.resx - - - - - - - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {d4f0f320-faf6-4775-8411-4d03fae99f84} - SIL.DblBundle - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + Debug;Release + Unit tests for SIL.DblBundle + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + + + + + all + + + + + + + + + + + + diff --git a/SIL.DblBundle.Tests/packages.config b/SIL.DblBundle.Tests/packages.config deleted file mode 100644 index 5d69fba17..000000000 --- a/SIL.DblBundle.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs b/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs index 6af55e663..302783b72 100644 --- a/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs +++ b/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs @@ -11,6 +11,7 @@ namespace SIL.DictionaryServices.Tests { [TestFixture] + [OfflineSldr] public class LiftLexEntryRepositoryCachingTests { private TemporaryFolder _tempfolder; diff --git a/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs b/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs index e7689fa1d..b34ae58d5 100644 --- a/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs +++ b/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs @@ -6,12 +6,14 @@ using SIL.IO; using SIL.Lift; using SIL.Lift.Options; +using SIL.TestUtilities; using SIL.Text; using SIL.WritingSystems; namespace SIL.DictionaryServices.Tests { [TestFixture] + [OfflineSldr] public class LiftLexEntryRepositoryTests { private class TestEnvironment : IDisposable diff --git a/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs b/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs index 3df293e0c..11eefe616 100644 --- a/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs +++ b/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs @@ -54,17 +54,23 @@ public void MigrateIfNeeded_GivenLiftVersionPoint10_LiftFileHasCurrentLiftVersio // migration happens. So here we're ensuring that the migration mechanism was // triggered, and that the process left us with a modified (but not renamed) // lift file. - //nb: 0.10 was the first version where we started provinding a migration path. + //nb: 0.10 was the first version where we started providing a migration path. //FLEx support for Lift started with 0.12 - CreateLiftFileForTesting("0.10"); - LiftPreparer preparer = new LiftPreparer(_liftFilePath); - Assert.IsTrue(preparer.IsMigrationNeeded(), "IsMigrationNeeded Failed"); - preparer.MigrateLiftFile(new ProgressState()); - Assert.AreEqual(Validator.LiftVersion, Validator.GetLiftVersion(_liftFilePath)); - // Get rid of the other file, as well. - var otherPathname = _liftFilePath.Replace(".", ".0.10."); - if (File.Exists(otherPathname)) - File.Delete(otherPathname); + try + { + CreateLiftFileForTesting("0.10"); + LiftPreparer preparer = new LiftPreparer(_liftFilePath); + Assert.That(preparer.IsMigrationNeeded(), Is.True, "IsMigrationNeeded Failed"); + preparer.MigrateLiftFile(new ProgressState()); + Assert.That(Validator.GetLiftVersion(_liftFilePath), Is.EqualTo(Validator.LiftVersion)); + } + finally + { + // Get rid of the other file, as well. + var otherPathname = _liftFilePath.Replace(".", ".0.10."); + if (File.Exists(otherPathname)) + File.Delete(otherPathname); + } } // TODO Move these tests to LiftDataMapperTests diff --git a/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs b/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs index 46cb9f15a..d600fe33e 100644 --- a/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs @@ -45,9 +45,4 @@ protected override List DefaultValuesForTypes } } } - - [TestFixture] - public class LexEtymologyTests - { - } } diff --git a/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs b/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs index 6b4b3ae37..64f819be7 100644 --- a/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs @@ -42,8 +42,4 @@ protected override List DefaultValuesForTypes } } - [TestFixture] - public class LexNoteTests - { - } } diff --git a/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs b/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs index 3282460d5..2d636747a 100644 --- a/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs @@ -32,11 +32,6 @@ protected override List DefaultValuesForTypes } } - [TestFixture] - class LexTraitTests - { - } - [TestFixture] public class LexFieldCloneableTests : CloneableTests { @@ -69,9 +64,4 @@ protected override List DefaultValuesForTypes } } } - - [TestFixture] - class LexFieldTests - { - } } diff --git a/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs b/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs index 42de4fbfc..aded8c404 100644 --- a/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs +++ b/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs @@ -9,6 +9,7 @@ namespace SIL.DictionaryServices.Tests.Processors { [TestFixture] + [OfflineSldr] public class MergeHomographsTests { private StringBuilderProgress _progress; diff --git a/SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs b/SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index f569d3a04..000000000 --- a/SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// 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("SIL.DictionaryServices.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("3a622e63-660a-488b-be9c-40575b539a4c")] - -[assembly: OfflineSldr] diff --git a/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj b/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj index 5f0d209c2..c3497886b 100644 --- a/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj +++ b/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj @@ -1,345 +1,36 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {CC84BDED-CECD-466A-9397-F5D83527B218} - Library - Properties + net461 SIL.DictionaryServices.Tests SIL.DictionaryServices.Tests - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - SIL.Core.Tests - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {5ff5cbd8-b75d-4f79-a39d-2d898fbfadbd} - SIL.DictionaryServices - - - {60b4a08c-54f3-4bc7-83ed-f84274fabfac} - SIL.Lift - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - + Debug;Release + Unit tests for SIL.DictionaryServices + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + + - + + + + + + + - \ No newline at end of file + + diff --git a/SIL.DictionaryServices.Tests/packages.config b/SIL.DictionaryServices.Tests/packages.config deleted file mode 100644 index a2509b1ed..000000000 --- a/SIL.DictionaryServices.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SIL.DictionaryServices/Lift/LiftWriter.cs b/SIL.DictionaryServices/Lift/LiftWriter.cs index 27d9a65ec..c197fba29 100644 --- a/SIL.DictionaryServices/Lift/LiftWriter.cs +++ b/SIL.DictionaryServices/Lift/LiftWriter.cs @@ -86,7 +86,7 @@ public void WriteHeader(string headerConentsNotIncludingHeaderElement) public static string ProducerString { - get { return "Palaso.DictionaryServices.LiftWriter " + Assembly.GetExecutingAssembly().GetName().Version; } + get { return "SIL.DictionaryServices.LiftWriter " + Assembly.GetExecutingAssembly().GetName().Version; } } protected XmlWriter Writer @@ -95,14 +95,14 @@ protected XmlWriter Writer } #if DEBUG - protected StackTrace ConstructionStack - { - get { return _constructionStack; } - set { _constructionStack = value; } - } + protected StackTrace ConstructionStack + { + get { return _constructionStack; } + set { _constructionStack = value; } + } #endif - public void End() + public void End() { if (Writer.Settings.ConformanceLevel != ConformanceLevel.Fragment) { diff --git a/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs b/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs index 32560178f..083f385ff 100644 --- a/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs +++ b/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs @@ -1,12 +1,14 @@ using System.Collections.Generic; using System.Xml.Linq; using NUnit.Framework; +using SIL.TestUtilities; using Is = SIL.TestUtilities.NUnitExtensions.Is; using SIL.WritingSystems; namespace SIL.Lexicon.Tests { [TestFixture] + [OfflineSldr] public class ProjectLexiconSettingsWritingSystemDataMapperTests { [Test] diff --git a/SIL.Lexicon.Tests/Properties/AssemblyInfo.cs b/SIL.Lexicon.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 4743fa49a..000000000 --- a/SIL.Lexicon.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// 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("SIL.Lexicon.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("33c83331-9f17-48aa-8f51-77964ce663fb")] - -[assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj b/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj index 530e7f5fd..9b2e29212 100644 --- a/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj +++ b/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj @@ -1,305 +1,32 @@ - - - + + - Debug - AnyCPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD} - Library - Properties + net461 SIL.Lexicon.Tests SIL.Lexicon.Tests - v4.6.1 - 6 - 512 - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {fad20de2-d5bb-4d9d-aeef-61f02663105f} - SIL.Lexicon - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - + Debug;Release + Unit tests for SIL.Lexicon + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + + - + + + - - - \ No newline at end of file + + diff --git a/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs b/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs index 47ecfee95..b9924ff2e 100644 --- a/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs +++ b/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs @@ -3,11 +3,13 @@ using System.Xml.Linq; using NUnit.Framework; using SIL.Keyboarding; +using SIL.TestUtilities; using SIL.WritingSystems; namespace SIL.Lexicon.Tests { [TestFixture] + [OfflineSldr] public class UserLexiconSettingsWritingSystemDataMapperTests { [Test] diff --git a/SIL.Lexicon.Tests/packages.config b/SIL.Lexicon.Tests/packages.config deleted file mode 100644 index ef8b4acaa..000000000 --- a/SIL.Lexicon.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs b/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs index 358de8664..b5b24d540 100644 --- a/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs +++ b/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs @@ -10,6 +10,7 @@ namespace SIL.Lift.Tests.Options { [TestFixture] + [OfflineSldr] public class WritingSystemsInOptionsListFileHelperTests { private class TestEnvironment : IDisposable diff --git a/SIL.Lift.Tests/Properties/AssemblyInfo.cs b/SIL.Lift.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 370c143eb..000000000 --- a/SIL.Lift.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// 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("SIL.Lift.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("2fe6d612-e4a3-41cc-bdef-5135701a7208")] - -[assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.Lift.Tests/SIL.Lift.Tests.csproj b/SIL.Lift.Tests/SIL.Lift.Tests.csproj index 28632f75b..13a28f194 100644 --- a/SIL.Lift.Tests/SIL.Lift.Tests.csproj +++ b/SIL.Lift.Tests/SIL.Lift.Tests.csproj @@ -1,363 +1,54 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {FE61F837-8EAA-4FD7-824A-9949194430DC} - Library - Properties + net461 SIL.Lift.Tests SIL.Lift.Tests - v4.6.1 - 6 - 512 - - - 3.5 - - + Debug;Release + Unit tests for SIL.Lift + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - - - AnyCPU - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk + false + - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - False - ..\lib\common\NMock2.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - + + all + + + + + all + + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - SIL.Core.Tests - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {60b4a08c-54f3-4bc7-83ed-f84274fabfac} - SIL.Lift - - - {641eb241-bf16-4a5f-89bd-54411f9ac973} - SIL.WritingSystems.Tests - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + ..\lib\common\NMock2.dll + + - PreserveNewest PreserveNewest - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file + + diff --git a/SIL.Lift.Tests/Validation/ValidatorTests.cs b/SIL.Lift.Tests/Validation/ValidatorTests.cs index ea452eb11..babcac1ce 100644 --- a/SIL.Lift.Tests/Validation/ValidatorTests.cs +++ b/SIL.Lift.Tests/Validation/ValidatorTests.cs @@ -15,7 +15,7 @@ public class ValidatorTests public void LiftVersion_MatchesEmbeddedSchemaVersion() { XmlDocument doc = new XmlDocument(); - doc.Load(typeof (LiftMultiText).Assembly.GetManifestResourceStream("Palaso.Lift.Validation.lift.rng")); + doc.Load(typeof (LiftMultiText).Assembly.GetManifestResourceStream("SIL.Lift.Validation.lift.rng")); string query = String.Format("//x:attribute/x:value[.='{0}']", Validator.LiftVersion); XmlNamespaceManager m = new XmlNamespaceManager(doc.NameTable); m.AddNamespace("x", "http://relaxng.org/ns/structure/1.0"); diff --git a/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs b/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs index 1bb3e088c..6676f9398 100644 --- a/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs +++ b/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs @@ -10,6 +10,7 @@ namespace SIL.Lift.Tests { [TestFixture] + [OfflineSldr] public class WritingSystemsInLiftFileHelperTests { private class TestEnvironment : IDisposable diff --git a/SIL.Lift.Tests/packages.config b/SIL.Lift.Tests/packages.config deleted file mode 100644 index 5d948ac13..000000000 --- a/SIL.Lift.Tests/packages.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs b/SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index e904abe8e..000000000 --- a/SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -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("SIL.Linux.Logging.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SIL.Linux.Logging.Tests")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("efa7c27c-ba5e-41e2-a065-04cc5f89043a")] - -// 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/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj b/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj index 90bcd34e2..6cb82ea3c 100644 --- a/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj +++ b/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj @@ -1,319 +1,32 @@ - - - + + - Debug - AnyCPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC} - Library - Properties + net461 SIL.Linux.Logging.Tests SIL.Linux.Logging.Tests - v4.6.1 - 6 - 512 - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Linux.Logging.Tests.xml - AnyCPU - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.Tests.xml - full - AnyCPU - prompt - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.Tests.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.Tests.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - - - - - - - - - - + Debug;Release + Unit tests for SIL.Linux.Logging + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D098D062-0B47-4A68-BE0A-5FB597B6896C} - SIL.Linux.Logging - + + all + + + - + + + - - - \ No newline at end of file + + diff --git a/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs b/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs index 73d2bc0b0..160613504 100644 --- a/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs +++ b/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs @@ -23,7 +23,7 @@ public void SyslogLogger_CatchesDivisionByZeroError() errorThread.Start(); IEnumerable data = watcher.WaitForData(); Assert.That(data, Is.Not.Empty); - Assert.That(data.First(), Is.StringContaining("Division by zero")); + Assert.That(data.First(), Is.StringContaining("Division by zero").Or.StringContaining("divide by zero")); } private void DivideByZero() diff --git a/SIL.Linux.Logging.Tests/packages.config b/SIL.Linux.Logging.Tests/packages.config deleted file mode 100644 index 512ce05d0..000000000 --- a/SIL.Linux.Logging.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Media.Tests/Properties/AssemblyInfo.cs b/SIL.Media.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 7a2c6772d..000000000 --- a/SIL.Media.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Media.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("f472b42d-e98c-47cc-ae74-5b4ad9912a38")] diff --git a/SIL.Media.Tests/SIL.Media.Tests.csproj b/SIL.Media.Tests/SIL.Media.Tests.csproj index 49b926bd7..fd8db59c7 100644 --- a/SIL.Media.Tests/SIL.Media.Tests.csproj +++ b/SIL.Media.Tests/SIL.Media.Tests.csproj @@ -1,149 +1,36 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {CD4AF11C-C214-4D90-8F12-6DA97836B800} - WinExe - Properties + net461 SIL.Media.Tests SIL.Media.Tests - v4.6.1 - 6 - 512 - - - - - 3.5 - - - true - true + Debug;Release + Unit tests for SIL.Media + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + false - - true - full - false - ..\output\Debug\net461 - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release\net461 - TRACE - prompt - 4 - AnyCPU - false - - - - ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll - - - - - - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - True - True - Resources.resx - - - Form - - - SampleForm.cs - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - SampleForm.cs - Designer - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - SIL.Media - - - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - SIL.Core.Tests - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - + - + + all + + + + - - - - - - - - - - + + + + + + - - - - - - \ No newline at end of file + diff --git a/SIL.Media.Tests/packages.config b/SIL.Media.Tests/packages.config deleted file mode 100644 index f1e7c4786..000000000 --- a/SIL.Media.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.Media/ISimpleAudioSession.cs b/SIL.Media/ISimpleAudioSession.cs index 07f4f4807..8b515c410 100644 --- a/SIL.Media/ISimpleAudioSession.cs +++ b/SIL.Media/ISimpleAudioSession.cs @@ -21,5 +21,5 @@ public interface ISimpleAudioSession : IDisposable public interface ISimpleAudioWithEvents { event EventHandler PlaybackStopped; -} + } } diff --git a/SIL.Scripture.Tests/Properties/AssemblyInfo.cs b/SIL.Scripture.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 07149cd4a..000000000 --- a/SIL.Scripture.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Scripture.Tests")] -[assembly: AssemblyDescription("Unit tests for classes in SIL.Scripture")] -[assembly: AssemblyConfiguration("")] - -// 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("960370f9-0db0-4667-8e0b-db4e0eeba07f")] diff --git a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj index 908bd22ab..deaf06695 100644 --- a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj +++ b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj @@ -1,353 +1,32 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA} - Library - Properties + net461 SIL.Scripture.Tests SIL.Scripture.Tests - - - 3.5 - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v4.6.1 - 6 - + Debug;Release + Unit tests for SIL.Scripture + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk + ../palaso.snk + false - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AllRules.ruleset - AnyCPU - ..\output\Debug\SIL.Scripture.Tests.XML - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AllRules.ruleset - false - - - true - full - false - ..\output\DebugMono - DEBUG;TRACE;MONO - prompt - 4 - AllRules.ruleset - AnyCPU - ..\output\DebugMono\SIL.Scripture.Tests.XML - - - pdbonly - true - ..\output\ReleaseMono - TRACE;MONO - prompt - 4 - AllRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - AllRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - AllRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - AllRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - AllRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - - ..\packages\RhinoMocks.3.6.1\lib\net\Rhino.Mocks.dll - - - - 3.5 - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - True - True - Resources.resx - - - - - - - - False - .NET Framework 2.0 %28x86%29 - true - - - False - .NET Framework 3.0 %28x86%29 - false - - - False - .NET Framework 3.5 - false - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B} - SIL.Scripture - - + - + + all + + + + - + + - - - \ No newline at end of file + + diff --git a/SIL.Scripture.Tests/packages.config b/SIL.Scripture.Tests/packages.config deleted file mode 100644 index c6f9a7637..000000000 --- a/SIL.Scripture.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs b/SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 1937c30d6..000000000 --- a/SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.TestUtilities.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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)] diff --git a/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj b/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj index 6dbfb7807..306e3fdfa 100644 --- a/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj +++ b/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj @@ -1,290 +1,31 @@ - - - + + - Debug - AnyCPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D} - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties + net461 SIL.TestUtilities.Tests SIL.TestUtilities.Tests - v4.6.1 - 512 - - - AnyCPU - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - - - AnyCPU - true - full - false - ..\output\DebugMono\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - ..\output\ReleaseMono\ - TRACE - prompt - 4 - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - 4 - false - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - + Debug;Release + Unit tests for SIL.TestUtilities + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - + + all + + + - + + - - - \ No newline at end of file + + diff --git a/SIL.TestUtilities.Tests/packages.config b/SIL.TestUtilities.Tests/packages.config deleted file mode 100644 index 01c187ccb..000000000 --- a/SIL.TestUtilities.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj b/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj index 84bba4147..4181d44b1 100644 --- a/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj +++ b/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj @@ -20,8 +20,10 @@ - - + + + all + diff --git a/SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 964a00b28..000000000 --- a/SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Scripture.Tests")] -[assembly: AssemblyDescription("Unit tests for classes in SIL.Windows.Forms.Scripture")] -[assembly: AssemblyConfiguration("")] - -// 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("960370f9-0db0-4667-8e0b-db4e0eeba07f")] diff --git a/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj b/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj index 70e224829..58eaeed56 100644 --- a/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj +++ b/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj @@ -1,481 +1,33 @@ - - + + - Local - 9.0.21022 - 2.0 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31} - - - - - - - Debug - AnyCPU - - - - - SIL.Windows.Forms.Scripture.Tests - - - JScript - Grid - IE50 - false - Library + net461 SIL.Windows.Forms.Scripture.Tests - OnBuildSuccess - - - - - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - ..\output\Debug\ - false - 285212672 - false - - - DEBUG;TRACE - - - true - 4096 - false - 168,169,219,414,649,1635,1702,1701 - false - false - false - false - 4 - full - prompt - true - AllRules.ruleset - AnyCPU - false - - - ..\output\Release\ - false - 285212672 - false - - - TRACE - - - true - 4096 - false - 168,169,219,414,649,1635,1702,1701 - true - false - false - false - 4 - full - prompt - AllRules.ruleset - AnyCPU - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMono\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMonoStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\Release\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMono\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMonoStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\Release - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\ReleaseStrongName - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\ReleaseMono - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\ReleaseMonoStrongName - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - - System - - - 3.5 - - - System.Data - - - System.Drawing - - - System.Windows.Forms - - - System.XML - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - UserControl - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B} - SIL.Windows.Forms.Scripture - - - {4528287f-ba86-49d8-afbb-1250a60ce7ea} - SIL.Scripture.Tests - - - {f71ba7b9-d9dc-4f8c-a307-87b503d0e05b} - SIL.Scripture - - - - - - - - - + SIL.Windows.Forms.Scripture.Tests + Debug;Release + Unit tests for SIL.Windows.Forms.Scripture + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + + - + + + + - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Scripture.Tests/packages.config b/SIL.Windows.Forms.Scripture.Tests/packages.config deleted file mode 100644 index a2509b1ed..000000000 --- a/SIL.Windows.Forms.Scripture.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs index 7ec6ac4a5..ab85b8e29 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs @@ -2,11 +2,13 @@ using System.Drawing; using System.Windows.Forms; using NUnit.Framework; +using SIL.TestUtilities; using SIL.WritingSystems; namespace SIL.Windows.Forms.WritingSystems.Tests { [TestFixture] + [OfflineSldr] public class LanguageLookupControlTests { private LanguageLookupControl _control; diff --git a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs index 05ace2144..2b2c2f8ce 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs @@ -1,9 +1,11 @@ using System.Linq; using NUnit.Framework; +using SIL.TestUtilities; namespace SIL.Windows.Forms.WritingSystems.Tests { [TestFixture] + [OfflineSldr] public class LanguageLookupModelTests { [Test] diff --git a/SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 7707a1bb1..000000000 --- a/SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// 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("SIL.Windows.Forms.WritingSystems.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("2789b6b7-f309-4d1d-826e-6f7ef74fcaed")] - -[assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj index 349df385e..75fb41c32 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj +++ b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj @@ -1,340 +1,39 @@ - - + + - Debug - AnyCPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F} - Library - Properties + net461 SIL.Windows.Forms.WritingSystems.Tests SIL.Windows.Forms.WritingSystems.Tests - 3.5 - v4.6.1 - 6 - 512 - - + Debug;Release + Unit tests for SIL.Windows.Forms.WritingSystems + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk + ../palaso.snk + false - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\ibusdotnet.2.0.0.20771\lib\ibusdotnet.dll - - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - - - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - False - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} - SIL.Windows.Forms - - - {641eb241-bf16-4a5f-89bd-54411f9ac973} - SIL.WritingSystems.Tests - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - + - - + + all + + + + + + - + + + + + + + - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs index 5b7bb6859..ccd3c2894 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs @@ -11,6 +11,7 @@ namespace SIL.Windows.Forms.WritingSystems.Tests.Tree { [TestFixture] + [OfflineSldr] public class WritingSystemTreeModelTests { private class TestEnvironment : IDisposable diff --git a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs index e657f6e95..388954b5f 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using NUnit.Framework; +using SIL.TestUtilities; using SIL.Windows.Forms.WritingSystems.WSTree; using SIL.WritingSystems; using SIL.WritingSystems.Tests; @@ -8,6 +9,7 @@ namespace SIL.Windows.Forms.WritingSystems.Tests.Tree { [TestFixture] + [OfflineSldr] public class WritingSystemVariantSuggestorTests { [Test, Ignore("Only works if there is an ipa keyboard installed")] diff --git a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs index e3ab8b3c6..92a3c2e02 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs @@ -3,12 +3,14 @@ using System.Globalization; using System.Linq; using NUnit.Framework; +using SIL.TestUtilities; using SIL.WritingSystems; using SIL.WritingSystems.Tests; namespace SIL.Windows.Forms.WritingSystems.Tests { [TestFixture] + [OfflineSldr] public class WritingSystemFromWindowsLocaleProviderTests { private class WritingSystemFromWindowsLocaleProviderAccessor: WritingSystemFromWindowsLocaleProvider diff --git a/SIL.Windows.Forms.WritingSystems.Tests/packages.config b/SIL.Windows.Forms.WritingSystems.Tests/packages.config deleted file mode 100644 index 4e5698489..000000000 --- a/SIL.Windows.Forms.WritingSystems.Tests/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj b/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj index f6a8261cb..a921d1022 100644 --- a/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj +++ b/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj @@ -11,10 +11,13 @@ ../output/$(Configuration) true ../palaso.snk + false + true + diff --git a/TestApps/FastSplitterTest/FastSplitterTest.csproj b/TestApps/FastSplitterTest/FastSplitterTest.csproj index 0ba16c4b1..81f3126aa 100644 --- a/TestApps/FastSplitterTest/FastSplitterTest.csproj +++ b/TestApps/FastSplitterTest/FastSplitterTest.csproj @@ -1,338 +1,34 @@ - - + + - Debug - x86 - 8.0.30703 - 2.0 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6} WinExe - Properties + net461 FastSplitterTest FastSplitterTest - v4.6.1 - 6 - 512 - - - true - true - - - x86 - true - full - false - ..\..\output\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - x86 - pdbonly - true - ..\..\output\Release\ - TRACE - prompt - 4 - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - full - AnyCPU - bin\Debug\FastSplitterTest.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - false - - - ..\..\output\Release\ - TRACE - true - pdbonly - AnyCPU - bin\Release\FastSplitterTest.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - true - false - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + FastSplitter test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - - - - - - - + + all + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - Form1.cs - - - - - Form1.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + - - - \ No newline at end of file + + diff --git a/TestApps/FastSplitterTest/Properties/AssemblyInfo.cs b/TestApps/FastSplitterTest/Properties/AssemblyInfo.cs deleted file mode 100644 index 84d23b894..000000000 --- a/TestApps/FastSplitterTest/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("FastSplitterTest")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("ae03e36b-286e-4e3c-adb7-92370db91972")] diff --git a/TestApps/FastSplitterTest/Properties/Resources.Designer.cs b/TestApps/FastSplitterTest/Properties/Resources.Designer.cs deleted file mode 100644 index 0ef3ed159..000000000 --- a/TestApps/FastSplitterTest/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace FastSplitterTest.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FastSplitterTest.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/TestApps/FastSplitterTest/Properties/Resources.resx b/TestApps/FastSplitterTest/Properties/Resources.resx deleted file mode 100644 index b6da5948b..000000000 --- a/TestApps/FastSplitterTest/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TestApps/FastSplitterTest/Properties/Settings.Designer.cs b/TestApps/FastSplitterTest/Properties/Settings.Designer.cs deleted file mode 100644 index 5309b4655..000000000 --- a/TestApps/FastSplitterTest/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace FastSplitterTest.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/TestApps/FastSplitterTest/Properties/Settings.settings b/TestApps/FastSplitterTest/Properties/Settings.settings deleted file mode 100644 index 1d7f06384..000000000 --- a/TestApps/FastSplitterTest/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/TestApps/ReportingTest/Properties/AssemblyInfo.cs b/TestApps/ReportingTest/Properties/AssemblyInfo.cs deleted file mode 100644 index a0f3d8bfb..000000000 --- a/TestApps/ReportingTest/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Reporting.TestApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("ad2a1246-c0a6-4d5f-820d-03b1eb9a24e1")] diff --git a/TestApps/ReportingTest/Reporting.TestApp.csproj b/TestApps/ReportingTest/Reporting.TestApp.csproj index 0361936c4..587545ef8 100644 --- a/TestApps/ReportingTest/Reporting.TestApp.csproj +++ b/TestApps/ReportingTest/Reporting.TestApp.csproj @@ -1,456 +1,40 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {13B5E313-1B26-4DAE-9E96-133768B62FD2} WinExe - Properties + net461 TestApp TestApp - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - true - true - - - true - full - false - ..\..\output\$(Configuration) - DEBUG;TRACE - prompt - 4 - WinExe - TestApp - true - AnyCPU - - - false - - - pdbonly - true - ..\..\output\$(Configuration) - TRACE - prompt - 4 - WinExe - true - TestApp - true - AnyCPU - false - - - true - ..\..\output\$(Configuration) - TRACE;DEBUG;MONO - full - AnyCPU - prompt - WinExe - TestApp - true - true - 4 - - - false - - - ..\..\output\$(Configuration) - TRACE;MONO - true - pdbonly - AnyCPU - prompt - WinExe - true - TestApp - true - 4 - - - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - true - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - true - true - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseStrongName\ - TRACE - true - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Release\ - TRACE - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - true - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseMono\ - TRACE;MONO - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - true - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseStrongName\ - TRACE - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\Release - TRACE - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - TRACE;DEBUG;MONO - true - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\ReleaseMono - TRACE;MONO - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - true - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\ReleaseStrongName - TRACE - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + Reporting test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - - 3.5 - - - - - - + + all + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - FastXmlSplitterTestForm.cs - - - Form - - - Form1.cs - - - - - FastXmlSplitterTestForm.cs - - - Form1.cs - Designer - - - Designer - ResXFileCodeGenerator - Resources.Designer.cs - - - WritingSystemPickerTestForm.cs - Designer - - - WritingSystemTest.cs - Designer - - - Resources.resx - - - - SettingsSingleFileGenerator - Settings1.Designer.cs - - - True - True - Settings.settings - - - - Form - - - WritingSystemPickerTestForm.cs - - - Form - - - WritingSystemTest.cs - + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - SIL.Media - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + + - - - \ No newline at end of file + + diff --git a/TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs b/TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs deleted file mode 100644 index a5804c4f9..000000000 --- a/TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Email.TestApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("fde37247-0155-4700-9bb9-442763cbe056")] diff --git a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj index d0f5f8458..086b68427 100644 --- a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj +++ b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj @@ -1,318 +1,34 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {2A206833-C713-4ACB-ACD3-EB971415119E} WinExe - Properties + net461 SIL.Email.TestApp SIL.Email.TestApp - v4.6.1 - 6 - 512 - - - 3.5 - - - true - true - - - true - full - false - ..\..\output\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - false - - - pdbonly - true - ..\..\output\Release\ - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\..\output\DebugMono\ - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + SIL.Email.TestApp + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - - + + all + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - Form1.cs - - - - - Form1.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + - - - \ No newline at end of file + + diff --git a/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs b/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs index 8e7e92828..d6182e98c 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs +++ b/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs @@ -1,25 +1,8 @@ -// Copyright (c) 2016-2017 SIL International +// Copyright (c) 2016-2019 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -using System.Reflection; -using System.Runtime.InteropServices; using SIL.Acknowledgements; -// 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("SIL.Windows.Forms.TestApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("ad6812d5-377a-4687-aba2-4e88a87527ec")] - // The following Acknowledgements test the AcknowledgementsProvider for SIL AboutBox [assembly: Acknowledgement("ackAttrKey1", Name = "test acknowledgement name", Url = "http://www.google.com", Location = "test location", LicenseUrl = "http://opensource.org/licenses/MIT", Copyright = "test copyright 2017")] diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj index c2ad995dc..cdb653737 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj @@ -1,371 +1,49 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} WinExe - Properties + net461 SIL.Windows.Forms.TestApp SIL.Windows.Forms.TestApp - - - - - 3.5 - v4.6.1 - 6 - - true - true - - - - - true - full - false - ..\..\output\Debug\ - DEBUG;TRACE - prompt - 4 - false - x86 - - false - - - pdbonly - true - ..\..\output\Release\ - TRACE;TESTING_WS - prompt - 4 - AnyCPU - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - 4 - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - false - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE;TESTING_WS - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - full - x86 - false - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\Release\ - TRACE;TESTING_WS - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - false - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE;TESTING_WS - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - false - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\Release - TRACE;TESTING_WS - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - false - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseStrongName - TRACE;TESTING_WS - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + SIL.Windows.Forms.TestApp test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + false + + - - ..\..\packages\L10NSharp.3.1.0-nuget0010\lib\net461\L10NSharp.dll - True - - - - 3.5 - - - - + + all + + + + - - Properties\GlobalAssemblyInfo.cs - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - TestAppForm.cs - SIL.FieldWorks.TestApp.resources - - - Form - - - TestAppForm.cs - + + + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {fad20de2-d5bb-4d9d-aeef-61f02663105f} - SIL.Lexicon - - - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - SIL.Media - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - + + + + - --> - \ No newline at end of file + + diff --git a/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs b/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs index c1aed18ce..ce34ca7ee 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs +++ b/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs @@ -54,7 +54,6 @@ private void OnFolderBrowserControlClicked(object sender, EventArgs e) return; } -#if !MONO using (var form = new Form()) { var browser = new FolderBrowserControl.FolderBrowserControl(); @@ -68,7 +67,6 @@ private void OnFolderBrowserControlClicked(object sender, EventArgs e) form.Controls.Add(browser); form.ShowDialog(); } -#endif } private void OnLanguageLookupDialogClicked(object sender, EventArgs e) @@ -324,10 +322,14 @@ private void recordPlayButton_MouseDown(object sender, MouseEventArgs e) Application.DoEvents(); } session.StopRecordingAndSaveAsWav(); - (session as ISimpleAudioWithEvents).PlaybackStopped += (o, args) => + if (session is ISimpleAudioWithEvents) { - this.Invoke((Action)(()=> MessageBox.Show("play stopped"))); - }; + (session as ISimpleAudioWithEvents).PlaybackStopped += (o, args) => + { + this.Invoke((Action) (() => MessageBox.Show("play stopped"))); + }; + } + session.Play(); MessageBox.Show("play started"); } diff --git a/TestApps/SIL.Windows.Forms.TestApp/environ b/TestApps/SIL.Windows.Forms.TestApp/environ index 134289c94..86df662f3 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/environ +++ b/TestApps/SIL.Windows.Forms.TestApp/environ @@ -5,8 +5,8 @@ # the sourcing script should cd/pushd to the directory containing this script BASE="$(pwd)" -[ -z "$BUILD" ] && BUILD=DebugMono -[ -z "$MONO_PREFIX" ] && MONO_PREFIX=/opt/mono-sil +[ -z "$BUILD" ] && BUILD=Debug +[ -z "$MONO_PREFIX" ] && MONO_PREFIX=/opt/mono5-sil # Dependency locations # Search for xulrunner and geckofx, select the best, and add its location to LD_LIBRARY_PATH. diff --git a/TestApps/SIL.Windows.Forms.TestApp/packages.config b/TestApps/SIL.Windows.Forms.TestApp/packages.config deleted file mode 100644 index b10505710..000000000 --- a/TestApps/SIL.Windows.Forms.TestApp/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs b/TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs deleted file mode 100644 index 0bc04e88f..000000000 --- a/TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("TestAppKeyboard")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// 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("bda07782-432b-49ab-b663-b6bd06b17a2b")] diff --git a/TestApps/TestAppKeyboard/TestAppKeyboard.csproj b/TestApps/TestAppKeyboard/TestAppKeyboard.csproj index 8e604267a..d7a1cca8e 100644 --- a/TestApps/TestAppKeyboard/TestAppKeyboard.csproj +++ b/TestApps/TestAppKeyboard/TestAppKeyboard.csproj @@ -1,375 +1,37 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {776BECCD-102A-4C69-A478-4A4A6F695019} WinExe - Properties + net461 TestAppKeyboard TestAppKeyboard - v4.6.1 - 6 - 512 - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - true - true - - - true - full - false - ..\..\output\$(Configuration) - DEBUG;TRACE - prompt - 4 - AnyCPU - AllRules.ruleset - false - - - pdbonly - true - ..\..\output\$(Configuration) - TRACE - prompt - 4 - AllRules.ruleset - AnyCPU - false - - - true - ..\..\output\$(Configuration) - DEBUG;TRACE - full - x86 - prompt - 4 - false - AllRules.ruleset - false - - - ..\..\output\$(Configuration) - TRACE - true - pdbonly - x86 - prompt - 4 - AllRules.ruleset - false - - - true - ..\..\output\$(Configuration) - DEBUG;TRACE;MONO - full - AnyCPU - prompt - 4 - false - AllRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - AllRules.ruleset - false - - - ..\..\output\$(Configuration) - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - AllRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - AllRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - ..\..\output\Release - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - - ..\..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - + Debug;Release + TestAppKeyboard test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - 3.5 - - - + + all + + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - KeyboardForm.cs - - - - - KeyboardForm.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - + + + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + - - - - \ No newline at end of file + + diff --git a/TestApps/TestAppKeyboard/packages.config b/TestApps/TestAppKeyboard/packages.config deleted file mode 100644 index adcad6dd5..000000000 --- a/TestApps/TestAppKeyboard/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file From 41536ef4a6040a17c1207dc4e7fc6e29cd8ee3f3 Mon Sep 17 00:00:00 2001 From: Stephen McConnel Date: Fri, 22 Feb 2019 14:11:29 -0700 Subject: [PATCH 23/49] Abbreviate Creative Commons as "CC " instead of "CC-" This requirement was brought to our attention by a Bloom user (BL-6880 or https://community.software.sil.org/t/changing-cc-version-in-license-notice/1726) --- SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs | 4 ++-- SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs | 6 +++--- SIL.Windows.Forms/ClearShare/LicenseInfo.cs | 2 +- SIL.Windows.Forms/ClearShare/MetaData.cs | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs b/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs index 83fe85c11..a9213b9c9 100644 --- a/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs +++ b/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs @@ -477,7 +477,7 @@ public void MinimalCredits_CreativeCommonsNoCreator() }; string idOfLanguageUsedForLicense; - Assert.AreEqual("My Collection, © 2014 SIL. CC-BY-SA IGO 3.0", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); + Assert.AreEqual("My Collection, © 2014 SIL. CC BY-SA IGO 3.0", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); } [Test] @@ -494,7 +494,7 @@ public void MinimalCredits_CreativeCommonsWithExtraRightsStatement() }; string idOfLanguageUsedForLicense; - Assert.AreEqual("© 2014 SIL. CC-BY-SA IGO 3.0. Only people named Fred can use this.", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); + Assert.AreEqual("© 2014 SIL. CC BY-SA IGO 3.0. Only people named Fred can use this.", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); } } } diff --git a/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs b/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs index af106ccb1..f5f8a2961 100644 --- a/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs +++ b/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs @@ -233,13 +233,13 @@ public override string Token /// /// A compact form of of this license that doesn't introduce any new text (though the license may itself have text) - /// E.g. CC-BY-NC + /// E.g. CC BY-NC /// public override string GetMinimalFormForCredits(IEnumerable languagePriorityIds, out string idOfLanguageUsed) { idOfLanguageUsed = "*"; - var form = "CC-"; + var form = "CC "; if (AttributionRequired) form += "BY-"; if (!CommercialUseAllowed) @@ -257,7 +257,7 @@ public override string GetMinimalFormForCredits(IEnumerable languagePrio default: throw new ArgumentOutOfRangeException("derivativeRule"); } - form = form.TrimEnd(new char[] { '-' }); + form = form.TrimEnd(new char[] { '-', ' ' }); var additionalRights = (RightsStatement != null ? ". " + RightsStatement : ""); return (form + " " + (IntergovernmentalOriganizationQualifier ? "IGO " : "") + Version + additionalRights).Trim(); diff --git a/SIL.Windows.Forms/ClearShare/LicenseInfo.cs b/SIL.Windows.Forms/ClearShare/LicenseInfo.cs index d058a3851..ac03c4233 100644 --- a/SIL.Windows.Forms/ClearShare/LicenseInfo.cs +++ b/SIL.Windows.Forms/ClearShare/LicenseInfo.cs @@ -25,7 +25,7 @@ public static LicenseInfo FromXmp(Dictionary properties) /// /// A compact form of of this license that doesn't introduce any new text (though the license may itself have text) - /// E.g. CC-BY-NC + /// E.g. "CC BY-NC" /// public abstract string GetMinimalFormForCredits(IEnumerable languagePriorityIds, out string idOfLanguageUsed); diff --git a/SIL.Windows.Forms/ClearShare/MetaData.cs b/SIL.Windows.Forms/ClearShare/MetaData.cs index 2bfb0f35d..68cd16d97 100644 --- a/SIL.Windows.Forms/ClearShare/MetaData.cs +++ b/SIL.Windows.Forms/ClearShare/MetaData.cs @@ -690,7 +690,7 @@ static public bool HaveStoredExemplar(FileCategory category) /// /// Deletes the stored exemplar (if it exists). This can be useful if a program - /// wants to establish CC-BY as the default license for a new product. + /// wants to establish "CC BY" as the default license for a new product. /// static public void DeleteStoredExemplar(FileCategory category) { @@ -830,8 +830,8 @@ public string GetCopyrightBy() /// /// A super compact form of credits that doesn't introduce any English. - /// Jane Doe, © 2008 SIL International, CC-BY-NC 3.0 - /// "International Illustrations: Art Of Reading", © 2009 SIL International, CC-ND + /// Jane Doe, © 2008 SIL International, CC BY-NC 3.0 + /// "International Illustrations: Art Of Reading", © 2009 SIL International, CC ND /// public string MinimalCredits(IEnumerable languagePriorityIds, out string idOfLanguageUsedForLicense) { From 4ad33191609e1d67bdb749c0b7380b0196491798 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Mon, 25 Feb 2019 15:16:58 -0600 Subject: [PATCH 24/49] Fix private use scripts showing up as normal (#792) * Scripts added by SLDR from the languageTags.json were not retaining their private use identity * Also cleaned up some comments and added some new comments relating to the private use convention --- .../IetfLanguageTagTests.cs | 35 ++++++++++++++++++- .../StandardSubtagsTests.cs | 14 +++++++- SIL.WritingSystems/IetfLanguageTag.cs | 22 ++++++++---- .../LdmlInXmlWritingSystemRepository.cs | 2 +- SIL.WritingSystems/StandardSubtags.cs | 8 +++-- 5 files changed, 68 insertions(+), 13 deletions(-) diff --git a/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs b/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs index 8c242024b..4e94c9b3e 100644 --- a/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs +++ b/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs @@ -462,7 +462,6 @@ public void TryGetSubtags_XKal_ReturnsKal() Assert.That(variantSubtags, Is.Empty); } - [Test] public void TryGetSubtags_XKalFake_ReturnsKalFake() { @@ -479,6 +478,40 @@ public void TryGetSubtags_XKalFake_ReturnsKalFake() Assert.That(variantSubtags, Is.Empty); } + [Test] + public void TryGetSubtags_FullPUAConventionWithVariantAndPUAVariant_ReturnsAllParts() + { + LanguageSubtag languageSubtag; + ScriptSubtag scriptSubtag; + RegionSubtag regionSubtag; + IEnumerable variantSubtags; + Assert.That(IetfLanguageTag.TryGetSubtags("qaa-Qaaa-QM-fonipa-x-kal-Fake-RG-extravar", + out languageSubtag, out scriptSubtag, out regionSubtag, out variantSubtags), Is.True); + // SUT + Assert.That(languageSubtag, Is.EqualTo((LanguageSubtag) "kal")); + Assert.That(scriptSubtag, Is.EqualTo((ScriptSubtag) "Fake")); + Assert.That(regionSubtag, Is.EqualTo((RegionSubtag) "RG")); + CollectionAssert.IsNotEmpty(variantSubtags); + CollectionAssert.AreEquivalent(new[] {"International Phonetic Alphabet", "extravar"}, + variantSubtags.Select(x => x.ToString())); + } + + [Test] + public void TryGetSubtags_InvalidConventionForScript_ReturnsPrivateUseScript() + { + LanguageSubtag languageSubtag; + ScriptSubtag scriptSubtag; + RegionSubtag regionSubtag; + IEnumerable variantSubtags; + Assert.That(IetfLanguageTag.TryGetSubtags("en-Qaaa-x-toolong", + out languageSubtag, out scriptSubtag, out regionSubtag, out variantSubtags), Is.True); + Assert.That(languageSubtag, Is.EqualTo((LanguageSubtag) "en")); + Assert.IsNull(regionSubtag); + // SUT + Assert.That(scriptSubtag, Is.EqualTo((ScriptSubtag) "Qaaa")); + Assert.IsTrue(scriptSubtag.IsPrivateUse); + } + [Test] public void TryGetSubtags_XKalXA_ReturnsEmptyScriptSubtag() { diff --git a/SIL.WritingSystems.Tests/StandardSubtagsTests.cs b/SIL.WritingSystems.Tests/StandardSubtagsTests.cs index 357c0318f..c61374fa6 100644 --- a/SIL.WritingSystems.Tests/StandardSubtagsTests.cs +++ b/SIL.WritingSystems.Tests/StandardSubtagsTests.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Linq; using NUnit.Framework; namespace SIL.WritingSystems.Tests @@ -244,5 +244,17 @@ public void VariantTagPrefixes() Assert.That(pinyinPrefixes, Has.Member("zh-Latn")); Assert.That(pinyinPrefixes, Has.Member("bo-Latn")); } + + [TestCase("Qaaa", true)] + [TestCase("Qabx", true)] + [TestCase("Qaby", false)] // Valid script code that will is unlikely to be registered + [TestCase("A1B2", false)] // Valid script code that will is unlikely to be registered + public void VerifyAddedPrivateUseScriptsMarkedProperly(string scriptCode, bool expectedValue) + { + StandardSubtags.RegisteredScripts.Remove(scriptCode); + StandardSubtags.AddScript(scriptCode, "description"); + Assert.AreEqual(StandardSubtags.RegisteredScripts[scriptCode].IsPrivateUse, expectedValue); + StandardSubtags.RegisteredScripts.Remove(scriptCode); + } } } diff --git a/SIL.WritingSystems/IetfLanguageTag.cs b/SIL.WritingSystems/IetfLanguageTag.cs index 74e01c842..0e0fa113e 100644 --- a/SIL.WritingSystems/IetfLanguageTag.cs +++ b/SIL.WritingSystems/IetfLanguageTag.cs @@ -849,11 +849,18 @@ private static bool TryParse(string langTag, out string language, out string scr /// /// Gets the subtags of the specified language tag. /// - /// The language tag. - /// The language subtag. - /// The script subtag. - /// The region subtag. - /// The variant and private-use subtags. + /// The language tag string + /// Assigned the LanguageSubtag + /// Assigned the ScriptSubtag or null + /// Assigned the RegionSubtag or null + /// List of the variant and private-use subtags, or an empty list + /// + /// The SIL (FieldWorks) convention for private use subtags is followed: + /// qaa for the language expects the first private use code to be a 3 letter language name abbreviation + /// Qaaa in the Script expects the first remaining private use code to be a 4 letter script abbreviation + /// QM in the Region expects the first remaining private use code to be a 2 letter Region abbreviation + /// Any deviation from this will still parse, but it the subtags will not return info from the private use area. + /// /// public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubtag, out ScriptSubtag scriptSubtag, out RegionSubtag regionSubtag, out IEnumerable variantSubtags) @@ -882,7 +889,7 @@ public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubt if (languageCode.Equals(WellKnownSubtags.UnlistedLanguage, StringComparison.OrdinalIgnoreCase)) { // In our own WS dialog, we don't allow no language, but if it isn't a standard one, a language like xkal - // produces an identifier like qaa-x-kal, and we interepret the first thing after the x as a private + // produces an identifier like qaa-x-kal, and we interpret the first thing after the x as a private // language code (not allowed as the first three characters according to the standard). // If it's NOT a valid language code (e.g., too many characters), probably came from some other // program. Treating it as a language code will fail if we try to create such a writing system, @@ -912,10 +919,10 @@ public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubt if (scriptGroup.Success) { string scriptCode = scriptGroup.Value; + // Qaaa triggers convention looking for a privateUse abbreviation if (scriptCode.Equals("Qaaa", StringComparison.OrdinalIgnoreCase) && privateUseCodes.Count > 0 && ScriptPattern.IsMatch(privateUseCodes[0])) { - scriptSubtag = new ScriptSubtag(privateUseCodes[0]); privateUseCodes.RemoveAt(0); } @@ -932,6 +939,7 @@ public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubt if (regionGroup.Success) { string regionCode = regionGroup.Value; + // QM triggers convention looking for a privateUse abbreviation if (regionCode.Equals("QM", StringComparison.OrdinalIgnoreCase) && privateUseCodes.Count > 0 && RegionPattern.IsMatch(privateUseCodes[0])) { diff --git a/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs b/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs index bf7564d49..dd8b8e4c6 100644 --- a/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs +++ b/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs @@ -6,7 +6,7 @@ namespace SIL.WritingSystems { /// - /// A writing system repository where all LDML defintions are stored in a single XML file. + /// A writing system repository where all LDML definitions are stored in a single XML file. /// public class LdmlInXmlWritingSystemRepository : LdmlInXmlWritingSystemRepository { diff --git a/SIL.WritingSystems/StandardSubtags.cs b/SIL.WritingSystems/StandardSubtags.cs index 9a27f688c..85fb6197c 100644 --- a/SIL.WritingSystems/StandardSubtags.cs +++ b/SIL.WritingSystems/StandardSubtags.cs @@ -38,7 +38,8 @@ internal static void InitialiseIanaSubtags(string twotothreecodes, string subtag var variants = new List(); foreach (string ianaSubtagAsString in ianaSubtagsAsStrings) { - string[] subTagComponents = ianaSubtagAsString.Replace("\r\n", "\n").Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); + string[] subTagComponents = ianaSubtagAsString.Replace("\r\n", "\n").Split(new[] { "\n" }, + StringSplitOptions.RemoveEmptyEntries); if (subTagComponents[0].Contains("File-Date")) { @@ -79,7 +80,8 @@ internal static void InitialiseIanaSubtags(string twotothreecodes, string subtag subtag = value; break; case "Description": - description = SubTagComponentDescription(component); ; // so that the description spread over 2 lines can be appended to + // so that the description spread over 2 lines can be appended to + description = SubTagComponentDescription(component); descriptions.Add(description); break; case "Deprecated": @@ -179,7 +181,7 @@ private static IEnumerable GetVariantPrefixes(string[] subTagComponents) public static void AddScript(string script, string description) { - var scriptTag = new ScriptSubtag(script, description, false, false); + var scriptTag = new ScriptSubtag(script, description, IsPrivateUseScriptCode(script), false); RegisteredScripts.Add(scriptTag); } From 19db6eba92c3469409fabfbd989591e22bdf6a2e Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Tue, 26 Feb 2019 11:26:24 -0600 Subject: [PATCH 25/49] Do not show Script/Region/Variant for Implicit Script * If a language tag is using an implicit script it should not push the user into the Script/Region/Variant options. --- .../WritingSystemSetupPMTests.cs | 9 +++++++++ .../WritingSystemSetupModel.cs | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs index df0fd2ff9..1104d791f 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs @@ -778,6 +778,15 @@ public void SelectionForSpecialCombo_HasKnownScript_GivesScriptRegionVariant() Assert.AreEqual(WritingSystemSetupModel.SelectionsForSpecialCombo.ScriptRegionVariant, _model.SelectionForSpecialCombo); } + [Test] + public void SelectionForSpecialCombo_HasImplicitScript_GivesNone() + { + _model.AddNew(); + _model.CurrentIso = "en"; + _model.CurrentScriptCode = "Latn"; + Assert.AreEqual(WritingSystemSetupModel.SelectionsForSpecialCombo.None, _model.SelectionForSpecialCombo); + } + [Test] public void VerboseDescriptionWhenNoSubtagsSet() { diff --git a/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs b/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs index b50ef02af..9836d00fd 100644 --- a/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs +++ b/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs @@ -990,7 +990,7 @@ public SelectionsForSpecialCombo SelectionForSpecialCombo { return SelectionsForSpecialCombo.UnlistedLanguageDetails; } - if (_currentWritingSystem.Script != null + if ((_currentWritingSystem.Script != null && !IetfLanguageTag.IsScriptImplied(_currentWritingSystem.LanguageTag)) || _currentWritingSystem.Region != null || _currentWritingSystem.Variants.Count > 0 ) From 6fce851d2170b999ee843bd411d9e972b1ccbe28 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Wed, 27 Feb 2019 15:28:15 -0600 Subject: [PATCH 26/49] Fix a bug where many collations were not round tripped * The code to remove matching collations was buggy and removed any unknown collation from the old content. * Also update the remarks to point to the specific revision that this library was built against. --- .../LdmlDataMapperTests.cs | 48 +++++++++++++++++++ SIL.WritingSystems/LdmlDataMapper.cs | 20 ++++++-- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs b/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs index dbc62d75a..0a5030dcc 100644 --- a/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs +++ b/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs @@ -145,6 +145,54 @@ public void ExistingUnusedLdml_Write_PreservesData() AssertThatXmlIn.String(sw.ToString()).HasAtLeastOneMatchForXpath("/ldml/special[text()=\"hey\"]"); } + [Test] + public void ExistingLdml_UnknownCollation_Write_PreservesData() + { + var ldmlwithcollation = + @"" + + @"" + + @""; + var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); + var sw = new StringWriter(); + var ws = new WritingSystemDefinition("en"); + var writer = XmlWriter.Create(sw, CanonicalXmlSettings.CreateXmlWriterSettings()); + adaptor.Write(writer, ws, XmlReader.Create(new StringReader(ldmlwithcollation))); + writer.Close(); + AssertThatXmlIn.String(sw.ToString()).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + + [Test] + public void ExistingLdml_SilReorderCollation_Write_PreservesData() + { + var ldmlwithcollation = + @"hey" + + @"junk" + + @""; + var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); + var sw = new StringWriter(); + var ws = new WritingSystemDefinition("en"); + var writer = XmlWriter.Create(sw, CanonicalXmlSettings.CreateXmlWriterSettings()); + adaptor.Write(writer, ws, XmlReader.Create(new StringReader(ldmlwithcollation))); + writer.Close(); + AssertThatXmlIn.String(sw.ToString()).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + + [Test] + public void ExistingLdml_NonSILSpecialCollation_Write_PreservesData() + { + var ldmlwithcollation = + @"hey" + + @"Hedburg" + + @""; + var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); + var sw = new StringWriter(); + var ws = new WritingSystemDefinition("en"); + var writer = XmlWriter.Create(sw, CanonicalXmlSettings.CreateXmlWriterSettings()); + adaptor.Write(writer, ws, XmlReader.Create(new StringReader(ldmlwithcollation))); + writer.Close(); + AssertThatXmlIn.String(sw.ToString()).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + #region Roundtrip [Test] public void RoundtripSimpleCustomSortRules_WS33715() diff --git a/SIL.WritingSystems/LdmlDataMapper.cs b/SIL.WritingSystems/LdmlDataMapper.cs index 0126eb72b..d2c160791 100644 --- a/SIL.WritingSystems/LdmlDataMapper.cs +++ b/SIL.WritingSystems/LdmlDataMapper.cs @@ -30,7 +30,7 @@ namespace SIL.WritingSystems /// in the repository will not be changed including no marking with "version 1". /// /// - /// LDML reference: http://www.unicode.org/reports/tr35/ + /// LDML reference: https://www.unicode.org/reports/tr35/tr35-37/ /// public class LdmlDataMapper { @@ -1269,16 +1269,14 @@ private void WriteNumbersElement(XElement numbersElem, WritingSystemDefinition w private void WriteCollationsElement(XElement collationsElem, WritingSystemDefinition ws) { - // Preserve exisiting collations since we don't process them all + // Preserve existing collations since we don't process them all // Remove only the collations we can repopulate from the writing system - collationsElem.NonAltElements("collation").Where(ce => ce.NonAltElements("special").Elements().All(se => se.Name != (Sil + "reordered"))).Remove(); - + RemoveSpecialSilCollations(collationsElem); // if there will be no collation elements, don't write out defaultCollation element if (!collationsElem.Elements("collation").Any() && ws.Collations.All(c => c is SystemCollationDefinition)) { return; } - var defaultCollationElem = collationsElem.GetOrCreateElement("defaultCollation"); defaultCollationElem.SetValue(ws.DefaultCollationType); @@ -1288,6 +1286,18 @@ private void WriteCollationsElement(XElement collationsElem, WritingSystemDefini } } + private void RemoveSpecialSilCollations(XElement collationsElem) + { + // Remove any of the special SIL sorts skipping the unsupported "reordered" so it will round trip + // e.g. + // + // <-- removes this element + // ... + // + // + collationsElem.Elements("collation").Where(ce => ce.NonAltElements("special").Any(se => se.Name.NamespaceName == Sil && se.Name != Sil + "reordered")).Remove(); + } + private void WriteCollationElement(XElement collationsElem, CollationDefinition collation) { Debug.Assert(collationsElem != null); From dd14bddcfe318f01bef80b8c9033ec45798b4623 Mon Sep 17 00:00:00 2001 From: Stephen McConnel Date: Mon, 25 Feb 2019 15:31:29 -0700 Subject: [PATCH 27/49] Handle Public Domain (CC0) in license control/dialog This was requested a year ago by a Bloom user (BL-5612). --- DistFiles/Palaso.en.tmx | 11 + .../ClearShare/CreativeCommonsLicense.cs | 41 ++-- SIL.Windows.Forms/ClearShare/MetaData.cs | 9 + .../MetadataEditorControl.Designer.cs | 212 +++++++++++------- .../WinFormsUI/MetadataEditorControl.cs | 87 +++++-- .../MetadataEditorDialog.Designer.cs | 6 +- 6 files changed, 239 insertions(+), 127 deletions(-) diff --git a/DistFiles/Palaso.en.tmx b/DistFiles/Palaso.en.tmx index 32fec9bdb..895476dab 100644 --- a/DistFiles/Palaso.en.tmx +++ b/DistFiles/Palaso.en.tmx @@ -510,6 +510,11 @@ License + + + The copyright holder waives all rights + + Copyright and License @@ -542,6 +547,12 @@ more info + + {0} is replaced by an untranslatable abbreviation functioning as an adjective ("CC0") + + about {0} Public Domain + + While this screen allows it, legally you can't enforce any additions to a creative commons license. This link takes you to the clause that says that. This link is visible only if you choose Creative Commons but then type in the "Additional Request" box. diff --git a/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs b/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs index f5f8a2961..eb9176289 100644 --- a/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs +++ b/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs @@ -177,7 +177,7 @@ private static string MakeUrlFromParts(string token, string version, string qual if(token == "cc0") { // this one is weird in a couple ways, including that it doesn't have /licenses/ in the path - return "http://creativecommons.org/publicdomain/zero/" + version +"/"; + return "http://creativecommons.org/publicdomain/zero/1.0/"; } var url = token + "/"; @@ -239,29 +239,34 @@ public override string GetMinimalFormForCredits(IEnumerable languagePrio { idOfLanguageUsed = "*"; - var form = "CC "; + string form; if (AttributionRequired) - form += "BY-"; - if (!CommercialUseAllowed) - form += "NC-"; - switch (DerivativeRule) { - case DerivativeRules.NoDerivatives: - form += "ND"; - break; - case DerivativeRules.DerivativesWithShareAndShareAlike: - form += "SA"; - break; - case DerivativeRules.Derivatives: - break; - default: - throw new ArgumentOutOfRangeException("derivativeRule"); + form = "CC BY-"; + if (!CommercialUseAllowed) + form += "NC-"; + switch (DerivativeRule) + { + case DerivativeRules.NoDerivatives: + form += "ND"; + break; + case DerivativeRules.DerivativesWithShareAndShareAlike: + form += "SA"; + break; + case DerivativeRules.Derivatives: + break; + default: + throw new ArgumentOutOfRangeException("derivativeRule"); + } + form = form.TrimEnd(new char[] { '-', ' ' }); + } + else + { + form = "CC0"; } - form = form.TrimEnd(new char[] { '-', ' ' }); var additionalRights = (RightsStatement != null ? ". " + RightsStatement : ""); return (form + " " + (IntergovernmentalOriganizationQualifier ? "IGO " : "") + Version + additionalRights).Trim(); - ; } /// diff --git a/SIL.Windows.Forms/ClearShare/MetaData.cs b/SIL.Windows.Forms/ClearShare/MetaData.cs index 68cd16d97..60e079272 100644 --- a/SIL.Windows.Forms/ClearShare/MetaData.cs +++ b/SIL.Windows.Forms/ClearShare/MetaData.cs @@ -780,6 +780,15 @@ public enum FileCategory public void SetCopyrightNotice(string year, string by) { + if ((License is CreativeCommonsLicense) && !((CreativeCommonsLicense) License).AttributionRequired) + { + // Public Domain, no copyright as such. + if (!string.IsNullOrEmpty(year)) + CopyrightNotice = by + ", " + year; + else + CopyrightNotice = by; + return; + } if(!string.IsNullOrEmpty(year)) CopyrightNotice = "Copyright © " + year + ", " + by; else diff --git a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs index bda13b824..a96e9ca02 100644 --- a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs +++ b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs @@ -1,4 +1,4 @@ -using SIL.Windows.Forms.Widgets; +using SIL.Windows.Forms.Widgets; namespace SIL.Windows.Forms.ClearShare.WinFormsUI { @@ -48,16 +48,18 @@ private void InitializeComponent() this._customLicense = new System.Windows.Forms.RadioButton(); this._customRightsStatement = new System.Windows.Forms.TextBox(); this._L10NSharpExtender = new L10NSharp.UI.L10NSharpExtender(this.components); - this.betterLabel2 = new SIL.Windows.Forms.Widgets.BetterLabel(); this._illustratorLabel = new System.Windows.Forms.Label(); this._illustrator = new System.Windows.Forms.TextBox(); this._copyrightYear = new System.Windows.Forms.TextBox(); this._copyrightBy = new System.Windows.Forms.TextBox(); this._copyrightHolderLabel = new System.Windows.Forms.Label(); - this._linkToDefinitionOfNonCommercial = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); - this._linkToRefinedCreativeCommonsWarning = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); - this._additionalRequestsLabel = new SIL.Windows.Forms.Widgets.BetterLabel(); this._useIGOLicenseVersion = new System.Windows.Forms.CheckBox(); + this._publicDomainCC0 = new System.Windows.Forms.RadioButton(); + this._additionalRequestsLabel = new SIL.Windows.Forms.Widgets.BetterLabel(); + this._linkToRefinedCreativeCommonsWarning = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); + this.betterLabel2 = new SIL.Windows.Forms.Widgets.BetterLabel(); + this._linkToDefinitionOfNonCommercial = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); + this._linkToPublicDomainCC0 = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); @@ -181,7 +183,7 @@ private void InitializeComponent() this.betterLabel1.Multiline = true; this.betterLabel1.Name = "betterLabel1"; this.betterLabel1.ReadOnly = true; - this.betterLabel1.Size = new System.Drawing.Size(471, 17); + this.betterLabel1.Size = new System.Drawing.Size(471, 15); this.betterLabel1.TabIndex = 0; this.betterLabel1.TabStop = false; this.betterLabel1.Text = "Allow commercial uses of your work?"; @@ -255,9 +257,9 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizableToolTip(this._unknownLicense, null); this._L10NSharpExtender.SetLocalizationComment(this._unknownLicense, null); this._L10NSharpExtender.SetLocalizingId(this._unknownLicense, "MetadataEditor.UnknownLicense"); - this._unknownLicense.Location = new System.Drawing.Point(53, 409); + this._unknownLicense.Location = new System.Drawing.Point(53, 448); this._unknownLicense.Name = "_unknownLicense"; - this._unknownLicense.Size = new System.Drawing.Size(407, 42); + this._unknownLicense.Size = new System.Drawing.Size(407, 35); this._unknownLicense.TabIndex = 3; this._unknownLicense.TabStop = true; this._unknownLicense.Text = "Contact the copyright holder for any permissions"; @@ -272,7 +274,7 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizableToolTip(this._customLicense, null); this._L10NSharpExtender.SetLocalizationComment(this._customLicense, null); this._L10NSharpExtender.SetLocalizingId(this._customLicense, "MetadataEditor.CustomLicense"); - this._customLicense.Location = new System.Drawing.Point(53, 451); + this._customLicense.Location = new System.Drawing.Point(53, 483); this._customLicense.Name = "_customLicense"; this._customLicense.Size = new System.Drawing.Size(67, 19); this._customLicense.TabIndex = 4; @@ -290,7 +292,7 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizationComment(this._customRightsStatement, null); this._L10NSharpExtender.SetLocalizationPriority(this._customRightsStatement, L10NSharp.LocalizationPriority.NotLocalizable); this._L10NSharpExtender.SetLocalizingId(this._customRightsStatement, "MetadataEditor.MetadataEditorControl._customRightsStatement"); - this._customRightsStatement.Location = new System.Drawing.Point(74, 498); + this._customRightsStatement.Location = new System.Drawing.Point(74, 530); this._customRightsStatement.Multiline = true; this._customRightsStatement.Name = "_customRightsStatement"; this._customRightsStatement.Size = new System.Drawing.Size(389, 54); @@ -302,27 +304,6 @@ private void InitializeComponent() this._L10NSharpExtender.LocalizationManagerId = "Palaso"; this._L10NSharpExtender.PrefixForNewItems = "MetadataEditor"; // - // betterLabel2 - // - this.betterLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.betterLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.betterLabel2.Enabled = false; - this.betterLabel2.Font = new System.Drawing.Font("Segoe UI", 9F); - this.betterLabel2.ForeColor = System.Drawing.SystemColors.ControlText; - this.betterLabel2.IsTextSelectable = false; - this._L10NSharpExtender.SetLocalizableToolTip(this.betterLabel2, null); - this._L10NSharpExtender.SetLocalizationComment(this.betterLabel2, null); - this._L10NSharpExtender.SetLocalizingId(this.betterLabel2, "MetadataEditor.AllowDerivatives"); - this.betterLabel2.Location = new System.Drawing.Point(69, 246); - this.betterLabel2.Multiline = true; - this.betterLabel2.Name = "betterLabel2"; - this.betterLabel2.ReadOnly = true; - this.betterLabel2.Size = new System.Drawing.Size(425, 17); - this.betterLabel2.TabIndex = 1; - this.betterLabel2.TabStop = false; - this.betterLabel2.Text = "Allow modifications of your work?"; - // // _illustratorLabel // this._illustratorLabel.AutoSize = true; @@ -395,27 +376,57 @@ private void InitializeComponent() this._copyrightHolderLabel.TabIndex = 28; this._copyrightHolderLabel.Text = "Copyright Holder"; // - // _linkToDefinitionOfNonCommercial + // _useIGOLicenseVersion // - this._linkToDefinitionOfNonCommercial.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._linkToDefinitionOfNonCommercial.BackColor = System.Drawing.SystemColors.Control; - this._linkToDefinitionOfNonCommercial.BorderStyle = System.Windows.Forms.BorderStyle.None; - this._linkToDefinitionOfNonCommercial.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline); - this._linkToDefinitionOfNonCommercial.ForeColor = System.Drawing.Color.Blue; - this._linkToDefinitionOfNonCommercial.IsTextSelectable = true; - this._L10NSharpExtender.SetLocalizableToolTip(this._linkToDefinitionOfNonCommercial, null); - this._L10NSharpExtender.SetLocalizationComment(this._linkToDefinitionOfNonCommercial, "The meaning of \"non-commercial\" is vague but important. This hyperlink takes you" + - " somewhere that defines it."); - this._L10NSharpExtender.SetLocalizingId(this._linkToDefinitionOfNonCommercial, "MetadataEditor.betterLinkLabel1"); - this._linkToDefinitionOfNonCommercial.Location = new System.Drawing.Point(253, 147); - this._linkToDefinitionOfNonCommercial.Multiline = true; - this._linkToDefinitionOfNonCommercial.Name = "_linkToDefinitionOfNonCommercial"; - this._linkToDefinitionOfNonCommercial.Size = new System.Drawing.Size(207, 16); - this._linkToDefinitionOfNonCommercial.TabIndex = 28; - this._linkToDefinitionOfNonCommercial.TabStop = false; - this._linkToDefinitionOfNonCommercial.Text = "more info"; - this._linkToDefinitionOfNonCommercial.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this._linkToDefinitionOfNonCommercial.URL = "http://creativecommons.org/licenses/by-nc/4.0/legalcode#s1i"; + this._useIGOLicenseVersion.AutoSize = true; + this._L10NSharpExtender.SetLocalizableToolTip(this._useIGOLicenseVersion, null); + this._L10NSharpExtender.SetLocalizationComment(this._useIGOLicenseVersion, null); + this._L10NSharpExtender.SetLocalizingId(this._useIGOLicenseVersion, "MetadataEditor.CreativeCommons.Intergovernmental"); + this._useIGOLicenseVersion.Location = new System.Drawing.Point(74, 338); + this._useIGOLicenseVersion.Name = "_useIGOLicenseVersion"; + this._useIGOLicenseVersion.Size = new System.Drawing.Size(149, 17); + this._useIGOLicenseVersion.TabIndex = 2; + this._useIGOLicenseVersion.Text = "Intergovernmental Version"; + this._useIGOLicenseVersion.UseVisualStyleBackColor = true; + this._useIGOLicenseVersion.CheckedChanged += new System.EventHandler(this._useIGOLicenseVersion_CheckedChanged); + // + // _publicDomainCC0 + // + this._publicDomainCC0.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this._publicDomainCC0.Font = new System.Drawing.Font("Segoe UI", 9F); + this._publicDomainCC0.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this._L10NSharpExtender.SetLocalizableToolTip(this._publicDomainCC0, null); + this._L10NSharpExtender.SetLocalizationComment(this._publicDomainCC0, null); + this._L10NSharpExtender.SetLocalizingId(this._publicDomainCC0, "MetadataEditor.PublicDomain"); + this._publicDomainCC0.Location = new System.Drawing.Point(53, 413); + this._publicDomainCC0.Name = "_publicDomainCC0"; + this._publicDomainCC0.Size = new System.Drawing.Size(226, 33); + this._publicDomainCC0.TabIndex = 30; + this._publicDomainCC0.TabStop = true; + this._publicDomainCC0.Text = "The copyright holder waives all rights"; + this._publicDomainCC0.TextAlign = System.Drawing.ContentAlignment.TopLeft; + this._publicDomainCC0.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this._publicDomainCC0.UseVisualStyleBackColor = true; + this._publicDomainCC0.CheckedChanged += new System.EventHandler(this.OnLicenseComponentChanged); + // + // _additionalRequestsLabel + // + this._additionalRequestsLabel.BorderStyle = System.Windows.Forms.BorderStyle.None; + this._additionalRequestsLabel.Enabled = false; + this._additionalRequestsLabel.ForeColor = System.Drawing.SystemColors.ControlText; + this._additionalRequestsLabel.IsTextSelectable = false; + this._L10NSharpExtender.SetLocalizableToolTip(this._additionalRequestsLabel, null); + this._L10NSharpExtender.SetLocalizationComment(this._additionalRequestsLabel, "When you choose a Creative Commons License, this label shows over the text box at" + + " the bottom."); + this._L10NSharpExtender.SetLocalizingId(this._additionalRequestsLabel, "MetadataEditor.additionalRequestsLabel"); + this._additionalRequestsLabel.Location = new System.Drawing.Point(53, 512); + this._additionalRequestsLabel.Multiline = true; + this._additionalRequestsLabel.Name = "_additionalRequestsLabel"; + this._additionalRequestsLabel.ReadOnly = true; + this._additionalRequestsLabel.Size = new System.Drawing.Size(286, 13); + this._additionalRequestsLabel.TabIndex = 5; + this._additionalRequestsLabel.TabStop = false; + this._additionalRequestsLabel.Text = "Additional Requests"; // // _linkToRefinedCreativeCommonsWarning // @@ -428,48 +439,79 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizableToolTip(this._linkToRefinedCreativeCommonsWarning, null); this._L10NSharpExtender.SetLocalizationComment(this._linkToRefinedCreativeCommonsWarning, resources.GetString("_linkToRefinedCreativeCommonsWarning.LocalizationComment")); this._L10NSharpExtender.SetLocalizingId(this._linkToRefinedCreativeCommonsWarning, "MetadataEditor.linkToWarningAboutRefiningCreativeCommons"); - this._linkToRefinedCreativeCommonsWarning.Location = new System.Drawing.Point(226, 476); + this._linkToRefinedCreativeCommonsWarning.Location = new System.Drawing.Point(226, 508); this._linkToRefinedCreativeCommonsWarning.Multiline = true; this._linkToRefinedCreativeCommonsWarning.Name = "_linkToRefinedCreativeCommonsWarning"; - this._linkToRefinedCreativeCommonsWarning.Size = new System.Drawing.Size(237, 16); + this._linkToRefinedCreativeCommonsWarning.Size = new System.Drawing.Size(237, 13); this._linkToRefinedCreativeCommonsWarning.TabIndex = 29; this._linkToRefinedCreativeCommonsWarning.TabStop = false; this._linkToRefinedCreativeCommonsWarning.Text = "Not Enforceable"; this._linkToRefinedCreativeCommonsWarning.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; this._linkToRefinedCreativeCommonsWarning.URL = "http://creativecommons.org/licenses/by-nc/4.0/legalcode#s7a"; // - // _additionalRequestsLabel + // betterLabel2 // - this._additionalRequestsLabel.BorderStyle = System.Windows.Forms.BorderStyle.None; - this._additionalRequestsLabel.Enabled = false; - this._additionalRequestsLabel.ForeColor = System.Drawing.SystemColors.ControlText; - this._additionalRequestsLabel.IsTextSelectable = false; - this._L10NSharpExtender.SetLocalizableToolTip(this._additionalRequestsLabel, null); - this._L10NSharpExtender.SetLocalizationComment(this._additionalRequestsLabel, "When you choose a Creative Commons License, this label shows over the text box at" + - " the bottom."); - this._L10NSharpExtender.SetLocalizingId(this._additionalRequestsLabel, "MetadataEditor.additionalRequestsLabel"); - this._additionalRequestsLabel.Location = new System.Drawing.Point(53, 480); - this._additionalRequestsLabel.Multiline = true; - this._additionalRequestsLabel.Name = "_additionalRequestsLabel"; - this._additionalRequestsLabel.ReadOnly = true; - this._additionalRequestsLabel.Size = new System.Drawing.Size(286, 13); - this._additionalRequestsLabel.TabIndex = 5; - this._additionalRequestsLabel.TabStop = false; - this._additionalRequestsLabel.Text = "Additional Requests"; + this.betterLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.betterLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.betterLabel2.Enabled = false; + this.betterLabel2.Font = new System.Drawing.Font("Segoe UI", 9F); + this.betterLabel2.ForeColor = System.Drawing.SystemColors.ControlText; + this.betterLabel2.IsTextSelectable = false; + this._L10NSharpExtender.SetLocalizableToolTip(this.betterLabel2, null); + this._L10NSharpExtender.SetLocalizationComment(this.betterLabel2, null); + this._L10NSharpExtender.SetLocalizingId(this.betterLabel2, "MetadataEditor.AllowDerivatives"); + this.betterLabel2.Location = new System.Drawing.Point(69, 246); + this.betterLabel2.Multiline = true; + this.betterLabel2.Name = "betterLabel2"; + this.betterLabel2.ReadOnly = true; + this.betterLabel2.Size = new System.Drawing.Size(425, 15); + this.betterLabel2.TabIndex = 1; + this.betterLabel2.TabStop = false; + this.betterLabel2.Text = "Allow modifications of your work?"; // - // _useIGOLicenseVersion + // _linkToDefinitionOfNonCommercial // - this._useIGOLicenseVersion.AutoSize = true; - this._L10NSharpExtender.SetLocalizableToolTip(this._useIGOLicenseVersion, null); - this._L10NSharpExtender.SetLocalizationComment(this._useIGOLicenseVersion, null); - this._L10NSharpExtender.SetLocalizingId(this._useIGOLicenseVersion, "MetadataEditor.CreativeCommons.Intergovernmental"); - this._useIGOLicenseVersion.Location = new System.Drawing.Point(74, 338); - this._useIGOLicenseVersion.Name = "_useIGOLicenseVersion"; - this._useIGOLicenseVersion.Size = new System.Drawing.Size(149, 17); - this._useIGOLicenseVersion.TabIndex = 2; - this._useIGOLicenseVersion.Text = "Intergovernmental Version"; - this._useIGOLicenseVersion.UseVisualStyleBackColor = true; - this._useIGOLicenseVersion.CheckedChanged += new System.EventHandler(this._useIGOLicenseVersion_CheckedChanged); + this._linkToDefinitionOfNonCommercial.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this._linkToDefinitionOfNonCommercial.BackColor = System.Drawing.SystemColors.Control; + this._linkToDefinitionOfNonCommercial.BorderStyle = System.Windows.Forms.BorderStyle.None; + this._linkToDefinitionOfNonCommercial.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline); + this._linkToDefinitionOfNonCommercial.ForeColor = System.Drawing.Color.Blue; + this._linkToDefinitionOfNonCommercial.IsTextSelectable = true; + this._L10NSharpExtender.SetLocalizableToolTip(this._linkToDefinitionOfNonCommercial, null); + this._L10NSharpExtender.SetLocalizationComment(this._linkToDefinitionOfNonCommercial, "The meaning of \"non-commercial\" is vague but important. This hyperlink takes you" + + " somewhere that defines it."); + this._L10NSharpExtender.SetLocalizingId(this._linkToDefinitionOfNonCommercial, "MetadataEditor.betterLinkLabel1"); + this._linkToDefinitionOfNonCommercial.Location = new System.Drawing.Point(256, 147); + this._linkToDefinitionOfNonCommercial.Multiline = true; + this._linkToDefinitionOfNonCommercial.Name = "_linkToDefinitionOfNonCommercial"; + this._linkToDefinitionOfNonCommercial.Size = new System.Drawing.Size(207, 13); + this._linkToDefinitionOfNonCommercial.TabIndex = 28; + this._linkToDefinitionOfNonCommercial.TabStop = false; + this._linkToDefinitionOfNonCommercial.Text = "more info"; + this._linkToDefinitionOfNonCommercial.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this._linkToDefinitionOfNonCommercial.URL = "http://creativecommons.org/licenses/by-nc/4.0/legalcode#s1i"; + // + // _linkToPublicDomainCC0 + // + this._linkToPublicDomainCC0.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this._linkToPublicDomainCC0.BackColor = System.Drawing.SystemColors.Control; + this._linkToPublicDomainCC0.BorderStyle = System.Windows.Forms.BorderStyle.None; + this._linkToPublicDomainCC0.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline); + this._linkToPublicDomainCC0.ForeColor = System.Drawing.Color.Blue; + this._linkToPublicDomainCC0.IsTextSelectable = true; + this._L10NSharpExtender.SetLocalizableToolTip(this._linkToPublicDomainCC0, null); + this._L10NSharpExtender.SetLocalizationComment(this._linkToPublicDomainCC0, "{0} is replaced by an untranslatable abbreviation functioning as an adjective"); + this._L10NSharpExtender.SetLocalizingId(this._linkToPublicDomainCC0, "MetadataEditor.linkToPublicDomainCC0"); + this._linkToPublicDomainCC0.Location = new System.Drawing.Point(283, 413); + this._linkToPublicDomainCC0.Multiline = true; + this._linkToPublicDomainCC0.Name = "_linkToPublicDomainCC0"; + this._linkToPublicDomainCC0.Size = new System.Drawing.Size(180, 13); + this._linkToPublicDomainCC0.TabIndex = 31; + this._linkToPublicDomainCC0.TabStop = false; + this._linkToPublicDomainCC0.Text = "about {0} Public Domain"; + this._linkToPublicDomainCC0.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this._linkToPublicDomainCC0.URL = "https://creativecommons.org/publicdomain/zero/1.0/"; // // tableLayoutPanel1 // @@ -497,6 +539,8 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this._linkToPublicDomainCC0); + this.Controls.Add(this._publicDomainCC0); this.Controls.Add(this._useIGOLicenseVersion); this.Controls.Add(this._additionalRequestsLabel); this.Controls.Add(this._linkToRefinedCreativeCommonsWarning); @@ -515,7 +559,7 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizationComment(this, null); this._L10NSharpExtender.SetLocalizingId(this, "MetadataEditor.MetadataEditorControl.MetadataEditorControl"); this.Name = "MetadataEditorControl"; - this.Size = new System.Drawing.Size(486, 607); + this.Size = new System.Drawing.Size(486, 600); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); this.panel2.ResumeLayout(false); @@ -558,5 +602,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.CheckBox _useIGOLicenseVersion; + private System.Windows.Forms.RadioButton _publicDomainCC0; + private BetterLinkLabel _linkToPublicDomainCC0; } } diff --git a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs index 2bf0e0353..75a862328 100644 --- a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs +++ b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Drawing.Drawing2D; using System.Windows.Forms; @@ -29,6 +29,11 @@ public MetadataEditorControl() Controls.Remove(_licenseImage); _licenseImage.Dispose(); _licenseImage = betterPictureBox; + + _linkToPublicDomainCC0.Text = string.Format( + L10NSharp.LocalizationManager.GetString("MetadataEditor.linkToPublicDomainCC0", + "about {0} Public Domain", "{0} is replaced by an untranslatable abbreviation functioning as an adjective (\"CC0\")"), + "CC0"); } protected override void OnParentChanged(EventArgs e) @@ -65,16 +70,23 @@ public Metadata Metadata if (_metadata.License is CreativeCommonsLicense) { var cc = (CreativeCommonsLicense) _metadata.License; - _creativeCommons.Checked = true; - _noDerivates.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.NoDerivatives; - _shareAlike.Checked = cc.DerivativeRule == - CreativeCommonsLicense.DerivativeRules.DerivativesWithShareAndShareAlike; - _derivatives.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.Derivatives; - _commercial.Checked = cc.CommercialUseAllowed; - _nonCommercial.Checked = !cc.CommercialUseAllowed; - _customRightsStatement.Text = _metadata.License.RightsStatement; - _useIGOLicenseVersion.Enabled = true; - _useIGOLicenseVersion.Checked = cc.IntergovernmentalOriganizationQualifier; + if (cc.AttributionRequired) + { + _creativeCommons.Checked = true; + _noDerivates.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.NoDerivatives; + _shareAlike.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.DerivativesWithShareAndShareAlike; + _derivatives.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.Derivatives; + _commercial.Checked = cc.CommercialUseAllowed; + _nonCommercial.Checked = !cc.CommercialUseAllowed; + _customRightsStatement.Text = _metadata.License.RightsStatement; + _useIGOLicenseVersion.Enabled = true; + _useIGOLicenseVersion.Checked = cc.IntergovernmentalOriganizationQualifier; + } + else + { + _publicDomainCC0.Checked = true; + _customRightsStatement.Text = _metadata.License.RightsStatement; + } } else if(_metadata.License is CustomLicense) { @@ -107,6 +119,9 @@ private void OnLicenseComponentChanged(object sender, System.EventArgs e) return; var previousLicense = _metadata.License; + var previousWasCC = previousLicense != null && previousLicense is CreativeCommonsLicense; + var previousWasCC0 = previousWasCC && !((CreativeCommonsLicense)previousLicense).AttributionRequired; + var currentIsCC0 = false; if (_metadata.License == null || !(_metadata.License is CreativeCommonsLicense))//todo: that's kinda heavy-handed _metadata.License = new CreativeCommonsLicense(true, true, CreativeCommonsLicense.DerivativeRules.Derivatives); @@ -124,16 +139,33 @@ private void OnLicenseComponentChanged(object sender, System.EventArgs e) cc.DerivativeRule = CreativeCommonsLicense.DerivativeRules.NoDerivatives; _licenseImage.Image = cc.GetImage(); - // If we're going from custom to CC, we could as easily just copy the statement into CC license. - // Maybe they want that. If they don't, mabye they'll fail to notice that we turned their - // custom license into a CC restriction, or be confused by why we did that. - // In addition, custom restrictions are so... undesirable / unenforcable. So we have to guess, - //and we're going to guess on the side of getting rid of it. - if (!(previousLicense is CreativeCommonsLicense)) + // If we're going from custom to CC, we could as easily just copy the statement into CC license. + // Maybe they want that. If they don't, maybe they'll fail to notice that we turned their + // custom license into a CC restriction, or be confused by why we did that. + // In addition, custom restrictions are so... undesirable / unenforceable. So we have to guess, + // and we're going to guess on the side of getting rid of it. + if (!previousWasCC) { _customRightsStatement.Text = ""; } } + else if (_publicDomainCC0.Checked) + { + // Public Domain CC0 = totally open CC license + var cc0 = (CreativeCommonsLicense)_metadata.License; + cc0.AttributionRequired = false; + cc0.CommercialUseAllowed = true; + cc0.DerivativeRule = CreativeCommonsLicense.DerivativeRules.Derivatives; + cc0.IntergovernmentalOriganizationQualifier = false; + cc0.Version = ""; + _licenseImage.Image = cc0.GetImage(); + // Keep custom statement only if previous license was CC0. + if (!previousWasCC0) + { + _customRightsStatement.Text = ""; + } + currentIsCC0 = true; + } else if(_unknownLicense.Checked) { _metadata.License = new NullLicense(); @@ -142,20 +174,29 @@ private void OnLicenseComponentChanged(object sender, System.EventArgs e) { _metadata.License = new CustomLicense() {RightsStatement = _customRightsStatement.Text}; } + // Wording of copyright notice changes for Public Domain compared to other licenses. + // (Public Domain doesn't claim copyright, but still attributes creator initially.) + if (previousWasCC0 != currentIsCC0) + _metadata.SetCopyrightNotice(_copyrightYear.Text, _copyrightBy.Text); UpdateDisplay(); } + private bool CreativeCommonsStyleLicenseIsChecked() + { + return _creativeCommons.Checked || _publicDomainCC0.Checked; + } + private void UpdateDisplay() { panel1.Enabled = panel2.Enabled = _creativeCommons.Checked; - _licenseImage.Visible = _creativeCommons.Checked; - _customRightsStatement.Enabled = _customLicense.Checked || _creativeCommons.Checked; - _linkToRefinedCreativeCommonsWarning.Visible = _creativeCommons.Checked && !string.IsNullOrWhiteSpace(_customRightsStatement.Text); - _additionalRequestsLabel.Visible = _creativeCommons.Checked; + _licenseImage.Visible = CreativeCommonsStyleLicenseIsChecked(); + _customRightsStatement.Enabled = _customLicense.Checked || CreativeCommonsStyleLicenseIsChecked(); + _linkToRefinedCreativeCommonsWarning.Visible = CreativeCommonsStyleLicenseIsChecked() && !string.IsNullOrWhiteSpace(_customRightsStatement.Text); + _additionalRequestsLabel.Visible = CreativeCommonsStyleLicenseIsChecked(); _useIGOLicenseVersion.Enabled = _creativeCommons.Checked; - if (_creativeCommons.Checked) + if (CreativeCommonsStyleLicenseIsChecked()) { _customRightsStatement.Top = _additionalRequestsLabel.Bottom+10; _customRightsStatement.Left = _creativeCommons.Left; @@ -191,7 +232,7 @@ private void _customLicenseDescription_TextChanged(object sender, EventArgs e) if (customLicense != null) customLicense.RightsStatement = _customRightsStatement.Text; } - if (_creativeCommons.Checked) + if (CreativeCommonsStyleLicenseIsChecked()) { var l = _metadata.License as CreativeCommonsLicense; diff --git a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs index 5b0681d96..c0aa02457 100644 --- a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs +++ b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs @@ -1,4 +1,4 @@ -namespace SIL.Windows.Forms.ClearShare.WinFormsUI +namespace SIL.Windows.Forms.ClearShare.WinFormsUI { partial class MetadataEditorDialog { @@ -94,7 +94,7 @@ private void InitializeComponent() this._metadataEditorControl.Metadata = null; this._metadataEditorControl.Name = "_metadataEditorControl"; this._metadataEditorControl.ShowCreator = false; - this._metadataEditorControl.Size = new System.Drawing.Size(338, 527); + this._metadataEditorControl.Size = new System.Drawing.Size(338, 590); this._metadataEditorControl.TabIndex = 0; this._metadataEditorControl.Dock = System.Windows.Forms.DockStyle.Fill; // @@ -110,7 +110,7 @@ private void InitializeComponent() this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = cancelButton; - this.ClientSize = new System.Drawing.Size(472, 610); + this.ClientSize = new System.Drawing.Size(472, 640); this.ControlBox = false; this.Controls.Add(panel1); this.Controls.Add(this._metadataEditorControl); From 33419378fd4c60cd4ea93956d13ae96c2b0c49d7 Mon Sep 17 00:00:00 2001 From: Gordon Martin Date: Wed, 6 Mar 2019 09:24:17 -0800 Subject: [PATCH 28/49] BL-5852 Add close box to error dialog * green/yellow screen dialog now has a close "X" in the top right corner so users can exit without sending an email or copying crash data to their clipboard --- SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs index a6b413a74..5ab9d8afc 100644 --- a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs +++ b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs @@ -242,7 +242,6 @@ private void InitializeComponent() resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); - this.ControlBox = false; this.Controls.Add(this._emailAddress); this.Controls.Add(this._privacyNoticeButton); this.Controls.Add(this._methodCombo); @@ -257,6 +256,8 @@ private void InitializeComponent() this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "ExceptionReportingDialog"; + this.ControlBox = true; + this.ShowIcon = false; // Showing the Control box ("X") also shows a default icon. this.TopMost = true; this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ExceptionReportingDialog_KeyPress); this.ResumeLayout(false); From 56f5fb15ce2136192dc0247f28a1f0df7623cee9 Mon Sep 17 00:00:00 2001 From: JamesPrabu Date: Thu, 7 Mar 2019 02:55:24 +0530 Subject: [PATCH 29/49] Restore .mp3 playing capability in windows with NAudio (#785) * Fix: LT-19431 Audio won't play .mp3 files in FW9.0.4 * Restore windows support for playing mp3 files * Added unit test to test the method --- SIL.Core/IO/TempFile.cs | 2 +- SIL.Media.Tests/AudioRecorderTests.cs | 25 +- .../Properties/Resources.Designer.cs | 12 +- SIL.Media.Tests/Properties/Resources.resx | 230 +++++++++--------- SIL.Media.Tests/Resources/short.mp3 | Bin 0 -> 2340 bytes SIL.Media.Tests/SIL.Media.Tests.csproj | 4 +- SIL.Media.Tests/packages.config | 1 + SIL.Media/AudioIrrKlangSession.cs | 174 +++++-------- SIL.Media/ShortSoundFieldControl.cs | 3 +- 9 files changed, 216 insertions(+), 235 deletions(-) create mode 100644 SIL.Media.Tests/Resources/short.mp3 diff --git a/SIL.Core/IO/TempFile.cs b/SIL.Core/IO/TempFile.cs index ad9a9bcc3..910432db8 100644 --- a/SIL.Core/IO/TempFile.cs +++ b/SIL.Core/IO/TempFile.cs @@ -73,7 +73,7 @@ public void Dispose() } try { - File.Delete(Path); + RobustFile.Delete(Path); } catch (IOException e) { diff --git a/SIL.Media.Tests/AudioRecorderTests.cs b/SIL.Media.Tests/AudioRecorderTests.cs index be19ec600..3844d3e0d 100644 --- a/SIL.Media.Tests/AudioRecorderTests.cs +++ b/SIL.Media.Tests/AudioRecorderTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.ComponentModel; using System.Diagnostics; using System.IO; @@ -227,6 +227,7 @@ public void RecordThenPlay_SmokeTest() Assert.Fail("stop event not received"); } } + // After playback is stopped we shouldn't be reporting that it is playing Assert.That(isPlayingInEventHandler, Is.False); Assert.That(x.IsPlaying, Is.False); } @@ -430,6 +431,28 @@ public void Play_DoesPlay () } } + [Test] + [Platform(Exclude = "Linux", Reason = "AudioAlsaSession doesn't implement ISimpleAudioWithEvents")] + public void Play_DoesPlayMp3_SmokeTest() + { + // file disposed after playback stopped + var file = TempFile.FromResource(Resources.ShortMp3, ".mp3"); + using (var x = AudioFactory.CreateAudioSession(file.Path)) + { + (x as ISimpleAudioWithEvents).PlaybackStopped += (e, f) => + { + Debug.WriteLine(f); + Thread.Sleep(100); + file.Dispose(); + }; + Assert.That(x.IsPlaying, Is.False); + Assert.DoesNotThrow(() => x.Play()); + Assert.That(x.IsPlaying, Is.True); + Assert.DoesNotThrow(() => x.StopPlaying()); + Assert.That(x.IsPlaying, Is.False); + } + } + [Test] public void Record_DoesRecord () { diff --git a/SIL.Media.Tests/Properties/Resources.Designer.cs b/SIL.Media.Tests/Properties/Resources.Designer.cs index 8c648943d..fa20ad690 100644 --- a/SIL.Media.Tests/Properties/Resources.Designer.cs +++ b/SIL.Media.Tests/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace SIL.Media.Tests.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -107,6 +107,16 @@ internal static System.Drawing.Bitmap MP3_PLAYER { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] ShortMp3 { + get { + object obj = ResourceManager.GetObject("ShortMp3", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// diff --git a/SIL.Media.Tests/Properties/Resources.resx b/SIL.Media.Tests/Properties/Resources.resx index 9492e47fc..3f19703a0 100644 --- a/SIL.Media.Tests/Properties/Resources.resx +++ b/SIL.Media.Tests/Properties/Resources.resx @@ -1,140 +1,142 @@ - + - + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - text/microsoft-resx + text/microsoft-resx - 2.0 + 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\finished.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\finished.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\tiny.mov;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\tiny.mov;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\24bitH4NSample.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\24bitH4NSample.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\MP3 PLAYER.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\MP3 PLAYER.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Image1.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\Image1.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\2Channel.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\2Channel.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\short.mp3;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 \ No newline at end of file diff --git a/SIL.Media.Tests/Resources/short.mp3 b/SIL.Media.Tests/Resources/short.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..841241c8bac838c7c74a4ff773cd5b0b334343d1 GIT binary patch literal 2340 zcmb`Jc{G%58^E72Jj6^h_94rZea%u4HOw?Gvc*)Btl9Ui@QPl|SfUBpB0>r&DZD5u znK8DEB}HzjN;8+~+>m{X5qm*L6djls15igMWzc&K|Wh zgaBZVB0%8c%q5D;buL9*YPc}C3~-s{vhgo=-qN(j+x(%gZK%if_hG)`ARO9(iWTFbph1|S^DGMN zWMBavijLvi;Cw|s3dW6rgHcP6yVtfAg!vOZJ&2NTjbW6|zpZac=>$ngSN)mb(NR+_ z4k&rCtov=m@UwYRyiYKM+PGF#_qqELE3y|-hQiKlgy6;b!_bLFm3O{F9KSXV!AN*$PLj@|o(K4TJ; z9fS5WGjZ2P`I&de%7Xu)xeG`7P5W;2KmUH8*EZ$bs?>9>j}Hn0+>FI@#>zX3mh^qY zqeI*hT2TFcmlj9^pK@1=Us_$P*6Yl_dKg+?MKSL}tNM@J9K6$tw_9YF5aCnDSgZY8 zaSh4F)1yn!UC#p6`O#bI5y|pfIa5hyYvys2PkO71FahQy3KyU&EANSZ+~B zZ><&7X(yp|_$Cu?Cktme6X%&mHl~csXa$SF0T;4KliCT%x1;=rh0G>(2_d9*W;;uT zc_x6+W@#1F`h4Tv>M=`3@lWr7tAhTY6TAB1b1~r+WvQXM3P=yrm#%kDv|R}tl#>*# zUz@n!qiU7dJ znb(!vp|7&cFzp5sWCE)H@s>yrkq}q#sAA_9h2Vp-o{}6k|91U-nq1TbaU9zAtA2Yr z1~U0=Tmh=AK|DOi{3k^rgl|L^)b#W3j+?V>FccQHKIJ_^qmQY(B8gcwIn7QgsiGpU zc1Xnj4f3jk1}3o#%+>CYU_L)0$dounAp0@wOioJOOM~@ zu?4lIIM8+udoy(NYn>T#ul$!yAEV=91>(D#KDmQs8{1P?%E_Ph${1H>>nq}}c!s_SUAakN9niYljjDTn5%N|22KFwO z%YU9q50db0GJuv<&n&Fh4gy4U4;#_h=JC?btVpT=`2K=DG)biaE2 z+#snnw=d>V>D5TJlP7a>o6Dou)d+K&*rul7h!&|O+!y`e#+pyll3tMSARd^^oE z=|z2XOln^vP81g^Gq0>gXT!2D34QbBQ5?v@iex5lgI3wy_U9mHi4&+X<=2CL^$ zD8U4u{xT^~7YpmGk%0Rtm1=8`}^H73H$ z&@UKsotBwj;O$QHdg{YTae|X>PG&3HZjg-KoktOI*TmpYhO`Tzud1j zv1)Yrp2#gNw~Tvo>@n9o5ytlq0=<&YVw@NIm2;&Czh$HBt0s@|YaUNOcEJu>Pw{V} zQeJsHU!#cX(wQwg4bJjH>~4LQHxLTIz=}!$9cov+NBOd@GPQ0-l^3u)FipLI03T31 zGLSN$wYTLq5KjQ;Gjz{!;Lr?02%6!s1JYnOj)h3X^LzrGpr3?m=V7yyHyMbxC|(c& zV1}p>SE1!KprcTeUlG_(u_)0krSw$+*?@mP5Po3KcJ)pS0YyaueG<*05YbYn>HcSV z(5618VEL**qG_fbOokT@kt!i*##@L=8X4Wb({z=xwE^m_M`$eNB)nd3=W amE7M( + @@ -349,9 +350,6 @@ - - - diff --git a/SIL.Media.Tests/packages.config b/SIL.Media.Tests/packages.config index f1e7c4786..81d274ae4 100644 --- a/SIL.Media.Tests/packages.config +++ b/SIL.Media.Tests/packages.config @@ -2,4 +2,5 @@ + \ No newline at end of file diff --git a/SIL.Media/AudioIrrKlangSession.cs b/SIL.Media/AudioIrrKlangSession.cs index a70ed3dbb..e747c7628 100644 --- a/SIL.Media/AudioIrrKlangSession.cs +++ b/SIL.Media/AudioIrrKlangSession.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2015-2017 SIL International +// Copyright (c) 2015-2017 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) #if !MONO @@ -6,45 +6,47 @@ using System.ComponentModel; using System.Diagnostics; using System.IO; -using System.Media; +using System.Threading; +using System.Threading.Tasks; using IrrKlang; +using NAudio.Wave; +using SIL.Code; +using IAudioRecorder = IrrKlang.IAudioRecorder; namespace SIL.Media { + /// + /// A Windows implementation of an ISimpleAudioSession. + /// Uses IrrKlang for recording and NAudio for playback. + /// + /// This class should really be named WindowsAudioSession, and be internal. public class AudioIrrKlangSession : ISimpleAudioSession, ISimpleAudioWithEvents { private readonly IAudioRecorder _recorder; private readonly ISoundEngine _engine = new ISoundEngine(); - private ISound _sound; private bool _thinkWeAreRecording; private DateTime _startRecordingTime; private DateTime _stopRecordingTime; private readonly string _path; private readonly SoundFile _soundFile; - //private readonly ISoundStopEventReceiver _irrklangEventProxy; - + private WaveOutEvent _outputDevice; + private AudioFileReader _audioFile; /// /// Will be raised when playing is over /// public event EventHandler PlaybackStopped; - + /// + /// Constructor for an AudioSession using the IrrKlang library + /// public AudioIrrKlangSession(string filePath) { + Guard.AgainstNull(filePath, "filePath"); _soundFile = new SoundFile(filePath); _engine.AddFileFactory(_soundFile); _recorder = new IAudioRecorder(_engine); _path = filePath; - //_irrklangEventProxy = new ProxyForIrrklangEvents(this); - } - - public void Test() - { - var engine = new ISoundEngine(); - var recorder = new IAudioRecorder(engine); - var data = recorder.RecordedAudioData; //throws exception. Should set data to null. } - public string FilePath { get { return _path; } @@ -59,7 +61,6 @@ public void StartRecording() _recorder.ClearRecordedAudioDataBuffer(); _recorder.StartRecordingBufferedAudio(22000, SampleFormat.Signed16Bit, 1); - //_recorder.StartRecordingBufferedAudio(); _startRecordingTime = DateTime.Now; } @@ -111,8 +112,31 @@ public bool CanPlay get { return !IsPlaying && !IsRecording && File.Exists(_path); } } - SoundPlayer _player = new SoundPlayer(); + private void OnPlaybackStopped(object sender, StoppedEventArgs args) + { + lock (_path) + { + if (_outputDevice != null) + { + _outputDevice.Dispose(); + _outputDevice = null; + if (_audioFile != null) + { + _audioFile.Dispose(); + _audioFile = null; + } + } + } + IsPlaying = false; + PlaybackStopped?.Invoke(sender, args); + } + /// + /// The current version of Play uses NAudio for playback. IrrKlang had issues with playback. + /// In the future it may be best to try the latest version of IrrKlang and see if true safe + /// cross-platform recording and playback can be accomplished now. This would eliminate the need for + /// the AlsaAudio classes on linux. + /// public void Play() { if (IsRecording) @@ -122,25 +146,26 @@ public void Play() if (new FileInfo(FilePath).Length == 0) throw new FileLoadException("Trying to play empty file"); - // Current version doesn't use IrrKlang for playback. - // Recently we've had all kinds of problems with IrrKlang playback, - // mainly connected with the sound completed event. - // One version crashed if a sound completed event happened and the handler - // wasn't in the right AppDomain (breaking many unit tests) - // Another version crahsed at the end of the sound, even in a real app. - // The current version, according to my tests, never generates the sound completed event. - // So, just use the built-in system sound player. - _player.Stop(); - _player.SoundLocation = FilePath; var worker = new BackgroundWorker(); IsPlaying = true; worker.DoWork += (sender, args) => { try { - _player.PlaySync(); - IsPlaying = false; // BEFORE we raise the event! State should be valid while handling it. - PlaybackStopped?.Invoke(this, new EventArgs()); + lock (_path) + { + if (_outputDevice == null) + { + _outputDevice = new WaveOutEvent(); + _outputDevice.PlaybackStopped += OnPlaybackStopped; + } + if (_audioFile == null) + { + _audioFile = new AudioFileReader(FilePath); + _outputDevice.Init(_audioFile); + } + _outputDevice.Play(); + } } catch (Exception e) { @@ -148,43 +173,14 @@ public void Play() // We don't want to be permanently in the playing state. IsPlaying = false; // And, in case something critical is waiting for this... - PlaybackStopped?.Invoke(this, new EventArgs()); + OnPlaybackStopped(this, new StoppedEventArgs(e)); // Maybe the system has another way of playing it that works? e.g., most default players will handle mp3. // But it seems risky...maybe we will be trying to play another sound or do some recording? // Decided not to do this for now. - // Process.Start(FilePath); // The main thread has gone on with other work, don't have any current way to report the exception. } }; worker.RunWorkerAsync(); - - //if (_sound != null) - //{ - // try - // { - // _engine.RemoveAllSoundSources(); // Stops sounds currently playing - // } - // catch (Exception) - // { - // // The most likely exception is that the sound has finished playing - // } - // _engine.StopAllSounds(); // Stops sounds after playing - // _sound.Dispose(); - // _sound = null; - //} - - //if (!File.Exists(_path)) - // throw new FileNotFoundException("Could not find sound file", _path); - - //_sound = _engine.Play2D(_path); - //if (_sound != null) - //{ - // _sound.setSoundStopEventReceiver(_irrklangEventProxy, _engine); - // return; - //} - //if (new FileInfo(_path).Length == 0) throw new Exception("Empty File"); - //// if BytesPerSecond is 0 or _sound is null, it's probably a format we don't recognize. See if the OS knows how to play it. - //Process.Start(_path); } private class SoundFile : IFileFactory @@ -197,7 +193,6 @@ public SoundFile(string filePath) _soundFiledPath = filePath; } - // myFile doesn't retain unicode characters so we capture it when the object is created public Stream openFile(string dummy) { CloseFile(); @@ -208,41 +203,11 @@ public Stream openFile(string dummy) public void CloseFile() { - if (_soundFileStream != null) _soundFileStream.Close(); + _soundFileStream?.Close(); _soundFileStream = null; } } - /// - /// This is better than putting the ISoundStopEventReceiver on our class, because doing *that* - /// requires clients then to reference the irrklang assembly, where it is defined. - /// And this is just a private mater, since we expose the event through a normal .net event handler - /// (This class was needed for the old IrrKlang playback.) - /// - //private class ProxyForIrrklangEvents : ISoundStopEventReceiver - //{ - // private readonly AudioIrrKlangSession _session; - - // public ProxyForIrrklangEvents(AudioIrrKlangSession session) - // { - // _session = session; - // } - - // public void OnSoundStopped(ISound sound, StopEventCause reason, object userData) - // { - // _session.OnSoundStopped(sound, reason, userData); - // } - //} - - //private void OnSoundStopped(ISound sound, StopEventCause reason, object userData) - //{ - // // If we reinstate the old IrrKlang player, we may need to do something about disposing of _soundFile. - // // or possibly _sound. - // // Previously it called Dispose(), which is wrong; the session isn't necessarily done with - // // after playing one sound. - // PlaybackStopped?.Invoke(this, EventArgs.Empty); - //} - public void SaveAsWav(string path) { @@ -300,10 +265,10 @@ public void SaveAsWav(string path) public void StopPlaying() { - if (_sound != null && !_sound.Finished) - _sound.Stop(); if (IsPlaying) - _player.Stop(); + { + OnPlaybackStopped(this, new StoppedEventArgs()); + } try { _engine.RemoveAllSoundSources(); @@ -312,32 +277,13 @@ public void StopPlaying() { // We'll just ignore any errors on stopping the sounds (they probably aren't playing). } - _engine.StopAllSounds(); - if (_sound != null) - _sound.Dispose(); - _sound = null; } public void Dispose() { _recorder.Dispose(); - if (_sound != null) - _sound.Dispose(); - _sound = null; _soundFile.CloseFile(); } } } - -/* - * from forum: - * - * I'm currently making a childs game where I need to play pianosounds(multi voice). Thought I'd use IrrKlang. Worked just fine for a start. Then I discovered that the audio stopped working after running the app for about 40-50 seconds in idle mode. - * - * Solved it! - -I use an option on the constructor of the soundEngine(SoundOutputDriver.WinMM); - -And I set "nostreaming" and "preload" true - now it works like a charm! - */ #endif diff --git a/SIL.Media/ShortSoundFieldControl.cs b/SIL.Media/ShortSoundFieldControl.cs index 0c45de883..764d9c7c4 100644 --- a/SIL.Media/ShortSoundFieldControl.cs +++ b/SIL.Media/ShortSoundFieldControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2015 SIL International +// Copyright (c) 2015 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; using System.Diagnostics; @@ -157,6 +157,7 @@ private void OnDeleteClick(object sender, EventArgs e) { if(File.Exists(_path)) { + _recorder.StopPlaying(); File.Delete(_path); UpdateScreen(); if (SoundDeleted != null) From e94d7338727e0035e9a299b4e1fac4cb511a0ce1 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Thu, 7 Mar 2019 10:24:37 -0600 Subject: [PATCH 30/49] Fix recently introduced bug that duplicated collations (#801) * Fix bug where collations that we handle weren't removed from the existing ldml * Enhance test coverage --- .../GlobalWritingSystemRepositoryTests.cs | 20 ++++++++- .../LdmlDataMapperTests.cs | 43 ++++++++++++++++++- SIL.WritingSystems/LdmlDataMapper.cs | 17 ++++++++ 3 files changed, 77 insertions(+), 3 deletions(-) diff --git a/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs b/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs index 11e4e0b39..4a863a192 100644 --- a/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs +++ b/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using System.Threading; @@ -133,6 +133,24 @@ public void Save_UpdatedWritingSystem_UpdatesLdmlFile() } } + [Test] + public void Save_ChangingIcuSort_DoesNotDuplicateInLdmlFile() + { + using (var e = new TemporaryFolder("GlobalWritingSystemRepositoryTests")) + { + var repo = new GlobalWritingSystemRepository(e.Path); + var ws = new WritingSystemDefinition("en-US"); + ws.Collations.Add(new IcuRulesCollationDefinition("standard") { IcuRules = "&b < a" }); + repo.Set(ws); + repo.Save(); + // ensure that last modified timestamp changes + Thread.Sleep(1000); + ws.WindowsLcid = "test"; + repo.Save(); + AssertThatXmlIn.File(repo.GetFilePathFromLanguageTag("en-US")).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + } + [Test] public void Get_LdmlAddedByAnotherRepo_ReturnsDefinition() { diff --git a/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs b/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs index 0a5030dcc..40b28682d 100644 --- a/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs +++ b/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs @@ -149,9 +149,9 @@ public void ExistingUnusedLdml_Write_PreservesData() public void ExistingLdml_UnknownCollation_Write_PreservesData() { var ldmlwithcollation = - @"" + + @"" + @"" + - @""; + @""; var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); var sw = new StringWriter(); var ws = new WritingSystemDefinition("en"); @@ -795,11 +795,50 @@ public void Roundtrip_LdmlIcuCollationWithImports() var wsFromLdml = new WritingSystemDefinition(); ldmlAdaptor.Read(environment.FilePath("test.ldml"), wsFromLdml); + Assert.That(wsFromLdml.Collations.Count, Is.EqualTo(1)); Assert.That(wsFromLdml.Collations.First(), Is.ValueEqualTo(cd)); Assert.That(wsFromLdml.DefaultCollation, Is.ValueEqualTo(cd)); } } + [Test] + public void Roundtrip_LdmlMultipleIcuCollations() + { + using (var environment = new TestEnvironment()) + { + var cd = new IcuRulesCollationDefinition("standard") + { + CollationRules = "&B c is SystemCollationDefinition)) { @@ -1298,6 +1299,22 @@ private void RemoveSpecialSilCollations(XElement collationsElem) collationsElem.Elements("collation").Where(ce => ce.NonAltElements("special").Any(se => se.Name.NamespaceName == Sil && se.Name != Sil + "reordered")).Remove(); } + private void RemoveIcuCollations(XElement collationsElem) + { + // Remove any of the icu collations - we handle those and will write them back out + // e.g. + // + // <-- removes this element + // + // + // <-- also removes this element (I don't know what makes these but I saw it in testing. Real data is weird.) + // <-- does not remove this element + // + // + // + collationsElem.Elements("collation").Where(ce => ce.Attribute("type") != null && (!ce.HasElements || ce.Elements("cr").Any())).Remove(); + } + private void WriteCollationElement(XElement collationsElem, CollationDefinition collation) { Debug.Assert(collationsElem != null); From 165690cc98fad3f3a42047bba2e3653b60817a0e Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 19 Feb 2019 12:40:12 +0100 Subject: [PATCH 31/49] Cleanup Remove obsolete files and adjust msbuild file and solution. --- GlobalAssemblyInfo.cs | 13 - GlobalAssemblyInfo.props | 14 - NuGet.config | 6 - Palaso.sln | 2517 ------------------ README.Linux.txt | 18 - build/Palaso.proj | 124 +- build/buildupdate.mono.sh | 112 - build/buildupdate.win.sh | 114 - build/readme - making buildUpdate script.txt | 13 - changes.txt | 7 - environ | 2 +- lib/Debug/FileDlgExtenders.dll | Bin 41472 -> 0 bytes lib/Debug/LiftIO.dll | Bin 147968 -> 0 bytes lib/Release/FileDlgExtenders.dll | Bin 41472 -> 0 bytes lib/Release/LiftIO.dll | Bin 147968 -> 0 bytes lib/Release/icu.net readme.txt | 4 - 16 files changed, 28 insertions(+), 2916 deletions(-) delete mode 100644 GlobalAssemblyInfo.cs delete mode 100644 GlobalAssemblyInfo.props delete mode 100644 NuGet.config delete mode 100644 README.Linux.txt delete mode 100755 build/buildupdate.mono.sh delete mode 100755 build/buildupdate.win.sh delete mode 100644 build/readme - making buildUpdate script.txt delete mode 100644 changes.txt delete mode 100644 lib/Debug/FileDlgExtenders.dll delete mode 100644 lib/Debug/LiftIO.dll delete mode 100644 lib/Release/FileDlgExtenders.dll delete mode 100644 lib/Release/LiftIO.dll delete mode 100644 lib/Release/icu.net readme.txt diff --git a/GlobalAssemblyInfo.cs b/GlobalAssemblyInfo.cs deleted file mode 100644 index 339f17d63..000000000 --- a/GlobalAssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Reflection; - -// 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: AssemblyCompany("SIL")] -[assembly: AssemblyProduct("Palaso Library")] -[assembly: AssemblyCopyright("Copyright © 2018 SIL International")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyFileVersion("6.0.0.0")] -[assembly: AssemblyVersion("6.0.0.0")] diff --git a/GlobalAssemblyInfo.props b/GlobalAssemblyInfo.props deleted file mode 100644 index d4afeb574..000000000 --- a/GlobalAssemblyInfo.props +++ /dev/null @@ -1,14 +0,0 @@ - - - 6.0.0 - 6.0.0.0 - 6.0.0.0 - SIL - SIL - Palaso Library - Copyright © 2018 SIL International - https://github.com/sillsdev/libpalaso/blob/master/LICENSE - https://github.com/sillsdev/libpalaso - https://github.com/sillsdev/libpalaso.git - - \ No newline at end of file diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index 057c20924..000000000 --- a/NuGet.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Palaso.sln b/Palaso.sln index d4fa32c99..e8b39b398 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -109,7 +109,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .gitignore = .gitignore CHANGELOG.md = CHANGELOG.md GitVersion.yml = GitVersion.yml - NuGet.config = NuGet.config EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" @@ -117,2693 +116,177 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - DebugMono|Any CPU = DebugMono|Any CPU - DebugMono|Mixed Platforms = DebugMono|Mixed Platforms - DebugMono|x64 = DebugMono|x64 - DebugMono|x86 = DebugMono|x86 - DebugMonoStrongName|Any CPU = DebugMonoStrongName|Any CPU - DebugMonoStrongName|Mixed Platforms = DebugMonoStrongName|Mixed Platforms - DebugMonoStrongName|x64 = DebugMonoStrongName|x64 - DebugMonoStrongName|x86 = DebugMonoStrongName|x86 - DebugStrongName|Any CPU = DebugStrongName|Any CPU - DebugStrongName|Mixed Platforms = DebugStrongName|Mixed Platforms - DebugStrongName|x64 = DebugStrongName|x64 - DebugStrongName|x86 = DebugStrongName|x86 Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|x64 = Release|x64 - Release|x86 = Release|x86 - ReleaseMono|Any CPU = ReleaseMono|Any CPU - ReleaseMono|Mixed Platforms = ReleaseMono|Mixed Platforms - ReleaseMono|x64 = ReleaseMono|x64 - ReleaseMono|x86 = ReleaseMono|x86 - ReleaseMonoStrongName|Any CPU = ReleaseMonoStrongName|Any CPU - ReleaseMonoStrongName|Mixed Platforms = ReleaseMonoStrongName|Mixed Platforms - ReleaseMonoStrongName|x64 = ReleaseMonoStrongName|x64 - ReleaseMonoStrongName|x86 = ReleaseMonoStrongName|x86 - ReleaseStrongName|Any CPU = ReleaseStrongName|Any CPU - ReleaseStrongName|Mixed Platforms = ReleaseStrongName|Mixed Platforms - ReleaseStrongName|x64 = ReleaseStrongName|x64 - ReleaseStrongName|x86 = ReleaseStrongName|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.Build.0 = Debug|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Any CPU.ActiveCfg = Release|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Any CPU.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.Build.0 = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Any CPU.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x64.ActiveCfg = Debug|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x64.Build.0 = Debug|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x86.ActiveCfg = Debug|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x86.Build.0 = Debug|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x64.Build.0 = DebugMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x86.Build.0 = DebugMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Any CPU.ActiveCfg = Release|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Any CPU.Build.0 = Release|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x64.ActiveCfg = Release|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x64.Build.0 = Release|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x86.ActiveCfg = Release|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x86.Build.0 = Release|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.Build.0 = Debug|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Any CPU.ActiveCfg = Release|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Any CPU.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.Build.0 = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Any CPU.ActiveCfg = Release|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Any CPU.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.Build.0 = Debug|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Any CPU.ActiveCfg = Release|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Any CPU.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x86.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.Build.0 = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Any CPU.ActiveCfg = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Any CPU.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x86.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x64.ActiveCfg = Debug|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x64.Build.0 = Debug|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x86.ActiveCfg = Debug|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x86.Build.0 = Debug|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x64.Build.0 = DebugMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x86.Build.0 = DebugMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Any CPU.ActiveCfg = Release|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Any CPU.Build.0 = Release|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x64.ActiveCfg = Release|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x64.Build.0 = Release|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x86.ActiveCfg = Release|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x86.Build.0 = Release|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.Build.0 = Debug|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Any CPU.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x64.ActiveCfg = Debug|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x64.Build.0 = Debug|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x86.ActiveCfg = Debug|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x86.Build.0 = Debug|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x64.Build.0 = DebugMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x86.Build.0 = DebugMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Any CPU.ActiveCfg = Release|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Any CPU.Build.0 = Release|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x64.ActiveCfg = Release|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x64.Build.0 = Release|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x86.ActiveCfg = Release|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x86.Build.0 = Release|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x64.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x86.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x86.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x64.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x86.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.Build.0 = Debug|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Any CPU.ActiveCfg = Release|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Any CPU.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x64.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x64.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x86.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x86.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x64.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x86.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x64.ActiveCfg = Debug|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x64.Build.0 = Debug|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x86.ActiveCfg = Debug|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x86.Build.0 = Debug|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|x64.Build.0 = DebugMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Any CPU.ActiveCfg = Release|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Any CPU.Build.0 = Release|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x64.ActiveCfg = Release|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x64.Build.0 = Release|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x86.ActiveCfg = Release|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x86.Build.0 = Release|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Any CPU.Build.0 = Debug|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x64.ActiveCfg = Debug|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x64.Build.0 = Debug|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x86.ActiveCfg = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x86.Build.0 = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x64.Build.0 = DebugMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x86.Build.0 = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Any CPU.ActiveCfg = Release|Any CPU {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Any CPU.Build.0 = Release|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Mixed Platforms.Build.0 = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x64.ActiveCfg = Release|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x64.Build.0 = Release|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x86.ActiveCfg = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x86.Build.0 = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.Build.0 = Debug|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Any CPU.ActiveCfg = Release|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Any CPU.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.Build.0 = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Any CPU.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x64.ActiveCfg = Debug|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x64.Build.0 = Debug|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x86.ActiveCfg = Debug|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x86.Build.0 = Debug|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x64.Build.0 = DebugMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x86.Build.0 = DebugMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Any CPU.Build.0 = Release|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x64.ActiveCfg = Release|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x64.Build.0 = Release|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x86.ActiveCfg = Release|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x86.Build.0 = Release|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Any CPU.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.Build.0 = Debug|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Any CPU.ActiveCfg = Release|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Any CPU.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.Build.0 = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Any CPU.ActiveCfg = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Any CPU.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x64.ActiveCfg = Debug|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x64.Build.0 = Debug|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x86.ActiveCfg = Debug|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x86.Build.0 = Debug|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x64.Build.0 = DebugMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x86.Build.0 = DebugMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Any CPU.ActiveCfg = Release|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Any CPU.Build.0 = Release|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x64.ActiveCfg = Release|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x64.Build.0 = Release|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x86.ActiveCfg = Release|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x86.Build.0 = Release|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.Build.0 = Debug|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Any CPU.ActiveCfg = Release|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Any CPU.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.Build.0 = Debug|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Any CPU.ActiveCfg = Release|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Any CPU.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x64.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x64.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x86.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x86.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x64.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x86.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Any CPU.ActiveCfg = Release|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Any CPU.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x64.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x64.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x86.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x86.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x64.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x86.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x64.ActiveCfg = Debug|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x64.Build.0 = Debug|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x86.ActiveCfg = Debug|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x86.Build.0 = Debug|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x64.Build.0 = DebugMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x86.Build.0 = DebugMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Any CPU.ActiveCfg = Release|Any CPU {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Any CPU.Build.0 = Release|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x64.ActiveCfg = Release|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x64.Build.0 = Release|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x86.ActiveCfg = Release|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x86.Build.0 = Release|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.Build.0 = Debug|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Any CPU.ActiveCfg = Release|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Any CPU.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x64.ActiveCfg = Debug|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x64.Build.0 = Debug|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x86.ActiveCfg = Debug|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x86.Build.0 = Debug|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x64.Build.0 = DebugMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x86.Build.0 = DebugMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Any CPU.Build.0 = Release|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x64.ActiveCfg = Release|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x64.Build.0 = Release|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x86.ActiveCfg = Release|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x86.Build.0 = Release|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x64.ActiveCfg = Debug|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x64.Build.0 = Debug|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x86.ActiveCfg = Debug|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x86.Build.0 = Debug|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x64.Build.0 = DebugMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x86.Build.0 = DebugMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Any CPU.ActiveCfg = Release|Any CPU {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Any CPU.Build.0 = Release|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x64.ActiveCfg = Release|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x64.Build.0 = Release|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x86.ActiveCfg = Release|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x86.Build.0 = Release|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.Build.0 = Debug|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Any CPU.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.Build.0 = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Any CPU.ActiveCfg = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Any CPU.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x64.ActiveCfg = Debug|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x64.Build.0 = Debug|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x86.ActiveCfg = Debug|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x86.Build.0 = Debug|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x64.Build.0 = DebugMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x86.Build.0 = DebugMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Any CPU.ActiveCfg = Release|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Any CPU.Build.0 = Release|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x64.ActiveCfg = Release|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x64.Build.0 = Release|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x86.ActiveCfg = Release|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x86.Build.0 = Release|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x64.ActiveCfg = Debug|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x64.Build.0 = Debug|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x86.ActiveCfg = Debug|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x86.Build.0 = Debug|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|x64.Build.0 = DebugMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Any CPU.ActiveCfg = Release|Any CPU {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Any CPU.Build.0 = Release|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x64.ActiveCfg = Release|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x64.Build.0 = Release|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x86.ActiveCfg = Release|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x86.Build.0 = Release|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x64.ActiveCfg = Debug|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x64.Build.0 = Debug|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x86.ActiveCfg = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x86.Build.0 = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x64.Build.0 = DebugMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x86.Build.0 = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Any CPU.ActiveCfg = Release|Any CPU {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Any CPU.Build.0 = Release|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Mixed Platforms.Build.0 = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x64.ActiveCfg = Release|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x64.Build.0 = Release|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x86.ActiveCfg = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x86.Build.0 = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x64.ActiveCfg = Debug|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x64.Build.0 = Debug|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x86.ActiveCfg = Debug|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x86.Build.0 = Debug|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x64.Build.0 = DebugMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x86.Build.0 = DebugMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Any CPU.Build.0 = Release|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x64.ActiveCfg = Release|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x64.Build.0 = Release|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x86.ActiveCfg = Release|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x86.Build.0 = Release|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x86.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.Build.0 = Debug|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Any CPU.ActiveCfg = Release|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Any CPU.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x86.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x64.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x64.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x86.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x86.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x64.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x86.Build.0 = Debug|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Any CPU.ActiveCfg = Release|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Any CPU.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x64.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x64.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x86.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x86.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x64.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|x64.ActiveCfg = Debug|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|x86.ActiveCfg = Debug|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|x86.Build.0 = DebugMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Any CPU.ActiveCfg = Release|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Any CPU.Build.0 = Release|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|x64.ActiveCfg = Release|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|x86.ActiveCfg = Release|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x86.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.Build.0 = Debug|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Any CPU.ActiveCfg = Release|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Any CPU.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x86.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x64.ActiveCfg = Debug|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x64.Build.0 = Debug|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x86.ActiveCfg = Debug|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x86.Build.0 = Debug|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x64.Build.0 = DebugMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x86.Build.0 = DebugMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Any CPU.Build.0 = Release|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x64.ActiveCfg = Release|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x64.Build.0 = Release|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x86.ActiveCfg = Release|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x86.Build.0 = Release|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|x64.ActiveCfg = Debug|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|x86.ActiveCfg = Debug|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|x86.Build.0 = Debug|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x64.Build.0 = DebugMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x86.Build.0 = DebugMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Any CPU.ActiveCfg = Release|Any CPU {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Any CPU.Build.0 = Release|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|x64.ActiveCfg = Release|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|x86.ActiveCfg = Release|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|x86.Build.0 = Release|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Any CPU.Build.0 = Debug|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|x64.ActiveCfg = Debug|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|x86.ActiveCfg = Debug|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|x86.Build.0 = Debug|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x64.Build.0 = DebugMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x86.Build.0 = DebugMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Any CPU.ActiveCfg = Release|Any CPU {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Any CPU.Build.0 = Release|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|x64.ActiveCfg = Release|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|x86.ActiveCfg = Release|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|x86.Build.0 = Release|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Any CPU.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x64.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x64.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x86.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x86.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x64.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x86.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.Build.0 = Debug|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Any CPU.ActiveCfg = Release|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Any CPU.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x64.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x64.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x86.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x86.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x64.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x86.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x64.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x64.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x86.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x86.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x64.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x86.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.Build.0 = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Any CPU.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x64.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x64.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x86.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x86.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x64.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x86.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.Build.0 = Release|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x64.ActiveCfg = Debug|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x64.Build.0 = Debug|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x86.ActiveCfg = Debug|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x86.Build.0 = Debug|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x64.Build.0 = DebugMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x86.Build.0 = DebugMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.Build.0 = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x64.ActiveCfg = Release|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x64.Build.0 = Release|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x86.ActiveCfg = Release|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x86.Build.0 = Release|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/README.Linux.txt b/README.Linux.txt deleted file mode 100644 index 8f5556be4..000000000 --- a/README.Linux.txt +++ /dev/null @@ -1,18 +0,0 @@ -External Dependencies ---------------------- -The palaso library has dependencies on external packages as follows: - - -- libicu42 (or libicu44 or libicu48 depending which is the default in the distribution) - * For the ICU collation library - -- libicu-cil - * For the C# bindings to the ICU library - -API Policy ---------------------- -The palaso library is still under active development the current deprecation policy is: - -- public API's that become deprecated will be marked as obsolete, with an explanation in the default branch. -- The API and its obsolete tag will remain through the beta. -- The API will be removed when the library moves to stable. diff --git a/build/Palaso.proj b/build/Palaso.proj index df500581c..b70be6f02 100644 --- a/build/Palaso.proj +++ b/build/Palaso.proj @@ -1,66 +1,43 @@ - + $(MSBuildProjectDirectory)/.. $(teamcity_build_checkoutDir) - 1 - - 6.0.0 - - - - - - - - - - c:\builddownloads Palaso.sln $(RootDir)/$(Solution) - PalasoLibrary - libpalaso - ReleaseMonoStrongName - ReleaseStrongName + Release KnownMonoIssue, - SkipOnTeamCity,$(ExtraExcludeCategories) + SkipOnTeamCity,$(ExtraExcludeCategories) true false - Any CPU - Mixed Platforms + Any CPU + true + false - - - - - - - - - - - - + - - - - - + - + + + + - - $(RootDir)/output/$(Configuration) - - - + + + + + + - + + @@ -95,7 +75,7 @@ $(RootDir)/packages/NUnit.Runners.Net4.$(NUnitVersion) - + @@ -115,59 +95,9 @@ Condition="'$(teamcity_version)' != '' and '$(OS)'!='Windows_NT'"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/buildupdate.mono.sh b/build/buildupdate.mono.sh deleted file mode 100755 index 4124ca800..000000000 --- a/build/buildupdate.mono.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=Libpalaso_PalasoLinux64masterContinuous -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl "$1" "$2" -elif [ "$where_wget" != "" ] -then -copy_wget "$1" "$2" -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z "$2" -o "$2" "$1" -else -curl -# -L -o "$2" "$1" -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N "$1" -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: palaso-linux64-master Continuous (Libpalaso_PalasoLinux64masterContinuous) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=Libpalaso_PalasoLinux64masterContinuous -# VCS: https://github.com/sillsdev/libpalaso.git [master] -# dependencies: -# [0] build: L10NSharp master Mono continuous (L10NSharp_L10NSharpMasterMonoContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterMonoContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/ReleaseMono"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [1] build: L10NSharp master Mono continuous (L10NSharp_L10NSharpMasterMonoContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterMonoContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/DebugMono"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [2] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/ReleaseMono"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] -# [3] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/DebugMono"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] - -# make sure output directories exist -mkdir -p ../lib/DebugMono -mkdir -p ../lib/ReleaseMono - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterMonoContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/ReleaseMono/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterMonoContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/DebugMono/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/ReleaseMono/taglib-sharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/DebugMono/taglib-sharp.dll -# End of script diff --git a/build/buildupdate.win.sh b/build/buildupdate.win.sh deleted file mode 100755 index 20a0433b9..000000000 --- a/build/buildupdate.win.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=Libpalaso_PalasoWin32masterNostrongnameContinuous -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl "$1" "$2" -elif [ "$where_wget" != "" ] -then -copy_wget "$1" "$2" -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z "$2" -o "$2" "$1" -else -curl -# -L -o "$2" "$1" -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N "$1" -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: palaso-win32-master-nostrongname Continuous (Libpalaso_PalasoWin32masterNostrongnameContinuous) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=Libpalaso_PalasoWin32masterNostrongnameContinuous -# VCS: https://github.com/sillsdev/libpalaso.git [master] -# dependencies: -# [0] build: L10NSharp master continuous (L10NSharp_L10NSharpMasterContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/Release", "L10NSharp.pdb"=>"lib/Release"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [1] build: L10NSharp master continuous (L10NSharp_L10NSharpMasterContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/Debug", "L10NSharp.pdb"=>"lib/Debug"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [2] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/Release"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] -# [3] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/Debug"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] - -# make sure output directories exist -mkdir -p ../lib/Debug -mkdir -p ../lib/Release - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/Release/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.pdb ../lib/Release/L10NSharp.pdb -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/Debug/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.pdb ../lib/Debug/L10NSharp.pdb -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/Release/taglib-sharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/Debug/taglib-sharp.dll -# End of script diff --git a/build/readme - making buildUpdate script.txt b/build/readme - making buildUpdate script.txt deleted file mode 100644 index ffbb56c16..000000000 --- a/build/readme - making buildUpdate script.txt +++ /dev/null @@ -1,13 +0,0 @@ -(Re)building buildUpdate.sh requires ruby and https://github.com/chrisvire/BuildUpdate -Here's the command line commands I used: - -cd -\buildupdate.rb -t bt436 -f buildupdate.win.sh -r .. -\buildupdate.rb -t bt324 -f buildupdate.mono.sh -r .. - -Explanation: - -"-t bt436" points at the Windows configuration that tracks this branch -"-t bt324" points at the Linux configuration that tracks this branch -"-f ____" gives what I want the file to be called -"-r .." takes care of moving the context up from build to the root directory \ No newline at end of file diff --git a/changes.txt b/changes.txt deleted file mode 100644 index 7be1d6c91..000000000 --- a/changes.txt +++ /dev/null @@ -1,7 +0,0 @@ -MediaInfo: Improve bitrate detection (fixes SP-200) -Fixed Writing System control which wasn't storing changes to abbreviation. -Changed IWritingSystemStore.Exists to Contains. Marked Exists as obsolete -Check for proxy url == destination, and proxy bypass in RobustNetworkOperation. -Make RobustNetworkOperation report on its efforts and trap an unexplained situation WS-33921 with bogus proxy. -beta: Added WritingSystemDefinition.ISO back in as obsolete for compatability. -branch: beta diff --git a/environ b/environ index bc2978eb8..6ced6080d 100644 --- a/environ +++ b/environ @@ -2,7 +2,7 @@ # Environment settings for running programs with the SIL version of mono # Note that this file is intended to be "sourced", not "executed". -[ -z "$MONO_PREFIX" ] && export MONO_PREFIX=/opt/mono4-sil +[ -z "$MONO_PREFIX" ] && export MONO_PREFIX=/opt/mono5-sil export GDK_SHARP=${MONO_PREFIX}/lib/mono/gtk-sharp-2.0 export LD_LIBRARY_PATH=${MONO_PREFIX}/lib:${LD_LIBRARY_PATH} export PKG_CONFIG_PATH=${MONO_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH} diff --git a/lib/Debug/FileDlgExtenders.dll b/lib/Debug/FileDlgExtenders.dll deleted file mode 100644 index 0a965ddb068fe5b237c0d8d7cf469762ed3c3ffe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41472 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 W@T~`U7loO=e>KDUw}Jd{6!?EH&*5hP diff --git a/lib/Release/FileDlgExtenders.dll b/lib/Release/FileDlgExtenders.dll deleted file mode 100644 index 0a965ddb068fe5b237c0d8d7cf469762ed3c3ffe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41472 zcmeHwdwf*Y_3u7s&YU?jd60xxK#)NYhLFUBfPf%ok_=>Ik_pKKh=s;UG9-~nCe9=R zLNKUBw6x-*)@O^4R%pFdTYrkLs+Ia^(Q4JIty;9U+F$KYZLQju-tSs_pP5PE_v`Q8 z`_H|f&mEZWS!?aJ*IxU*&p!K18qV4$96|^K-_Ji6;t;O%sb>7IVFbbXGakqn_qd;# zc}NRAGc(fDoAM4M6Wz&ZpSLsG-=7%tcEr5Np?+^~zqc;j;_XXx#me*YJhPSQrhpJ3 z%^~_vzanI(c2wvyb2Lkc>mf0vbOkx)#rIKs$vZDDy7U_q`%hOPG?o+P5Y=B2qJaNr zu8JiEeBQfHh%gb4;y)F{*w0ZRav|FQy=h~^{wv-q1agr6Sm5i^oDk)Mv8{vP>#hYL zjPr{8WPiLuoL!zwB|9Nx-yQ`)6?G%NS)XbYNO>|APe74;6-V(UTl?|N`cw;1lf^RW zRTWOY>B1>KJza>dZCr{RUJc%E6Jz5ZkKgUkhsqJX%rR-cHaRf^73k27L@ln9tMthw zCzPD1`z8wEDe2$oL~csQ>)Vq$t~v7RL;lPXA;wo2;;TpiwON?j4Oxy$A0|Z?tCwjd z9K9^>gs(tF8zEcsJuFL1f_X=&camp*J_}5TdHpTs!(|Tu76pBOK127O=w!FVrTCkYwjf zkUJ@j#7QiqLQrKFhkfW2X6ej=4#)Gs4^tW@3rQqAkf2b{q@4Nlxr|)bm!4=Q??6D2 z=9`Tm&W{R8oD6|$^7qnE0%KdB+BzdPc<{o@2;>OpJ5@>e7yZ!q$h0=NK}8 zV~h?!CEGF3%d}zQIfe}27?}Vnf7J80aixzwc^FN=(7nC^A%>A{L+AP(M&W}*t$Bt~ z8HS!bghC%ieS$nnBr3*MKt(|ME=f@ZApb<<93m$V&y^RH8gcN3F0f0N`E=P)2K;Oy z?CC0PbW}t4A<(1yR-yDurtVw-5xVFIU#IS@R4iZ5(tV}SEz8w?s1Y*(d!CXBB`4{Q zVKjM)w%xu`UQ5nG0B4$`m701233^Daih?N~6A(~=uz(2&ytaUe{xK<^LU#1+RA41n z!VH(3bZ&xlu2ebcNK}ySSOdrp8K45?WSKy+RIDsu0s<;r7BDf^3`&X2P!+Kf6JwQ- zM^d6HWhExYDlL>sREey_#8{<8Qi-aVm6(8&RLdoQLOF1C%W^1H#1u)1 zjOOd$UN<(SQ)NojiZ~@E#wsnAN@x>OiHWgFOQaIDK(@pL^$kNDM8BYq?(i*zmaOB` zt|19Gu%%y4llo_70FI_kgI;18D^nAMxQ@i=)pB%}5g}fg7B44lm047~sc*;7Y)DL; zj=L3z zNU`oianSrq<-d`0LBqjz8il-3LkM3d!iUjkFfgE;OdhYwmr9MSMl=_ZNQ(=}Tc}ZK zkiHL@@kqVRVCRr~G@_CpJhB>z2FOcJs4&ILNZ*OMLRS3J!(bf=j6)vJgq#WJzwq14 za|axdqm|Nh%hT@svuB*(tB0Bo8TF*j1mw6*5@LUKYBlIw)0#AClI{zErnEfs+h$Dt zSNgiI5t@^v{=6Bd{44#bQ(5(m@m8s6C9r_>xJpe|q6x%nsF*dlmI$qYoSr1U{g4qUOCU4=ss_}9Lp(r%_^5Wm!&;&lCQ2a4laRS=Y zv&e&q`YeV!+%t5u#8F!0NT8vqHt|JJrQ?0=xFpU7q)=j5+7)QJ?u&x=VFEEhV;V3^ zU8xR;<~vhplOCR8bUlU4nZsylhMuS<-RWy^-=kDaCaY-NjcO0FJ#F0*BO%eX%Wl5YUc;^6*503 z>5~)ZAnVj`r=n!3-_jLpc=Trvuko;a7cT0zSn*E8FszxWIKmQrr0{_5>&I134xlW3 z2_n7ob=>3ZLb;^|z|(Tjqferhpr_4E*!CzY)p_YC(Z{`!uK&ZA?Fs#%i-G&*?4E6b4Fu%VWE?U&1DgUE;$e2 z@a;hGbLi8$Zy1zsC*WJe;?`nE0{1@K*8#?xg{F7^KR^GxEdZl}ZZE#0u0+!py_p79 zrk9*RLIFr!0DC!Ta5U*rZ!_iK9W#^ykKHaG>JoDx=V<90up&v_#rHLd(-6AkNiv?c znR~3wO`~jDqikN5v1v)0n9$An=M{p>V5jq05^OALq=$Xgz}RDEXVda|Nsn zqe8J%{vuEofVpVWPIzRn z`3(5ZMr@hdc1n{&d`Q<*hAu}E8YRuLoa7y_mD+`X^D*agz=hBT8vp zUK3FBl(j2{I!$S57K4V5(OdN(xQ~WUv9lXKTbnH9cEe{K)y9d|w+ARqtS9N3pe~5k zPqg$iYq>C8d5->%w#9uz-GfkuN-jjsU|21=J~PiE?*;*rXdK2W0{zG#9H>ClUty-@ zVSwN^Y?=vldXKLM$_}pb92HWe`%o>od=F)rxEQLXGms=@B87?8R8EuYjs%tN zgrcQ3-QEFKrZ$Os79o6>VETde9SA6oxxM>wUG{a7=Rz*Mb;zZe%(cFw4i3xwsTy34 z%q)2waWHbOM4)aBufk=?PoxN`kO-5QvE)98WT_;+gd8XTM&tEvP)l!;%4bSt%yPyO z?z4{JdMOIxGXH!efhs3^t;C-L9*ZdAu^vJbs0KQQ%PFi8VVLPD3`-+p{tECYcj7UW z8}rM-qt1!PI>VTMB6v*n#G{iL^Yg*4mwX#8ljXQti(>K6JT!TDBL!x+A?~#_{qS-= z)3&&0(+mZ<54JF#lb?xVkRFrkl&Zst?*e?6d;=g=bZHV}wArsBA-kS)+IlCYE&-9) z1DJoV44S00cV=m$@JTyMx$a+C{_j{(He@y~MH=$HC95!e=fDe$=+%@_8VpAD|0#$< zGbqXzGwApVmnd-wk%Mxj>3tS8B{^@o3*9q{D;5{Jr&XL-=$^dna}zr56Xdx1Bhq`@U468;NDZlAeIRv1}Ot ziWd^S3AM81QUvNgv=S^6Gh+renPi>HOrp7ZXk6kP6O;HdV7?1e%xX*{n6J|zqt*7> zY9XlQ7CF=$ke!l4wko7Zm0RTCOWSw@0%{u&(4}p>bJBQo(s-9jirUwBPoYPRCDh%i zjV*Zqs8ptsN={LZ?<;Vk(7E1M2!ZdbV8{wJ;mPOtE(dF2I#bC{^I_3t&RLQgVGm(kXb zYwm{#P*F#jQw5@eXxPX$w?~>gW*n-Ta@<7Pj+=-|Ld6)(WhZt5$KHTiI<0_7s^rt0 zAk}JhHnNblS|xV8Rb*|Cp#Lm=9lci3liMdRdlsz96t|>th2yyJXQ9(mXSkXQ{~#$L zQZo$T(t-=$H4N8KQ?X9wfUE*vKTMj1)?P|lIyKpM71zXZI`8QAOhv1TV0mTQIVF*e zXzIUmhaAkRsrADo_}_C!wI8b4<+q?rq*+xtvU_})#Q#<49M_%ym10}sLlO=j>cVc{ zyeM7DTRfA8sVT@l#j877-FmM=8OgSu-QDCO+8&l`5sza?@%A&R*myGL5n10s)ypHF zB5CyU7NspO!RUYj@k49rZYIf-vYq-QUVp2aAEspV#Mcm4x#GJpL(7Sg`zr5++rCv( zBpw-gH-7%S>|2L|!UArjZX{}d3k$~FJbZD+KU3Erp^?*JinBSg0#pgDbLuIl#&8f9 zY(tOJeAh!!O2OPf42PYm%R=GuNNq(UC_$36PlqKFfAo{L)3hY@#%bHha$DOl%TC_j zz(IrvB8v!OnbI8QB3EIRATcd^f@uxGe2E*0W*Kk(Mb&mJYGdp)m53*5_Zu zH4oGEbbch~F)=PuntK;xivZ8xl9&Y_Y{QPQc>6(v1ENvFxgmDG0=IVjUQ zU!^s}ok^_exQVUFNV5{7LF3rOsP`!8bmaoJ*J&)a87$4-O?`r}xK(29wcvskdpUBi`G&I<_s6*c|IWy<_p>=%UU=r&cblS{SQXvUJw5 zi4FA+_V&f>)LUYM=t1dElfRDslg~9RXVz$R2aiuKzUPq>iz*f`KxNTr90%4{2{8+^ z;61n=Iu&%wV6wNrJ4G7tbA%{{?OClY;$kQlKsIYtYp@R2tHD19qqAz_i4Ic62ddh- zGwz+}#?&GHrd45Elv8g5I}hI^6tIdGcjHScsA}#U^dx55C%%fDk0Q87g@+cLb&y7c|XZaej z3R+P@am&j{;%97OyqobaWxpviMQ%CaJjQy)DC7BzUt_$B@#%6(>(}LE?az$bDHL}q zuqoF-!gi z^oR*n1HfbMGkba^^l(+>Oi?Y0~SvnVYA$A2V03xM!FPDeigZrs?fs1SS6) za86MQ&WSvHh;JddLC%p=r;;z#F&{!cg}DlF7UIp;Ul%jQ3dNnmT)pBJF?XhZK5L%F zT%*2=xjN=r^$XeNncxb=dT^FjB-V1+dVM!*b~2X$=RkU%3aZT{xHTjBj)|gDOam5* zI>&9m2FC&52FG_Hzt-`XFwLJjo)K$DUT{1I{1xNdj2|-ojnOnHw1DwM#uCO##^sDF z8P_mIfon#(jj5>aq%jNl5M!>h4D>eVV&KD0Kk!Ls0QiD42z<-g0Q|G_01DAG*MJ^x zP6T~2V;SR8##+V@<2v&h=yaK_&`&a6#JG>~7REcw^$7iuNtT~s$(x`H#b3;*Rwyi2 z6rsO$T>*S7Cm$W;vb+Px@7MFl|6B6N{+)S)`kIk%_+_cA`o_zTA0GJeA7EWA}G3sG(D$fUv_!-AKwjBy!bh_RiqhcU%?A<&L{ zW#Na2dn4lk#zTxhVSIz}Lq@IW!*r~1Ma7P_BU2dXGFAcY9Mu$6Aap%rALA~@s~Nw| z_z>fBjBhc1%$SGeilVtfN6TNrmR?q>Wl<5i5`V7v`z z$GUU;W~8#4@ym=?G5#Bnbf{Dx9G`&B(~Q4l{2k-RjLr!ZI*xHV<2=U2jAt^oGIlWb zGoH_QA>(C?S2Nzo_$|ge8SiC$l<}vGFEhT)_#ccP1MM6+C+>$o`HWK;=K}4#oI3G) z2wlNg&$x!Mjd2rWlJNq@uP|QEc!2R9#vd|1$M`zqJB%MQ8j~oMBF34FWsKE~A;z_g zF~%h0MT}ozypi#{j1MyY6lmw-SCbxs{iBS3VEmNPJ(=Xw7#A?sFs@-di?Nq+C*zfj z`+>IQ?@fLb79L{!G2^q0dOpd2$@K3SKV~$GNnXS_opCN>72^uVAY+8FgK;zCd5m9T zyqfVQ#@iXc&-fVQON?&=?OOhG@rlOT5!V#LX^bU|%NZLPH!}7!Uck7I@fODKG2YMk z6UJXLzRze(CCkN(^B9*hHZgVqZBKqRX)ZLAQwc9-{2I^>JvenfhpLyU(RUt;_<<6jwbXHY5=8K*OrGA?Ia z&A5Rv&N$4thw&=LZ!+G&_yFURj6Y{Q%J?6Qe`oY~Da8{QOBhdQY-HTXIKa4zaUbKY zjQ21;&iD()HyQt(@lTAOG3L(X(qo*(xPb9=##YA7j5`^>!gvGYw;AtYe38Dkw|GvgN-`xtjHUds4&#&0p+!FUhj!;DWb zKFjz9 zwe!jU+Zcbq@<-V6)ANr&{&SYR$&&Y2{}aZ~=Rc27M=AMGz__^7uQhqG(IBo74hQXs zU8}g5<4)|IEu2YVR}?24_aV+8bJvLT91ntfQHF^N5#|!1lUP%H$8i|kR>eK+cnaJV z;JjkDb%`+-Z|!_Xar?o!#p8;50h~v?rnvtAmm~h7xEan$Em!2vl2%RymnY^bZm)Bh zmM^LmcPqGYVgooKb{D^IZp2-A{%qo|vZlJaz)e)#DXt!H(-l{TutG6gac3b6I}FV2 zwgy~%T9K$#+?QNQa3RHA>DsD|7ZJsM(=`lkgW?XkE(Dii?jq|G*VnWOf)11magmj4 zT@UVJr8(2uuT2#6fC^q)%dKyL`M$riJKJHZQTX#+lt#_-K$L&KT_OP)&t<) zQQVyfD;AEErOn3?RxENA_cFq!hzW}OcZ5w5(-rqmgiRGEE3U}>0Jw6+&2`_aogmIs z-028AL9{5Y1!2^=hS zM~Zt1VKc-}6!#v&W(e0DnS#Ufl;#z)6nCQM2)I(kEk)Q&QLnfLgv}Id6cY3XmiVHSs4dNl@e#h||#BS`uQ7M&h*a5}W6x^gYh(mN{2Vw093k%mm z$;AtV9u@`6$@JEUl{j-~k9^HUiV<;*_Xl%tb=lli-iPKMaJ8hvemeJ%i;f17=2hO8 z=05B?JI%c{_ij6$$jj5&UF=Yc00RTanxRJ(yvK#y?KkRYt!6Np5MAr ze38qV>UOtvlju)#d#!JZ%Oq!=RdS`ZU+h<0cgeNj{>j`$)?mput(!&Rax#07wX@__ za5ELR2Vu8}MT)x$VYi5S=AIDWD7ja=RopX*BO7)eZY73$$Ev*VTi;4^y?GB<2h-e8 z-V@fHBIzXo(JcC$EP9A(sV{Ra%R$mIt_=Op=6PXIp z$BT6f$EAAFM7BQ%S@K=RhcQ0u;?RGhL!sDB$B3?rN1)>nKLr}%mykHcX$Ym2COv_C z1#(OL8t4}906pSQz#QSgh@UGy1+58z5l|xDyk$BMsEeX8v_nj1$(%AQv-pEO{t_LU z;VcPR)0L*AX@qr%O<6kRi7xtBF7vpRV_gWeJ$VL%L+pdZP~{-4{b%y8vo*@Q!FhLz zySN#haB>$Ihn z6Y&I;e7ICQqw*IUEtf~b)2)a-w z3sV?h)o5LKo#w83M4PF5t2TJ%=`~end)A1Ssw42BtBUfNsCpcD0ZXo8$t{d`vg9yu zp7dXPzAD#UssFYr=Bd;_sp{5W)p8epO*@y%c`5wah&!!$3pacG`ih0;dV>196|OA1cM9MH{u7#q33o081Bj>wZ1B z==_}P^v*>W<=hRO$Du>(y_?xWrMP5Khkm!X8v561H!r#==Q{0|i|)^PReJ>buWC;Mdj*yJLH!qt9?79v`*BXMpn7>#+gb8B@G9VS`Y#v# zBfX!nb4z=Qe)r~VcGj8uG^`v1vN_@71ZqX6sa9KAlReRHqWF(5b{0>QrJ&^o6jnT&HrY)|Y~=(^mjP zI@LlGTVAi%Lb5@x2cE4r0K4>NV2{2I7}qxd2lOa#P~QaH!I~qib201eVV%9uaf_>A z*)6VxWw*EyKD)(!`0N(9!DqKP0H59B4)}~xh0iEe`0N&k;4?}UKBH9OGfGuY0iV+E zhMgm9^Ev%q&@bu_0$%LFC`VU2?gL)SxS##Mjr~8s{@=m= z-^Jp4#4MNZ{4wt3WX7^%GNcpCVw<5}Q)j>}=~ z1IG)XKXSYR{M7L}@E?x1fWmkOXc+GSE#pIAuJJLj!1z0Gf*}mIC^nqHX@&>rHO2vF zGwox#)S$YkFet5sthvOP0G;K=6ks)Do$)m4E@V(WHW}0}A_nz>^#=9s4F=Wq*#`CQ zE`xe^kFgc{afAB!fN>${L1P+lE7C&SHm(3Y!t}+)HK6w}y%+vq#DH%YG2jVC3}YCf zHyS5_-jBRk;s9&j!Jgb@P;b45{dveZ2+c|ZBV~{mvi)oOFjgu3c zR3^nvvM|j_7Q7rf+j$u@eNGxhOP!}67Ym(K4ojR=p39w-i)tr%Smz|K>Ye0O$Vpx` zvCRluTkj-)HaN+jvz_Em7yHx0{>0gz0Zws{{n^Ut?%;GsINgh#OOW~==jp(`&Klr8 z=PKaUjMq9tpl@`p0q%FM1>WZT0`P$I`$+2!C)M&@&a)x8#~A}2a-IWx$e92>>Kp_f zc5VYc<=hE8;=Bm>oO2KGMdw$5uQ;y+zUKTo@Tl`f;M>ldf$uuM4Sdh}UEl}KyMP}# z{|)%5^8w&LoR0v7c^GJzPXjIUSzxaD01)OHS1N55j0cV>Z0)6Jk zz*6(?K)lTFMERRe;1bgVTyBm7R+|%mb>@{9SI~1Xn(=*fkzF%~cHax~2nXyG{c7Tyue?_}u}NzpE0s z&_yG|64$Aqm%Ek$t6kN=I#&Q#?>ZA0a)p6St_U#VY6Gr!eG$09)d@V?)dTEu^#OZa zNnqTy1vuc^0UUJEDrKu{7w8?X-M|somw^|%_5t^}z6RXux*oXC^-bW_uG@gux()(w zbbSxF-}M9FZLUMW1FnaGces88yvy|@@E+F@;33!Zz=vGF06yya74Wd@DDWxQZ-GZ# z{|_=h97D|`MVr0l)uXYzU#^ZzUL|ee&Cu6{K!S)-lwikGiwth0eftr+la>m1;_ zRs#5*H3Si^*}TEA-%~EG65q}(7he`P0dEj@0x7gy)CxD~S&Z|= z{m`spTqb5f-YEui%CSej4|EI5SBu4?Kdw$QfrY+NaZnySb$J89RMxM`vWRZIw)AO_+z@{IPdUufN zAj_kWe8JtRJ&5_Sm*u@I-vxQE`%khIc$dV`|Z@7C| z(hJG`o?Vc<@4l2nFJ<}7keHs|=;XP>K{$)?B1t=|aQE>%YW!tswz&gwtJnCqMddYiKnyJZ^M z-9*$nUIY+FbLdT<4;dY~lR!_%Jpnj97u!H$LGH=G+FWdTiL-J~0dC4&2;9l|RmPhb zzsL9}x0f8iP;ght_ki~T3$Sw2;T_I*!^Gkq z1Hoe)F%>a1aRN}sZwrnCJsqfv6OkHDy8?CGbB+f+lW`Vo>*6FJPVS1ypl37Afj#U% zGtPrOUHBMFU{4eCf!LXbJq=r9GeDQao+eHK>bQ5E1-g>43RdZt?Fbjbo`#d_gp0*I zNKR#31ACg-4ofS8*{7az>S?D2P8HfC;sXV+wK&nz zoM;WxQS$8B@`gm$P&~Fmtn7`)>f+sjt%I?Cyi}Ab?~2C-bM!({N{07Fy(rYWVR{Q5V}3#d}u7b8yYj z;9#P^WpGzB|4#==!aumaj9UJSQl)p3jG~7!l2Z+K7@ig(FoCz?+GP{2i6%uP);9o2W3(?O8hSgEiBw|KAh}qzKs3j?(N2=v5H8v` zMK{NoNSqf-CVRWOV*SMSwGYT%fjUtgqr9_oFp)&;R9b|BVb8wqqGoO&HXFf2q8B-+*)kJa?{ zOWlT8{}61U9S;n_F385%;Fd&kvpp0ban$6>kbhN6eXuSdxa*TiDp%F%MYOA{{kQ?i zSRV@Y_+c^vdwP6Z#{`YCc1)=4KxQx+|%rGjw z5$!CAcXK~!S1qlsH;L|u}%1*z(T$Kn-NU?vpyCd5bfcCSidYQ z+0oG!;Yd$-wH$9jMpMm0{p5c`iz?Li9(zD<8cd3E?tblP?A^Wn(KzP2`dDvw53FQ~ z*7bG`_K5D-V0$>DCxz&?#|p=2DvM)Om6UW6v$RKbr7ZPP@+|%AzLlk(EzZ&&+cmRdj19_)mF}Qf>S$0dV_@xCwkHorjv32a2fDCEu)DsDlr?}iMKKFzC&2=!H6>#M(PS*$ z0Y{A`nUw<7KDi+W88yMuBDY;il(SvgBR^;6_>o2r>&MrjA+R}i?hq~Xf|Me%fVS0X z&ors56+(LY5q8hVNGC_IEP)!5IJtN?UF2|-&b$g4J@VKF(j$b@8ao6iF?V-GAJd(c zoGv_-DBkXhip_LGCCKV*N`eb@v{9VwJ4!UFe<)dYCs3lXtz3!Ity%HMwANt%dH6L2 z5%j0F^>?ZzCeyUW?w~bx4Hk@;nOH5*-=!$(9rhgDv!%aFC`PWAT7qWGiu#XU*9%Z!MrV#R_pQhb9vQQPDUWr>;;4!iC1g(nnJGKB&QUpE84*sS_MWDbi12O=WH~ultR&tSezP@TtSUu z$EwIhSz3iyrBd6onSKEz+#kmpEsNpczF4v>A z%#B@=4dJx`AxYIpCF8G+1lRf_GHhitZZ2!<{f(;vb*$V{A6_SKRhgxmjV!h?9A4KL zXwI@%*X&=%MpRPG0o=?6Bf)T^sI6;kUm0v}i7*vx3`Xk0jR9s_0wI~GR0@aChq44M z_5S9-+F&^3PaCQagqoDaP$0aT$w*t1@}1dWV{NFlE)a|a8o)QC({5;A6^OJzm8GER zrn<==sZaBq{;`r^T`0)jH?+3|BDLYhNOL$839P3KHMCRFC>irmsSB*6(9l{taiWl5 zeZWtH1aZ(}2Z;_g;+9mh!G^~6+EBP9&=T=ST3b|+lazJ=juFbTs`WS41?#9P)6qwZ zDDG&9%*Wb5a|>#yA&fgoiVA59ZjqrJ$d+Z2wzbm6XvadutPMBVRlX8MbR2P3ZYZU! z9NK2+_h|y5AX*0*ZEBVclcw(O8N5c1-Ey@1vUd<$7%aeML+=2`g9ZkU6n<`}y{WaOzNR%2L6ZfCIvg#itq;_$t_iQFK!0l_ zoXt1;>w@7-+$zdjz*fv~tD3{DP09pqLu6u*!7)ZSb(tJ@HtJzyl3II%zhyPip}@)r zH$;+ClfyNL#z@ziV5Gs{WNXp2Ik>8xRcfh{n@JQ2vqnuA*=``g+DsTZ5DKp5d^EI% zB0;Vg=rqb5C{WmlV1sN~<%Z`yvde_BYzrI0=t#`KNVtjF7MTx$t4bV{^c4hW2iKaA zzjih6m4R8+>~FK_b@k{-Hp5zK9Fl5jhV{}M6+d@CSZfJ3G-1L9MdjHTUWd7ST{FrK zl1$NqQAG+W&{*FPi1=v)AuWsw^?|zjaPwIi4xKBK;nE4Gs}Iqd1O5<=)b{WJQDeBN zIj}Ogo?@zU1|`cS*g#7OiboZBW-E%47-b|K+S1y%I?%{T*9Gn2irGeVu28V4CD=kN z4RqN&WjmXM$d*nknWsB%?UMAkKjo3NLO5k8BNLnQ?1l0$AVsgO=uwASAo^wT1V zq}2B7TWT?;hNM=Y0R_UvN5L&&lp_)K{+5u!Zbm z0?gQJZEC`-;%||ug~IC;hqW4}#^#V8;dQifYYI2DHW5)<9}Kai0kc&Dts5a!rdeLg zrC5Uw0cR)zc#eb}M&cX%>(lXS{Y^Z3L0pqwB-Vvi$rb_WTIDN9yBI*Ww6!z@8e7R) zq&`@?I<3xw2#ftSE!5ATVf#sA3$ZGB#iHlR3{qbT){+LbIu**fRzovFGDVV+v4ITB zInA(v_3g+GCJcWl?IdJq$(X$x(Vuv~8m1w%`@H1*wY7mJo`$&;DZJU=*dpVRn~*fr z1=H2R2Ew6HNlPYBhn^uLpe|^5%MxHV!q~_w2dN?l7fDl>S23F-A#|oXRH_n$BG@t> zC4jQ5tr|Zs_Tdp58!J>jdQ?tmQV7;&IfjNeDl5k;dL+=~4+SvFk5Uc!+c4&#S7Ei+ zvO3rlY_xAXY)QJg+Jfw&t;dMj9Bvl%k+nO+b-w&6)Jrh4P8T7Ot{&G_>=L+Pa4JT2wrya8Pwv zi#3Pah~%X-uAFOJ(@SWQVLchH#gFZQUL6dD(hQ#4&`2j$;2urmlHnN}BvyuFNQ_{s zur5Vdlb@aufsl@ZSkoG4ZVNQlVU0+OHws(R8e|;~qSYD+1I-xnYF4jm#E1p=+FEME zp|HKWrtncFvex?utBr(Mn_{Bf;h$QSlO=eIE|L+{1=iAPF(a^x1?`&*&}uLf7zx@p z8We_wWNjeCi%n@7PiZjVQ&2+~bF^)Wb!k-279hK=ftI#LjA&elXlgX_(W5m8xa4^C z0EVuk3#1W40){Q*l$2YV!r>5B!@MRX0aX*P4?s5r{4K4`@`i$f0_cxvZY`cIMZ&f! z^4Xl>xJ}6FquUKy6;oQc5eP>RjTpKsNHbi2NO_g*Hm#{Kh}zbntQsz2av1L6XtZLk z!5(S3&M+}!Rn6tDROA3+3u#6`A<=9o<2SY87Q)XoSIU{;*5*b(mrllTu(7E%62fhw ztkC8FTt29>;pPUcA~_E{P|Il#rCpqv)aA|s2fs|nSHR!fn(CCEfk0y~Nwo)x8GY${4% zN3p}RqNq_glZq19QS9(^6f{;_8KhK0v2)9*!whND7-h0lB`39M{814=X2(GU9+Xie z7#dLP=s{Wcl2k4v$8dEV>2XBa_Gqsm=nsX{T?BW^vfeNnHZ&-Xh9u64J%1rddjg}> zVa0BfHm#P5G&VG%RimA93ntFaCf{RW>wp^y1&pdn5>QVkZ-^e%wOeV#WB$PQr5PeyGGT91!Wsfq9eVQZj0XGh3d%4Dp_wF^5-!?NAR$Fy+8${M%B z(v8S&yL86@2S*i$9hO$MTdh(a)u!#Rj57Izl}ms}E4%fosH57p9hQzddW}l6B9=x} zA)zoWtsz)1Yr^Jf-k@*_!_Z+5zgQ(E&e(ySEY^;$B!52zOw)MW#F@N!IiMPA!ee84Aqm!7FK# zT!}M%ij~yRL3H+<12${Cp-`~0`SDm>PfKdfHnosYz>lp^Bv9L`=9?y-gPX7>lyYdW zdMnQ8kRtA1uwj>(p(O98)g4V*TneiC=oYXhtR_5KJ&Y3YBr!^&2AEMYD(O)IZ1dFC z$h7$M5BbhbthNT%Aon9RXpM@;3yH?SI(6$nSy5zg)RI66vzl#YF@p8CT(2+z^JpAo z2uo$EwoFS0RfieAPA;>dVGHbG-M?~uIt;We#yS;Cl5~hiEaC5zvYj8mj~&PP-37ZmOQVQ z4))3I{^r;wiX|=cQwErn99vXIB+WnUT{DE^YIrh-ShewJD#gz`=nPsdonw1>hh zI-N4IpIxPG)8V;vvix|0&7~h!;KUOS8E#V<#(^kVGB|^^4(FA+!}3&C49|AEVw>n> z7OCLq4IkR7N#LwrUo)QqktiiXKH&-D(H)=Wlh1(^Lr;AKKax@>rA9rT5owOI%UlR& zO6BI4vwU34%CsXTuPg3c|{lR9pE1Lx6U!{m8*?$?EfeTw8nFlO|0C58R0 zg4H*{bs}1NFqEwAO~4MF2Hk}7WulXwIw!cyHgySgwy|e34*#{v!-pa!y7&P!ojgkM zF=AmG6r0j#Gz17-i^4PC+hjB)rk)Iq`ldJxR#T6 z`{+cl{nsNl#bJeN6AyP|eI4;_+~6|iY%zw@PCRTP)nfzkGP_fV4C#qoms2BQ7j zjt#&mgf8^GV*_dv1KW7uI5sGfjCRHPqRGw22B|-5kqM{`wP2hai1$YOvl4-5ZEva< zvtdSa)lhF&hO;xRhP7h@s52iEXrHp{jdu4ZQaG55r`xfPq3&*)cr!Mn484I4USgV4 zHKFEM@)yRF=}A@!xMZ7S@#t2jvf3KXHqu|>ATTULG$$N57p+)t(D_VtISXqKkr=>9R2+E1ndiZ6g6C_R zxcS(%s2xhuQio26qvYeU!IhMC`zcE4V->l0~3z0AA5lhG;k{!AEO}rE;brD1Gi4F*ac=lP5|uV?O#Kovo#r z@fcyY9hC;ZU_e8@3ZpqHL&{l*_)!O)NHF$D6Uox&nTV+yd*U{V!`PGyEPasazJxk+ z%autBANv#zju&!k)vHO2ac6p|*+8OPX? zYRmos@_{=aivwF@okN4vvw4D2X$A2%1kG2gu&B0AO7ql1H9D#mNPtqI8q1Kf#)uzV zK_tsM;ijU<*<6N=IU!BLbd6FO+I@yje&HM#xv2V!Euj)@K-tR~Qyn@ZA+L?>6@i>> z1K{Uz7d1Hd6pQv_=;@5f^WdC_I)|p#^jNv_`xffm54&|_;!yj@ zK9`x*UZ|RfQaD)A6^d?449VlS=@MthX%g&XdWA~ zrC10iwq=zIy;?*03Ca0cjl@(UN=cOutvQuMEfxgEHD1SJ_QM}y5?QS)lWojG7(=qs z!x6|Ry1_R2k_GPg(9$A_P-2Vf_G-C6E=92NrmMVpX`nWVH7Fv|S{Ers5;U@s#yaIZ z#!DQ>Q>pP%Fe~dgl7i723y<^?X9$CA)dGGWjK*7#b$B&QNr{YhofjSGRVp%FSqB*# zl3$ILAA7Q%u}%0pMjaqazk5c5h&q!d#|An-SdLLt{sAn!+BQ9c)n=c-Yc3*5>rQ+( ziPbBfj_?v`0rNTCdb&&NVasqlOu>r3Q4?%+r_9O0E zT+wHtlK{T~NhL&_t@I*9>L=ht9i-iO!FU1dpgfQch1YP}BBu%AQYPm5LC5h5<|f#Q zvz8aHR+iue$`ZViw?k3Fbq=zIpLle)Am(|{6FGD6CxZq+;pZGr_QTIXc+<*SN$5}k z1P~S#9c;Hth}A<`yqER8uo(kITn{KOyiXu5?jJyR!6%{;(DEWYiuhe@P0U}Z{H@E< zsf8w$6P0P4bDM%qF|GlKw;B+iQWIyi9>))=i5N5nfnHoG^&xoEhYIwfHZt`h@@8?_ zF2+lv_+`#1ok*<@xlHhPE8=hEaN#&jh&A6iweiCR&jl|Texbc*OY!@{y6^lAYo{zc zdZ|Y^3QsPYS2Uq$qHgAoT=suY196x|Wx9#KdNO^Q3xDvbXx{W`^fD@5X9lgCQ@|AC z?O?4~H!X)*Sb#T8@oO^lLa0Hna2muL^b)9H63|@6c zFzC-LBKcyc7iqzRqG?P`169dXC8&A$PJ#LkeCzP7)=k|o3rF@kyh77W`txgU^3QE} z#q@lRHVy5)Sp)5M@9npfdaSTgQEbr=!1&{ ziwNonsvSO&kFSLis4={)Qb&z=Nzd_V3#Jq8?B&l zjX{68)fi7Dk8c5$-NjIv4dZ$-RcWcAQD6aqm!O(pgn-@+hDL>P`#(Sb-1s)Zw+L<{ zxRu}*f}08U1E9Om=t4S1j9?Q%H$e|UFTptgs4X$@PPs5<5QGRC0FW;?@OKG?kw=hE z;2QwUBPb!5Pf$uwMo><03II{-@eLW{*l*;>pjV9X9y9?Oq=9$Z0bYV?f)S3?WPFZ~ z@fiToBgPDl{wRm7hhzid<2Q%^)dXGwi@+ez2{gc?0x&{QP2eRcAi$4t2>b`&Z!Xe% z(SSW8fS-}eXB&IqDTpq7dkp%!e<0!p{e%GjzJM`>DEuL1VVpofzcye@CpeK{Cc#Mr zvj}Dr%psUd;3L4#L!#6O@Kc#6HG*;idRN=1AgCmu9~w5Q2?XK`U=P85f}06$A-I*`HiB;ve4F5Qf&&Bx3BF5k2f_a!&@=%492Ukc0&4VzlfWc! z5m*Fy1o;Hx2nq=3Z^ar#1mg)N5KJVPL@=3P27#AgCc#Mrvj}DroJ=r>U;#lD!9s#X z1g8=#CRjqC=>VO;K|q78;Uq8#Tm%+@o4`YmLy$|5M^HdeNHCsY0>MNA`XLHq3W1kk zCc#Mrvj}Dr&@WRMa|rOG1!zMA^9U*k=#L5;3ka$R=tnDzT?7{rTtsj&!Iubj6VUGo z82bpWAh?;}RsxN>r%vD?pxMN55|{)o0*in~c*8@GLy$|5N03i2j)4A>vr$M;L@=44 zm|!ZwdV+R>vk5LB7$LZv0Fy}ZIFVcI&d+yS_!Q#}T4y~}Ys0}|6;{ac@)xtztT-aLJiq4O#yBKjKQPh?rTx1ZR z!hy7Vk?PE1oHduV3B#o@(d1k&xq!~@nR+%B(CTYxw&(C+dphPq>j<`i-n5A_s zf11;!7nNBKmsXss2^Tgp_{DL7ZkC7pI(mEDODpjd{^T}9>NedgUnCdkrB?cFa)JJt z+px`>d8b^U1G_UXmJ4*-e14N`XuvD?g5e+{;du@=a_n@-4|)dV#jED{NlTG~V0z!& zOD~)Y3K%09(S&m)ZX}Qq{76dC$nWKU zG^S$IiYOZSE0@+kbG>LsyPSn1|HOY6il}H;UarUM#FblSp38u4(Jtb#91>Wi2o1%H z^4T?o4DFhUN+{ZOa=r_ercIkZ4GpyLa|Y6y}kPN3;diy_Rm$&e2%}QJ60!s z%f8!b%sTCoQM z09InU*Hws>C;Bb{UG^2m3wIPQ!oMB#k9$GkE-Zei$DwwnPlLVb(=b;Qa2aNAfeOqU zMRjO^9nrYAp|=MwU10AU4Xa!e^U@pB-X9(G9;@VCP*JhCY(YgOCh&P0{>*H}q9u!# zE?ro5YGp-d*}~3_Q_GfCEvhJs#bVKlQoL~?P(iY@DK%iFB{SiwA9`8hFW^iGk|yJx?&r~7S9Geq1k|qXxc0|Ca`>< zs{^(t90I6MIniF58-4X==?Qw>FNuu<+JTb43KEO)_5#KE{AA&+9v%7rbN>&Q0R44i zj2c3WjLrlP5_Cg?;4h_3zamDZMz)f;lCPOu{Hrv}d9x`_rs2;#*b2c; zH(Q~S89gU~rv<`oA~HvgTn@?x`&YG5&bZ;UAXH5^VCzo3nD!zvxBMaqNi zIdQT^Y>C|ZJGT6?^HRrkLi?1o)i#9s7|bdak+%My*&@dla$StJF}6m=*2fZ#Mlv0wA6iAv-N)wWjl+rXI7ink?l8~0B#7T3IJE3jT+|K{^-pqXWuGX>y>AxcJ z?DuBg%)EK?=Djzk&cEU=VF@8(`1glD2=OF->AwveRt|1La>M+m8pIPdpI`8#vFY;* zw)7WDnc*P`6>==)kztRY4O|GUW)b%^`b<)%0)m{tkS2!R$j|D^z*?Lb0wkL34^0DfW( zh(#K=Rne`{5PfZTu~h6u1k(l@xuNU)h#Q31&|SddR^4Ym;3k2s4XJ z2?@aU zGq#T?4ABFmnW|*V{v|Rh5+q`FHY($om_3I`TmDgpch28<1*_QE3Sd4;e^^wbphFnPXIV zfB{{W^^&OGq>uVKH zMET+oLHI;gR6LOs6;I@Fe9@e_5Aql@OY_j2eYNzdWK=A_r+lJmWt&(TF`uRUDq5&G zE_;bEEiT-H144;jsz=dfiFcqEKq&PQy2|OJ`Wp06-I@c`M_FjCM8c*}^AE|f*1C?o znQbQFfig-bZ0GZkq0-MlZ+4&nN=e#BJ6Q7DJ_ZpAbDl`HZLLju$~zQ8(kI*MIz(#u zWoBtUaR>?p9LnGmbS*DN#G=vlKoZOEj7*G`W>6~@a0$!jt%!?Wl!Ojx608)`AhsQe z_Cf^p9SfVS>>_;CibN54hLdJ8yO@%R7xof-EfGLjijS69Q>^Q`gEN|~L#<%&JUfd> z@gmS@&7fo!IjDOR5?Kn9RjSmF`Sh?&EGE-u+xzvj(IS2QgHX2NFj=<|@l zNU_%XjvX3>$Zm;utZt5Lx|7YO4H1y^0r%iZstqY-zb@k7B7r9MK9*Y8?A6U$xFAcVr5Ff}t6PIol zT*(srGKpS2fZAxBkhHmDi6Agi+Y2?`fa;E=6H$Ky=e1BQaa}6=qc9d(ZenT_twNH` zL%5^12w*t78Zo3cQGQHZk6*L}G99d##z5KP;AYX@p@l6^VI`lLU>m6OP zElF`{s60>&Ng+bgrj<|xcuK8}Sy^yWsdsB;qbXHOvLPOeH^fTNVhMXKk?jm}j5SAd zLIYr6l7)gavndMp86~^@N)U(*^eg3caR>_IKofXy2=d@486wKuatHzrjr(g^P{C(w z6b*96eY`2&m1=E?t=RwsbBw4`W={bb`_MHp(;TCpeb8hOsSOm}gHJU! zrLBcIBmF>l+_$8AphN`6W5^zw1x6T&?5W7zRX4-Po`#P$W@Pqse3EIV%=iach>6eR z7p`fOm~#h|fzgs^O0@1rfw7015^ejzPx_d>9~zWCkUde_h+^hnlsyAKwa}re0$F;p zC4La5k_}pYP4NKf7xL(`q;^dEOoU5nik*hzVTNACQPUK2Gbqon zDb=>MCDoK_O5RyG6lr(I5i2Y}wvFVN)bBq$)fk@DDXUtbPm?4l5a z3P>kDi}K-;6Al++X2Jf%{)rRovigLr0t8vX%G z2S`HcvFv%?{N{}m$6cS@M5R-YmCa8q2vRCyPdFAw`YdP!uC_TTB7_OZ)+EIvcFf zG!)d#Lly)IN*9yHxez(ZY>iL~f3n+_hS`;+(3omM8F49}glu1=Ion-)7j-Fh2)L}L zzt%o@8`Pz6BUrJK4!Rg+KuMq|bByA%h)9D1OTc3s;|$q6Xm872f&?KBE=r5ydr`VK zF=2yK>FgE+B^dtn4Uh zKy6$Qf!|p#E9cB`Ml@f^zU~1&=B`a*W_o5V8pTDDtYSPJJf=<*w_7w+siKsm8a<<_ zmc=r5Z6ax9`+-$|aG9V9EW4#OFmYEfc}X`asiNTZ!%v3YK`znQDvqHx(|X2Pn*{WS z)LD=ll0nib#O~s^Ku-2bB9Ddy;ly~{%q5)C0FcuOcv$xJluZs|;FtnKL!f*rXAR1+ z?5j|QRDZFybjPvg7$nReJv-eo&m22G7(K@kDy^r{1S*#>nJVJzf57R0d?UVeHEP;N ziRzOoQlCVM`h+VNi?T3WHRdjl(%FCn%uX8NAnZF8-(vZ8fZ#idfii*%L-qy!5$hx^gU7I}jZtQnK^+e< zB-x~beDU*TJe3v|PsOWvOMsmsL-LMP?=3Y2=`-m3?0sl{I&o*A zP5Q6(P4!s4Yi+4p69Z17^cM)Spba|V&O)tKXJv;`7{<&sa3?X!Tigs^0UCL}3q_(S z_BMMb@LYs8l=wj)z$1nmhoP2)4@Y^w+}aZ7f!vayNyo>5BJ&rKe}3O}E?MhjdELTlqWDp3AS$SN{pMPxQ9vaL-SH>E~Kk$rLup< zR3us&T3cpxY-nm|n(?+4jPbNhq*y$s>TFV=wo)`BBJMFBEDf}YXqo}e&S;v^)W8lh zC4Z2{>|P|dG__c3BfJMh7|a#4R$SgCbVB5%#SVznuFB zmQpMtT1sz1WIEAiznKz?CjmW?y$#>Q=s%Z3rIEZ1upyar)U;d&n_Z=d`4(76$lE zg7C`}CX1V?MSsF^t+e})7O^B#jJfCC0PAa7?RzL1CjL+9*R09ji(kwzJL)i26RGUm zxm~dM7=^5^XeHn~;^53Cn#IXg2c)8JX)RS8Y)q2MxSTH#Kcro-p>K)F-O0rK8Qo?_E#@)V2Z)G{v>D4LN%3^B&q_Y=_aHD!Sx#(p zK)QH28q7;mowcTYzoZzdpuT1;dLC0yMvziqnQb;k2L?o}m?J(x*`;kX7p?C&8ckx; zJsScEF;3VZ0S?bQI0F*NOrwKdI5@8lfmEGqapoqGSbiou;2E3P-=|B z?0fN*hX)?aak|LqF$?9y}`U(Zv_87M!Mt2=m3ce4-pBp*CS|=8i+a(5=z4>Bx!!T|z7Jb@A3(X- zmHi<7-1xT$%-keUODN(1=k=bD3-!YAGG#!IG`TcWtb=hK2xr*O{^6 znFM?Y+3NwkRs$`V;uo)Tptw0kHCTyc3hR5&A|F=uS!91iH`Qkq_YgkUhk@~Tz^Ikk zuzmL=q1iH6`ma7|Y6CRE>CCt1@}m;DH$>r$SG^ALgI#U*7>J+%my;2-fLd^W7ur1*QM3iAEQ_(+}nvvG)`9tZ!Zp-ccN(1D!$v{ zES76+criS;gYzJ%YKkNFX`+jeKk6Wp*BphMv_GzpRmFb^*38R(f+MZsb11-LL+U%` z>FFQY5O~%mmS*GGPcpim=uxM<5Sr*wtY@N!PJ1y}_~NL-nH`dyqY!~s;=;7CRF&`WL4b%%;6VqdVAZ-{u7m;1<3v^K_qjS2Gl^&8XF)?V$A4# zubhvY;sxXQ29xLJrZ~myyk37lV0QkK{{FSux!7VH+V9?j0S8;tMD9wruUYjSC)9Y| zl0VfIw+QeN6OWHj;ba9IVNsH-eXx8Nqv=8Bx=;p1GP4J zI}Il3CR{@;KiAiCxMZzfm#of&1^5Eh;re3VsO*cGFxT99%JvJI$%y6Gc~=TIURNJ&M;Na-uy zeF-r2ie?Er*=e&0jxaX>^b@@&p}yl}eZx+lplHXu)Ji=jot>D#BCAuE{bkevMjUZD zU(w~n#fhNjc%mm(yn#CJVI=W^BCrZe9>oVVkxE#sBxLq^AlYA~La1AKj?<6d6R4ch zzfcKa=Oa{{NU9>a)HL6k5y%|;qJV5(zZ_~28_Ebb-?TlksGh5kzr%YZEfC(mh180#I z8KpGXFLGmm_5`u*Lx5CwdeM^h*A<$l2FD^j>th>+&}`oj5@srvJ;?dpLG<;?g9x1w zFhwzJN_yr>byTX`+N`oe&V=bJ zD=cYO-YS+pt>-;I6Du=v-eZajjitNv_g@-IKc~NcYb73x0u)i&H!pkB3O{8t+xupb0z~QWZhxr15n(b#| zvSTeAFlX{j0>zfCKIK|FILUqoi z*wHF}*db5(dSpkLs^*xQmc^Jd#1cuNSmv`fy)UC3I5a3n4av|gj?Kgvq9H+%Da@3z zg!v+DnU(!d`gHun{dY^dNxt4yXwwF6Q_yPHcC>p&wRWLnpo48UGzRF9qZj_d^9S4H z(5JBzQ!6oI0ir1lcQzT2WpN z_(n3&7K);o#?Zi^{2wIqGM5}CuK~zI`Uc*y1}>;k9(+fN&IL)|gw~F*ZX_VXPW^IU zgmK`6$eI(`U!p|4>nzu+GCH3|Ee?YiCe(*M4?603==P1W-{cZ#a?QPn@+x9S~T9i+3VN@h-{++Ato3%tZpZ1(X*@Vh(}|sW)0tj{)q?M)_;M7VHHkZF~~)B3QB=wde+uio}^o zLN4tD5*_MD?E8DF(aKtgA8St*whogqNf zd-h_&~Stnq*ZPfnxkctt>S-c(mC&EL^MsWkw8`_?6GUhDR?si;O5$E7aaa0q35vjl15SNSb|}TBga@7 zHODA+ADW2MDNw^$F<@Md5X;Y`+f8t$5?QP)p>1OM6{b~!;3i@mX20u+K9{2@bfUpS zlkY--5SmA#%dwC!3hQgg^WM>L)EFn6(H@$4_SE;uCS{1#q4 zAmU?Z#?R!g^+hiy9>qif2vI0U7O(Zn@M?!lf(pT1n{ltDELogZJh~u z022wQ!OH$rM$byj(dR$d{eGFFQ7!6?i`U`zN~(8e+Tyb3H@Q`ym2zE_Ig15=c6o|4 zj6-LAiR18Qq$-$?rneF+{+p^x$n!vET=GcZo|QSj$w}t%Wr-qa!FmdfBj&-Mdw4+K zWS(%BNBVSB0?ZbyK6u-)UguehbSx8b@6&fZUGif0jWX0a8ECOLMT=V0Gu#K3_&0oB z?WrG!m(ojAS^Q1MQU3}^x-uq8A<#FrwwUmTJcQGCU9v_JP7d*EVa`=#$gD{lhe+jx zGf*{Klc>t&`~v6FxaCv;kmk5ZT;X~TrTmSRLV2h*2Im!-)}8}1DEr)^eNA-+Gn!n@ zXDLYY8+2uSp|W%bcoxh47jaJU4brH_g=yI|#z^{pj$f#;l(0&_!siXkFW{k3x)VTy zH^1kOtmQlyz!wf^T%bQ>*^0IIgPn5lVZJB3nW9h=#70KMt?d605fF>TUL2W?(THhS z)>CMjFCDrr+)W_OaY^jV&N|CEt46muXikbT9anNE?E)zuR7Y}qIcXrwZRLC!H;?!% zb{6%ef#kcx1WBh0FK8g0F@G(7Sf%gBXpF_Ozm_e)HS_&Y3o(whJh2wX?1$*;h{O)3k&6ExR2 zCp4+d@4?BVrBklJT|CvUAECIeUugr4xLEd7{1kVPD|;G6;Iwu;dpdn3Fo3WGyb<4Y zVEPRDr6ZucKul$M7KpLZb*4_|Jr$YmoQdQH($VznSyXfiMJGyU;}aV*=je>QT_ZC( z+cj7vI+t?bVxw*tsHw5f<4o$*aZ|DdozO&nhOq&f2`fGG^Lk!=vRFT+zaJN^&*-zL z?-3hb(%-el%=vO{fNV9^{>q$7#nLM+k?^rpbwCmOKQu=F8hNheK9(mvz2_=%y8Det z#-!DmbEOk{W(5Uvwa9KjPuJ5M1@&kGkC(J%+MCcwlihyPJ|Exq1=MQi46B^OCF~0+ z*0e9ePpy@-FJ>fp2(`k&N;;=uiMN6-td&AGJ;%yt3z|-VGN@T~uDb(s`%>UAG!`RR zLa`)p8|cRhihT*yt=5##X8QgMny|nNRCFeb??;3siB3u?llErHCk{p&qy~L*ezH-V zeycu9jrSoirgEM!#agNOac4x~dLRuo8T~~kTAsSa7<-%r` zcL4uBuD8tbxg-%nt#ww-6K7kf`XG zODU#fmj*9ma0fuLwD#o;ZdITvWGhFWt|NLm*YoHOZ2$;Y%XIvXuPX3rBUP4{y4b){{18nKKu?4>kDQ+x9@wJ@TnkP6O zMmF8qX3A}VQ2>11jAzT3Y2(bVM3BFHNydi&n-ASdg(mpQ&Nfd;o;+$|-*LLh+d8Fl zVW#A!Eq|823mCWPet@6)n$FoZb_`#gjq+DpcbfU@%}g4H$D#pjgU~#XWCDn)hgy(2Tiwk0LJgL|jb~IZuR55qMR? z$+C|k4mc5d_loYt+=%+~T)$S1?6f9DDTnHAutrSoYcFn_t_R z?%L$s?qqU)Yj>g}g=??$k8XSNyHzILJyw2PV6C4qNcLmmVc=j%o%Asl7Zbcp1y|uM zU|0#-hOWHOK0(^7?Z{&ui^WsOTH76$P`AUpw$AT*2bRO39n-VlR$o&yzuWG^x1C2& zUwr)x>|)oj_+ViwiSgNj`~uJWU|H5#DoZA%&Top<*1-L6w2yS z(NFZUA7Qc&k!IJTHkl}Gr@GmJNMd5Y1CaEW;{r}1&G(u_@g5?|l9Uv`49aO2n+j^gn~tDa>~i?g8HJngqYVKQ|d?EP=RkC zlvOCD*31?VRfkpo>+lP&s#VlLT4>!Lw|Nn&sc_0306<_LgR6j&yy>P##yj=Mz@ia6UVecLR)d`T z9R0-hU5g(n19I((b)Gp!$UF*ot&Sk@CE%OGBzSNL3gb}mZaD;baGHsS<`_}p;t=G) zQS=beE)GGAV+zdt!~o0GXgfMXYa`OAcyMP#wj{yr(Su5*Z8fu4>BfUy6lTwp15Tyk zp){g3!C@d@#>_6@d=v)K)I(|am~6-PLE*>D`7`%HiN>&s2c6_RzZ1c8!gkw85KV3u zk5M*jE9VZa`BBMk9)c8K;I~TqWzM8^L(g8RNq5)8AoIR7LJ|venZ=T0qV`}T%_YEt zq;t|FiSnesmlCxt+TSyUw|vUWM4((6=Xk|K3~~8^0aE-x6UG5eYgiMNMyYmqt-J6m zc;mCSwGP)2Xl8+Z^tC@hf#hH8MtYI95ahW5GInHc_!$vBeE5FCd6>trnVhq-6RQpO z9$;qoBIv|k^=t;`uU*yD6q_Tzdw4w2$fMK#blI+rcO`I$0Ns3MF(y9nu+zu>wn z3pDhOk$a7lBW)c+E9aPhENn{5?{gDsEzHnlN{uzYPksWWckBGVD{25AAYH=IL@Nhr4sB@)>>rv$3RC)Y6z+|100H~OVwNrbwC<{qEl9zjpcld7^MH1 zlxI$OOnjZ3=9VPl$x)S4fD`f6nUQk?cA>f&<>3$pSRu7)&de3X@1g4w?5Daar={lL znZ<{j#qiua3^I6_E4ISgZAQrtH`TT!5zLlV;tMZhJtPydHxgfQvIF@OVkVv2#}rcD zE2C2Z-^v=;lP1%Ata0_9828PivLVE^)H0H*;x|zzOWbnI;j>u$RqH-6x}T%oxUr<% z%ZVM94AF)kBAe8h34VMdosir3ka6;NZbn|4%IDFW=AGVJ92=Sea_K&2BmLsI(!FQ~ zX?42is5e5{{i#baYwZVtK)dx}9|s!aI3!Y+k*9+zw5w(jO;|%$9;Dixm1AzPSagox z*Xf37)+;y1VqG`8kBH*s!k~VJ+v3p;1TDY8EWV8T;wl%c0(=EB12Fw;27+Z!GBY}$ z`w3qUdC{=|XDd(HGdPghl`obG_R#wFmE9}aGx?!jyRR^`V}1LjTh8oS(|*dy_33pB zy1Fu_+e5${$!t33%q^Mig@Jr#d(j@$xic%eS00-gvAyuBOjj4>-cuS_TN>FrkT3P; z^CKEV)dvcON^60#zP*2BWO!{)&+gs3yLYeZwu?J@R-Sm`i9K64Z|d1n%ng;c+r`0l z6j;M0+M^@Gqa&HY{7Apux4s?av+R1C?Z{^a z3fo6|HYj$;*6CK^SG7i0Kaw9D9>|U4GlRL2-v0INzRXOeBr`WMQY>s61>#U{Fu%TC z72kd`6}hg5c;ldO+c-*>?j_P5-kZq}Qek^$Bws=nPh-lpMb@vX)U1$f<;LlB#d&|F4sD)_ zdR#hHsZL+0?jokPpB!LTM7N9CK;yo_e zPgRwzximUBm@DqRrZ2y}FjN?Unq68&GmM$i)t$Em8cW0 z>9UJJUcOjW1ABLM4NL5aR@b}h6|HWIJ(RD8i6g+9Xp_zv9JY%im*h)@zR{{GD{zLc zqRcVTYD>KZNJwFOq4ye6rPZ|3&C*3#s;}9`P%rK-=%MOrOl=WZqWxI1^j>F#OW33I zq{`b~*ptZ(?alP(bA9=u)+KNm;H$tsDzzeO)S0#I)=DL}W2$rtm0XPxk&UZ3qz_xA zP~ESzMxi=iA%((Ky<+-ga%!tWolr%uls2KdUJYeJ_5N|`674|sDo;8|}edVQ6FD@am-%{RLTiN#*M5<7{1h$Tz-H&hUTi1Nq%0 zUEDRYIHo`%XEKp4)8SB|YW2D4H7v-=Fff;KR^4@26;Sb()jh6CVFz|3CIp;)a*kt$S z#`nx6^YN!&7 zakhz8Uv2+YEhy1CzBIb6gypfJ9og>A%u4)!#j^EFw-4lYTvNKfFno<}bQQ*jGIdd= zF1Ap-l;B;E^4GMoQ&!tGkRRGH(x2^KwhRjuk<5y)SFj#cG$&X?*KufD*X99xq$=^L zrWu`?P$kDxL%K?+C9*X#vi$tQ$EHx>E4c~h3~i@HKCES&K9DO-Wn)&#))Y`-S1;97 zeVhDqNYC2bRLwL;`g2%}rnTVA=x}CtVWdC99$>|ZCswt002y zAyxlsxP?^jE9Mk3k6$^LQ1X-}qDSU3Rp$^=ZLgR+NR_=Z&LB7I6?6ruzE{){qzbEc z1B0s#mHmxsJtiXI{}X@d2%0hhZ^>g=r^I2>%W3@QYVj9qX{T>nu2ksFU~4NkIxv#K z->~h?muTYOU3ueg!}1%4@F#7v%e=0Ve-k>e%j|6Ux>=?3C%woDo2U}OJ+gr9Ht`c2 zVwvRg5-S4dC00(+c?s%e9v+i&WCCT;7V}|ssj5G?@8Wh0IP6fVI>sZL)paZv!0U=m z39=(~wWx&t$9U9)ipM^49{lVCg^IIF=3kZ z;fMC&Lhs0EG2c$2)Ls}E7{#QGSE$;hFqNfSXH=YLJa2waylM+^)jOqDXD4)fb&LI{ zE@;GQjCDN`6-0CqO7e6M{@yY-NG_#QJKY$vJGz}L;hJr_cQh&~4TlwucsMb^NfVW; zvp7hhH3hl0@3t_yKg)9ON~~dKX`K(t51I9urS!RU+12fto|7fVH0QWwfia+Km32BT zir^-d;^n8i*-5m&711 zQJ7-o6fqG;(R$?O5HXP;{v+%xsTC!Xab?aMGdl+CQc0HMFx4$*yheN3#plSPhu%65 zXzF}#*oMgW1PM$Lq`^QmQw;| zCP#h{9Sq86u!)i{hO@Xa=Zs|fbHo;PvI#tst4#g*QeOK}cCob9%|cXlUjTL-+r7dc zd;aFF=Woia_D60#b8L1AoRc%4#yvi&XEbv~YO6Ikre&HQ zE?lnP=V1h4(dz0Qa5hc;GwdR59PuVj!z_Opl-O$|P6hyOstiLaP1> z+!)F48IkiDUA04G$k)K0?_h4Aa6=v&I~aLz863I~w_5mZ9^M>|w0b!uYxVTq;gZ1~ z1>0?`f5Ytw(nQ=roG!MSA;xab<@u$%^6>3(AQVd5&e(%E!9hAGWPwNnQ$mr%A<#v>Rgmw1-v(TFx=o*DK?;#_9<;tsjs14qRIsNOH z7SAfZt3gyPTt!F{Dpl2U@-@+!cI1a}Dtsj0Rp^7ndHaz`D&uUqX*}qI1aej76`G!} zdu#JZjcTM)K)Rcqu_GhG9*H^sF#VD7?=7q%G115V-6Yj@ZOp0v9faH?`Fzg~5y+ z{WNWsp4h9VI-^w01N|Kk&|8)53{_e|bwwB$8C5}NAC{h=`dfns!_>>GxTxsaQjI&1f3;Xd+-ln_t;J~)j7w-CtO|Bah&EJ!*JzP6SDVz{V}Kfaa?Kht5OCod2(%q4qnP z9-r4$Ft7N0ZSs#-JE9o&0|Fip->2hIAUUI)e`op2vxcj49=;>ykV7M5cdj(FbOf98 zd$4jt`-DT8e6Bc9po`7&wU!JX+n}{;Uf{#>C4N_Bc%hAUNIiWv84eyDN}Gh1g&7_2 z@5W_s1rP6VJluevH*U2RJiWuJwyeK5J_Xfye1}6zIlpgQN~-Yu4u_5k{@=KyRO102 z4lO=EaNOF3Z9zHza$E|= z_b?-9QBh%uaQw`1>y7p_BkFPlU%Q%4M4)<~KNxZbr_Z2!p7rvvD#~@9@EP==lun6* zsh9c=>+Ev$lQF)d%bx3naCmMAKambqVeejimeQ>pN z%#Cqt*B@h8{lS;jrUMdo*SX3>Rf(cRlxTaT^5#=>s(fm z9Z_T{qsykCA4hwtyNgmrN_=DAkq}R7RlWc}JqOr=M`Hr~ir|)vaz`QS06L$0-CF2@ z9mO2IGneVh!H2+7%%;LN9BSGd^`z#pD^{%R!Qs!%y*Rs>>(V(&?Vgi>89s#Rfcyi4}V3-9YL^^cr!4 z52&nfCtS}E2_|tdTHx39cnVtABkT4K`3W@5lLg0Zw-@@No5o2_dxBaDsj3Z=NtHYf zhsA~wXr5@Y=m1=o!YE7K0B*m7Jmx%&%;NUm%^}Hz=Q5lK}SJxA&4>xc8E%mTW9%*IEpu99SS6n5e4Hs#CY=+=T>1mByXn?UsZwR{HKSLix&E!N7Gd0H%^i7ifKP-U(Q zD$Gd|6b$mrrI&2FB)`3~p!jigx36=?i?V?J;Z|X=;lh_bRjP+tU~oeW{MKh6w=F-Q zYYqrpSdLw(3$xN!)8sL7y}YSdnUQ?JSfl9Hcr14LmV}t?y^UCfDkN|5bX;y5$z!WT zt6Ff`9kztw^Fh5#4E0w?vH94_9pvOu;z1RhkEi>=gsGsx*Of=)Ev%OhBk6vMR-S%` zM~iW=&AiR48OcQ9F=RX_*2^~sNv+7!T*KHCld8j6XA1Q=?-RSGCFDbe#*BMWvrLz} z2)eCK@hB|dw@r}}!qy@5J6}uHL_{+@jHg@W5#kC1XnX+;Fn9tYzPsOcI2gA5<5NJ# z40NjkO72L8r*CMWXUW5wfHw$-0w-Z`IWJ$ir^0x;O_2_Dh%KNnIF8DwFJM-sz(|^% zA|3S?>LH+2OH7m^n|x{_#yBeRTSm4in!(cB@i4`2akM64*$Rwr;!#9>QNCb^23BHa zY4EGc!=|Cq-0(=;WI4rw@)<{*y%@TU9u8MfIj(F*3<=GLu*ij^pH|E&=#{WrO(eIw zZZ$jJ)wtA@FYHoN^?sN70^oVwY3#tzoptRhqo5S@y!EBhu6`r zWS4O#c53B4arZsU%8(bo+QC5~$ykfw-A{dR|sg!-y<=`XLtqC~(~^Q7oxwy(Q#cu#9+ zoSmisl5USjA6M$nYFZq@NH<%cqbD#TeRDibeqc=ca3(S;(QD)D20fO_5TTPNQvak0 z1?GBu#z_;Q&0t{1ovzhs6x|$B31{O4w{5n4J!ybV^lFg}w|}^QuX;ExCkvN4qkr!( zoy08hc`5vX16op7e?^mDqr;nZ*sJT4N7vvU!PhI;qa}?aeWYxmJKxQ>Ra91JBOL6~ zH%hR@w^ynq6okK&i-Pfh6Q0JyA0RCZVJW{CTYmVHwz|+|-LCfcjXD+>M<=N1r&k4q zBy;@ildF@|EH7#b><*_2V-+GCA{lXhofe$L>AolS0NJf5i0BB*cr(`!4N(ItOcyNFfctuRK_pwOb*=kI>BWp5jQHYlq z4t{T;w;)dkOeq-=qdr84&%ZBAjStHiFH@z4)x@eSHNlD3RM9b|st-L;P5-?5###GB zWxGQoOk6Ie$PB2%Yj8lFQ^?U~K%OV?;_1eEOm2C_5Hb($F}6vWeR|qa(o7z&Ar7L` zk_c%FD5cP$3s37KSmX}7pvw_*I3|S+n1J(N?!znR;~eb_p*c(l+BB~n4yH}+$sGbD_*1%@+feD)$-I~wkTS6*I-0ra<$aTTHB)}kLrH>m1! zU4GNvmoN1e3w%L9m-H$*8M0r?5)tTjw|k21#688s}F_zKp#EQJLE{{ zxO0dA8B=6BXcZX3LpM_^i;fpVb2?-XoNKFk_i`QY;Gc|}u`AZ~$ZzEVhfef`xg07U z-dW#huVztD z_%qHG50N?wlu`8th@Y1v5^jS$Hq<98x;1_tV(XD;K*8&Jwu1mVsR{wNBsPETKKm5Qrk2>$*5e6dw2Qj)j-(^p&Fs|Bty z3Mh6LMH{(s&2K=_lB*EdSDBdZjh5KyE3Ol})DXV9>KHDid*warFrJo`2#+CpL_q?A zQybsi*J^x`U;+M_7i#dFNSMCj+8$ns(2huGbb@z&=Y%%=bRP$_LHWJF@To2?#yyMA zB@veI&>z;W%3pCMAz43t#dRWgmPl7lUvZ^B;YYWN$=Pl{~SF5-$ zK*oK+f(7_nn!Tfgn0L$h82#zX5qi0aZ>nSR23S6V=o|)u5cw^P>r|GpGcH1e*Xf@Q zqwwI~_2jshuh<3MU|0B$Z3dQ0A_ioj>w*VgBHXlKjsF|2?;f5G_b9inNWG~Qod0N^ zs}iGgX>qN3-8abT>HECy>QYro0rKt|!-{Hw6oFDR%GZrh4eW(RxWGX5t0NnUZF39MP>H zlU4Rga4pBzDdksls!^|1QZQBbve{Nl_Q0IJmF;sV#sRQPbVRqZ$Di8x2UExv9)ao$ z)$JP@PQ!e+wSf{O0Z~yU`F+XYbq?(eu)pK=Z-a@g#WL*F&-g$J_)Mibwmq|FT084-u_{2UKTmtPEh)dx`{ z1ra$yc7ozUw1mVlm~&Db^XZ%N7l@lpXfPQ07;8{SZRlrxdWaWM3&Y+E8KCf%A>2K7CZ|bNACD}x>`3nWNth-kpnzD zyhBT^tbD4O9`Gd9S(o8#?z)a|rtDXCujV`-rfxEC`I9r_6d85PKR8+Ndp|C_@Z~*} z9M-qNf+qJaP*s9nMuKHt45kp#i1VAP&_3Dy_WV!IwhnSqM7UTT{Yv~cO6JKE>w{ZYsz(y9?oUS(FhZ#Wa^{} z7SDH+GFqy9D7u}~Zwq)|;*S_%f4urqjhOMZWzb{SeIFWfLBy(MJw!uQ%Ysw6{8N<~ z;lpeN`dbWTSrV=8BKcaF-E;$TdimMNOKc`oK_ z+M;J}@~{hCbk%sewVnll@}6qQR82oH5O9tsX?;gMFrd`B?yKlNl^5Its7|*AXPsW> zB0SmRt2KH2sR10fwQ)9;{|>XCn5Fphsm@=cWaA#JLcS~NoYD#}iiPV97BP+w6R|HA zc8o%r|BvTFeCY3Of!0Y}bwp_)7KgZz+qMn+e_BqcBPW-LDN=R%?Tv~@59N^1C#>|= za8Sr94}~E1t8f==dK7s7%%Y=ESW+j+Ri5fmfH4)Y5IoR=9=lJ6mmQNnENv9VWlO03 zsT!GlZUeXJ^3Ed~6%3Yxqgxxrr@*|1+pqBh`pQ4#-R-^LoGP@rI7t?p8t;FfBD(Q@ z9Nn16BYNZO@IM}l#_TWuz=}++T4X~lufm?OYg?WI*YkBH&y^Ak)A1F`6pkARkM~iI zXwmUvID!*2Qx%?gSvCE{3trjOoD1lW=_g(WbMlE7LH|8;^7K0|)9<_-;f-cGr-1)( z9A)~Q7x~w?%lw(Lpbz4E8-owf2mid8p3_9lg#C-bM)z6>&FQp| zfQ3XlcsIzi&Q<G7vo+(VHK>AM~M~wUFcV473 z2#1f3#vaK7L-53L@~1G)L$W@UvP0Pad`NJB2ObNFvJ%tpyhN+e2p3uV`qk_Zg?uA_ zNBMLb8_{vPZUX0zrr&u{y3KPtA^IH)-LX-VxKK|;_`TEbyy)8kA-B^VMp}iDv;)l@ zL@vt2C!;7ZLb-*gVVzo*5WmKCT@n-%u_zs?Z;B?w)9<`oSUle@>XT$s#AWF{PQUYl zXSQ)Fjl989w>zk}(DU2$rzq_qytqw&eUeVBP2sD07;;g{*i{-8rw}fhNA>Gd2zp#k zg&8Aw2v1;)21Qhz4@m{L0>I!dw3kttss-&Ta>@y zpIHZ2a*)XtcwWm1E>dfeXTuv|%0hKkWlX2)vX4|dlRiABUwb*66%zO1kIDzU0&l`N z11Ky~!9n96Qla_H5vc!A-M$f0?y-&V@yN-3Z^*-cm%Y>Pstn}uho;pO%-2&DZTuv4 zGAayqGes$l%T!IulH>GyCDZSf(6XU#M|t|ak_z{9F&o$K(M)_@AT+oqWiUgLJ5PIP z+M+$o(5)H0)I`g!8^~?Lq$-!$K&yjJk<+h*&;{-txcY+aZl=V_URTBr_J0RL)3^mAyrAOJ}AF_t*gjVW!9^{uOJy6S% zqY)-f$&~3LQb)e0K%#Y#4@I|g`n3?RstM1&Ln{H3dntPohGvu_?3eA}BOto(Lqjfz zShcK&XsBw;P1OQ|YFCJ;kQrfTZ2GkjzqB}uVr9j|!Khk3A~bMS67uTbi=KYDBgktDVBmZ!SIju? zOrUDZIQ?>oyCNBK8>U|_p*><+vRL2#>RV_%G1KZ%$+$aX)d&;!R;Fm?HvL)%=(ui&jYQ?EKo~<6}09BfZXtOTwNPEz9qe7P0YsiBeXp?(- zJ6L)pA7HW;QE3_V)xD?g?E`n0{FRayTDbAwLywjhKaL|TQ44w@-z;Rkrthk|)@%B% zIveo{chy%;-&LQ!tDdJn0IT-G@z-99^u4Y}t`@4h>i>4e^gZ?Id+JAgF@}%GU?X(; zp8E7Xb<8d&<7&VZP2N~ivG0bP;+36!FGfYzZTg-%?S}bJ$V}f;*B3N<2Xdv7v;7@D ztO%W{mSlVaCnq(NG+~>*r@l;&V7bba$((5y2fcqTt1y)5D{RNZoixdy_Yl0-C@53- zDg_K?ZR8qF14+SBj0i{13Qr7)Ox9AK8+9!Gec{2|8}#YLPx zLag5naEFl|K2(E`78ga2$N)8}L=P(sJ@_%*IJ!Axz$_J4?mkgc8^li{)G znm^G7!{bzF*F&+a`iqm5y^$*WJhY$a>u$NDs44to;j*&JwC!G*%U%pENmVFgzke0d z=3$464*<9ig7KgB#!PkG+dh=9nm4S3mcDg(F8UG7AM6_p}8>nmpgIJSi2aiDMhlJT@2pp2>Ubx4JOZH#j^n&ipHYq&07N{DoH30 zkZRm6PgmAh&DF~^T$&xYWDF97d z^h!$TWV@D*!0Q4$<<-d3uM14SE>Oq~Ij;}vK^mc%+;M_0?@{!_);^Whid#>#mYRND z0DGwV2xb{=IAywsES~S_fM{LhLvdsZisxPR|j*{eBO zxO@ktfA28;rPC4~MH%VOjqpp8gZbQ00p}t5v1#0wFBW#;OvLu0JqU|93}>}qkCrkD zN0yi^bmzN~Kd+4(ObTK!e zb1&<5t!~KK4H@rpql9~H{Opr^ak47Mpz_cRkqqN}IL^JtwW!Lq4?Fe|(~hd_{!}ji zfC=L>X8Lsj7J9$5OrbYcrGGkoqdz!;r*HI6-{=qc#38#jxrV7qYdC$QKYA)0vOQH; zqv;#{?lIVq4>NtEpN=d4AG*5?-tPIk%`mO+~!wl!xoEq}pNo&})&|)G4 z9{a7C5gX@HX@*`@PaUWlmX4gYRi~bjsAfp$ zBPV*LJSeA?he8nBe=!9thR2%Yzn(&O7x!Lz$vKY1Qztpub?x4DR30{=E}9+%UTb^A z0{BNU3P41}W)@=oOC|D^7!_A`O!~0&2=GW9$(<_0*#rw&C_)P8&&k@#diCFU(L-Jz zs0?!?#E(gAy#MVMZ6p0xX#6<3tN+(qG#1U0ZcfOW$mFU;Hmn*$F`*&Eep`78T(_;$-aJyo&RvNx`g;-IinvQRi<|Ze z(TKQ(XI*;EM*Q9dctsQ7(+2EqgpB`8A&kqf`EX6md;q^$yh2%qJ0klfS>q;Y^ESmRlJsAy!$0v!27(Te}eRwiu<(ic|PV4W-UbKWe5$P3@s{ zLM*JMTx&VJwU$!vJ8|Yi9P?EUf74F*%?lqjYsK1yLVQJBj4&Z?=NS5K5dX07 zb?qH0{&$E^i0(ym7A3@~i|G4e{=S~S-?WJM^Jg4B%;Dd1_|F`^u!y)M7XNHfS~PIj z#o;Lk8^qY+s}?83rx$+^;g>l4I)^`4Ott)s!{02X@|P^3u$RMkETPngIs7!od<9`z z9J7?Tx-v_tmvK0py(XI$@68g=KaVgW7A&J)?%{C#vW(Rr_Aa|(S%Y{T!nAl`8DZ{T zPMB|5PUZaRa;o=t_)d!j9nBpHaeT*{Gifn`?*{SSjz2-nvz?Ec4Whp5ie-?NF2di? zMS0Ia*eo9Fy1%Pg7~Q|p2GO>=KcW`|x#M#0^DenPZlUOaba=yP8 zp9j2JT*a6#0*V8=meYR5X~&E0oMsr5c08ysQA#uZ)r+-akTH)&nh>V|qV_Fi%u_J7 zAEL624G1@gBBz~UP}?_%I~cl%F*k~P5!WbkC^Ih35bxx)*C8K44?@Q@irbNPw75w8 zD?|4&bg}pvLk}`^iTFB0k1@1ae3MK0DA#wX_>Qnp$}>n?AYLPW#cBV}X|EB#X6Prz zFO9gk20WrR9OATV#0-YgW{XK_O$;qEiLz_NY~vvzM2~s8DMX)G#A%lTiUV54&;Ua_ zL=Qu|%wHM{#165Bq1zbh7wZ6BVjTq`e$?L`))aFn+$c?53CEzeZS-pfJN>H;1QicmapkaAz=ZT}d; zR`Dgow2B{d7*A8`(P`UQAU=cd1>(8%Tk-vk^aI99@iR`Xts|T^4*#rf21N2v4*!wE zFCo-?_ zwS2nq{fPg4<5v-GZ2B$2H#RMZEfAk=IxA)fNy(R*sDu}rs71ePx)kws&96cDhgsBv znby&`A@P``2Ilao8k+^(;R-T^>*NVqxG)%@#68e`o!_#b8Q!4ynVBc zFc0B-fvBBL-KaiGt0mj8 z6Zuw4DD?<1(_)i?J`mdpXsd#ritQ4$VwfRGS*@6}NSCq{y0*uGb^_YuKzBpm4KwtN z_%UjjAzoGxwQq)aVlkJJ`bF%|p+D9wkx)&%1JG6lEs8$~=q3fNia!eIeg&N#e*)0E z6|_0N8d~}z5)#|vcLR!%LnUqzL-CJ^7BQxv8{*GkW9Hdenlu&A6x@0UBPbz42dJmwVGjyLgBfa0q zif?vszSLE~Tqb^{pq;>6CRTUKv|G}v#d48X&>iWWfQA)xZ~6^Jhj^2M-jRMYpnDmT z64@!PV{hZ`*#{QgV0DVy7&?HSe$eO?k1|AK^KN(vpLC#|Vx@Rq<`XToj~K^_Upi^; zH&%uNmXr1o<3w?-1AWpsNsK7WGl02H+~cHu);L)_rqV7& z+9~2wGEMZ=e$hBpyv&f4kWTOj0uvDCcUrSwPM`SinfliHox+6{ z)RPDJ2xGofBcZ1iM3`H}vz}63BMSk~PO4vRy3o1x>&z>iv@7a2npZneq5cB%S_c}d z-)iHTrwG#rymwukBOHZsKfdj0TIG~x1=tdah&zISfrq1M4V_M%7aBG4XDO zUNRnNe5ds>@l#LQ$HlKClzP7Lh+v2^*unJ5W@;;YWkk_N%5G1mI3;d_`ZTJ zYpRcZS}ZzQ<{JR?jJQ@o_cyJIeMUT>p!Wm%C-H)WK-tx?&x+V7l<#KI-aHt4R*WcU zRr5&fbK>0!I;;7H*yqKyrxWG@adGp3*cZgl6?7$_=fnzDO$S7O^P6K|7B49120+h? z*=NXnw*dMV@g@b`+kAKI1@WAM9z-c$6SG;R9T1N;zcu!vxK=?QYJMnoP<%&0pFk__74^Ch&p<*l(Fi=!@((8VnWVm}r4D(I?~e~7&-URKaR%co=iErwaa9S}DI`h|Fe zp_|2fT0S59rFdSYJ>Bwr>{nv;C9=#fw7eMmjd)r?|Jw5H*l$JSW=gw7e7EHb;&3k_^*~9#eOe_FD2;i)RLJm#}0`H7&;(MnfVJqXJ5u?;=Gx^jr~CkGju>)J@d1e zh!3!0M6UocjCXG(%mbn{^JAFnzRc?GK)_W=5wf|_O};x)#16trkoEufbbbi%Brc-ly@LcJw*_N-PwGZ{J{ zdS@LKuQdi#TB0>4>WnuisIk?E*BN(8h{sXAalcCIXx$sHHy&5eiLFNgddh>@V0=oY zZE9UD8jKeew6%37pqD(DGmM`)kP)9@q^=@P+>+W4S{jXvg5J^!f7e)}p!-^HjyD<` zB?QXujW-!@cc6F1XBvOwK<|mS8lQ5YyD__dk)Z?d3*Hx>Yizih>k|(&ekeZAcz~e; zfSv-BdM)<~pr_+U8GQ=+QR`Fj`NoS1`c><*@r==bjl@j0Jr!SQd|yFrZO_LS8P8oS z)0QD^iBX@E(6_9Ak1sVc4)pE#GUHqa`cb^YxK=^Owf!>QW8A2qv)i7IuQ0x^pj_MU z3U<^6XoWxq=CI`wS)*1IX&`z=5c+7!r zj-PCN!hx2GQ;ZiSlv<6Y-cyX9D`?~F4nTEmj&Dg_HG4_o6k`!X(z80nSjW(P;!kJq zw@xvB+(%U3E#5bKMPh@I$xG;t#ubUvj29TXPdqhyO=6>Q*LF(#Q}G30o@HRE2>;zD zzA^ih#5u-*1D%mL&$yON{C(oTXP=)q-*{X>i8<#dE;PQQpapaGTNfLB*U3_jpR*-# ziIKXVAZabO7>x{(hr3j4F^*#BK5@~Us}fs`jSAW}XItV@qhCQIDDyI7HoFvei?__V z*}B}gh@tz$JLl}Mt}vcZY5#z?v!%T8fP!e2wcU6^K{U(SZal4^U(6{PJB$}J=A1o%zN4Vz z+|{Dr_??1g%-snnWfPs!hb|cOtv$f&9Eg0r>opY5%r)W;RKFO|fKIDFc5Y4#8V_-q zlJkScKQSad$3f$p3L?*O(D;)#^F3!C?UG!C&=6PhcMhQ?`Vq#&Ai}uVjnEJ`a(EMmcY0#(MIh!#QvIc2Q5EIaAjCQ{e|zh4zb%1gU4MF%aG{uehw#4lm^HwJ`#beGlR#^G_qZ~ei&=k)jw8XbK<|iEUYmPCG zp^{|`eOrR!A?^4!MJ=a#Wv`m=dd?+VI+MSHp(*BY{5*sva{xOP{4IOG+_x9s`z`zK z=s;a2OSmqX`mVZf>T8qfk@$vK%CxzyFgeB$-5h^BLQ8CPYB$A}$Ztbj!T1GE9pZ2g zhbx#i8Q#h5#FMO=EUT8%hhF?&dNAwf6Q)chOQ*kOyesoDg>w|}rH=L2OT02g zCsK8dCom?BFH@}N_=`O;^4pCu7{?HOj3Y~%mvcSN-_&aCCUGA<#owRj)UP76#1A;;_Z*YR5GGM;ih6uoViw0N z;Lx?dmgqrDOswYk$};1%$TZ3fp9S~E5FZR7xgjNL4VO>7(xs2^_hl)ZNJ6`G>mI_kHXI({AgWP zA&UrqrEV3WRr?siE}RK5jJqMvn&R?*-teiqu%6&NY1MVSyN;00)Lpe&JMOF-(vm~c z)sY6qeI5UZl04lRQFx;pzNa=6Y?Lz{Ey1Lm@7NPOFAsLy21sAWox!+V>No|+!yO0Y z8SDKW*q3N)jq;(6w*)h83+Fplf;rTBZ?G)i4gM#Dzl;_#!j^Mdw^3_dwVv(xYVewM zt>Y(w;qP=zBYd{wRrK{@M<{sJ;)t$VpI6M^Q(GSz(OM(GswMO`#p-R^T3TM|7zkzM z)s9o4w0yo}0%5rGZ0MR5>wHV-&y`kbd7yJ9MEn;+SFMLSCvbP?q0WMpmDY}*0p!_^ ze~((NTK8);PldjPT8r`uM)aRUmi@uNuUTRB(ueI|?wqcR+P~3xyzbA1UWKdHbDh5( z8bHZKiMqMZcm8A@Yb|Q-XF{t&TD97L-1*huBl4BbuZJF2TJ1xbPh0!!-Fxc8efH>{ zmTo$9`^WcwGW?{?6T_?4S30Ky zS9R2__Ood7DUCm6|MlKaho6>L_AbiP^3QvpL>TGn!o4Pr?iu?~*Tc0>%k5pC3lrPF z4L_rlc}7llEh6_ca-XqN8ZRLJSKTd>eRP z6RUe4T4?F+tzWgLk04xYnXF&aQ}k8_=pkRzllC>C_iRn*pJa6IuIbyFb;iEq4*py6_}mU3gNlCiKXz3(qOm)U&xR^y#k)&m-1_=K^a&&+NMJRNz^ioi(9n z^I7Ghb>X?mn$SbLrXJmO;W@{;@O)!U=$%~?dV$x}H@hbE-mVMJSJs8+D(k}2j&%y~- zYw}y&f7pl-bidemP3Qdu`3r4_e%fpDSKZ`<|JD5sM>EeocM8YeMh*Gx8nubxmsb z?*s4A-@7LC;V;Ve{gj9|?C(O@vabuZ=;>cmFEGwX_umE$aOZx=ul45rA8Bf}ll$Kh zcnQ?AYLCiF!}Coq34Nbm()s<8&?kFP;a^k8*MuI`I~4M&LS7YmV>=b{CA}xo@4|Uo zyy3)Z6K4|K`0hEeHP9eX5^2F-%k!R%B4}K|fO+E?8HPu>ItuG#I4O4#- z^2)*O%~!2|K6ntJ)pG>lj;g)gA8_4?Y~o2JY)AG-m_Zo-57$flEE_K$}nWOb6KJqAa6@k2Eg_p6?-#{m&li z^Ot-6OEYwP&$G>aT4ps6>*b34T<0g6x!$eSg)rye!R?p3aFP&$O%X(R2EO|cY>FsC z+J}T!CK92izA^B-|5kvAd+)@k4*AImH(x)S<#p$~_C zHT0XI-wnMOdO7reL*EYF5TZ}>OEp9z04{Ppnn!pG{**1xa*3-x;%at$AA z_(a1C4PR~eM#Hxo8XLDawl{V)9%~$JoN9C$^Nl~%_#YadZv2(TPc{B!<5wEL-uUgt zolX0j-rSUHT4{QB)2KYr^m9!gX!_-*-*5VAQ*C5N$Q_Y^$VlXDsWv6uF z7S92cIEWHGn2%nRI)oB^xR=A*IQ=MbyX=t@vRB@OTPSy;w|@-Wh46bC4(lC=Pz{gx z$~AP-zg5Fkh5WdNk8Ak6hA-5-6J-in*@o#oqMD9QCSU`Bg>saR8j&~rQc^%6 zEZX3fCWH;(4I8`?Mc4%CWDh&QQBj08_+=-;R{YuElN%A<2u`xWE4)Lx8=(!Jxf$VJ z@C-a52yN*G-{2;xh6ez%amR?^LBK3<8^bq&`>^9ih#QfB+0bANPwEZhL4-DUNXQ*V zh&`YjK{zAF5IXWkgmd6gTOI_LTDTW{0`WXT3mWWB#0wfefwtjYltF|~q9t2?MouIA zUF_2=+&;b=;U5a`F#Zwl%2-(E??LV#BeZaTJ%RY2X!xQ`0rICBeh#->Y}^yR50Jma zU0-;THT=B%C?H=zXv-JneuOVe3Xs1+Xv;SwjqrOI0T|SB5L(t8!dC2mEV%(8Xlq?W zyiLQKta(6oBZMErDj@!P4R6LeYRMZk?6gXN??DL4TT6&{Yq;OK49Ee5w)9xbi1#A2 z<%snV!rQF319Ce;(BFC|!Z%r~;D#7x`3<#4YKLm4YG1CCU|X;+xEy>u_@Uqpp;tmR z;hze>rT#+=zunN=IN5ly@o>{%)2}!EWz#pCULUDh;XWUDf>X`EZ-B=!&dNVap3>w- z*mvt$U?c38t}FNR&F|OyVl0bh<>p@eO5|n}A4a?zH~t9EBK{kPO#EGle{$T!KaTkC zB~1K9#E<`!iNA_?`->*td<)9p$~oJ)1@Q*ZqXm-jI!M7T$UrMTH{f$4KD)vF{I^%W zVYB>R`HoGb_exCwiUr>d_^N?MHTk`6ey^L4l~D5!x%r3O{6lX3AvYiQz|pF~ zNn$xabD>zsXJ<^VoXX~$I3C?Tk}j3+D`J3r4bos?o)1(o7?XBR5zQpZ&O&LRI9HP4 zVzE%v*eH5W&p8_R5E#CMCu1nYn~qa>)#P9Sk3B5phOf*x3w#=sVg=xAc5bPtFCvqv zayFMOXPuHusVc-vGMdE${;H{{X*M)ad6k*O?@i~j_>nxo9yT7;{T!v1pR5#gLGDEH z&70}6kM7BIW@-UVJEWKoo-fT5in;7GC|fE!^D;jDAST;Q^$r$tIV6EjsrR&#$Kxeu zFenA2i^~rjmf`%;yeJ#aU;>8lOX@jvA<2{J62f7SY*~^CFdS3nxzG~#rssh^ub=pM zWg^8V|G>gR4iBVc_ddcYOl&-Z8RDZVg{k4iCC0q>iq1G*t121hM|LNdvN=2*Q&J_B z9xvIed_CusQv=nlx&YHK6BJ4#Uc#hl6ZBqks^<7qVJV-H4Gke-8mX?4%H}i96-nis z{9O40z9D3i(ihkwkhsERj+iYf1w9bq|B z#>-FfP0C=aQW+DF;_GlteI-{3O=?8PsdQ;UoZj1H&9#*?X2<5Ock*wpk2C5G>r z8Xg-QX05@Yf#iVOGLz$@qr+oKA22jNm^?RuHrX%=c%@v%g5a%wOcA0JC42PRJsC%;bt zMIZH(!)L3oCbo%*0Ss|sa`;sIEF17)cq)hj#)pPeIymH>8AzlC&%{TDK)oS@lAj!j zCz7d=;jz=nGpx8Nqney-#v{?t@ZiY67iCt}( z;xoY{rF@`#JjOIRRwHCp!_)-%>`kFu!m@J)50%i;8vt6>6y6ATE~`R4?UYNWm$Dfd za{>2d%NHo5@l1R!U%-MIFIV!C>5ES3G}t~r1jUS%)~z#E(DYQvDUB5_LytpKvtgA` zEWr59GY8D_8-`pZNPKc}&hgP;^{SfMBvBi@0No4QL|_VK@l1h?_B`p7@d_7IHwHmQ ziyIX>g*6@&atv&uxWrP9P<9KuCQ1Ucq4h@6GZ#^X zREuX)$;;UpEQ9&XXu3QD1q@OWB{l&)Ty%8BF{yb)*{nedp$)`{SzeX$Nc~75@90A9 zXN?sYuVk=;@qBLC)DxY*)EsA#Ofp#ADS2fBKrI*#!@)wah$T6wxSc zo>5N27gO3l%W7mpZ`ajEmDDuWa|ouS3a-vKhGWWmQvqx+8j^!klao|Xr^ZKyh9|vs zn2Q5GlTMmTuxDhtO9RX@41RtCSkqwW%{AOKtwpaDSUZZn<97f)Jd-Y67%XHQtc8~f z7x6Vvg5l`e+!`OmbFQbs6>`$S8s-)o&S%^hiaHn$-Xl{SOwU|!%q*p8m0ika9M7VK z?UWJp=cU!;9o)KDY9S3VEs%l4jce0G*`l^Sq1lssk{Ipy!NS6_Yz3=yXKZM99p|LR zGo|ra+F)fPIR7yY^hG@OA|t)j^G2#e>vbx^oBC_)-tij;)5-BQ`n zUCbDzg4I!;gCHe!)c39E@|kI12Tp670%m;S(0fh5P+lrJUeYyxt2^TK(JEI`bKr8;)Ur%K z&^I?nu)A5?P>);S3ZT-+77c8!yrH7IeJ^HGFCpE8r6xau8C};5JW$ZYe*)%*b-s)Msa84x$QFNpG#7(=7 z5tr+QYuW}GB4D!s5oQztW0dWZspv^P!9cl6Wf9`(E3IA;TrKPBCdQ3=U`%yGmVBzZ zg-eTeV^plsM=S>}Fd!xpp2B6q+v77{Q5{Td(k`Z~=ZSJT5>A8cj2W0KW?*zT4+{-A z-()IsCDmN&ib>~a9LY!lc91iWN5>dc#Wl78Jf8O&oN&~lN6oa3(XZgnOl9;`&6FSQ z(I{O|$ln%fbuR0kpbq0r8SuS08N>MFvz$6Cp7FdVqr?yr;gq?TFpJ znaUh4u{ecyd${{-=AO}(3^Py@`{cuR7dvx+bh-8Td6Q_Ape(&Cl~p69)nHF#=BRtW zKgYA$4=BP`jI~s8E3(!mkYCD`7Qc)O@Et;shU~0sSF2-Bwj`xD%1s3Dz*U3yK;FQA zz=$@XZjvsRuw~$LRP)X!tcjU0e6ds=SmTV5LHjaZNBTST~(=7huDo0$)+dGsATi$KqJ!@l=p&R=dlIk(9v;&dfzd zxl$XeFb!XrF%v53%Cb{|sIQ3&a5lf>x^c55m{i)H?oHv~DZ@^$EMn}aD$P-jds@LM z%@ni7Te}tPz6-Ey;s2U(bgkpsHZ*){U}_|py6;RJt`GH5oEaD!8iD7dk_QLG;ADJ) zo`VW(Dlts2OdJjmI!Pu5CKK5IV1@88NG+8d?CRCMo1cR|gjX7C@AWuv2t!pBnZ`c- zy1ImKHH50FTUEo1({59RRVa=?PZeoHa`bK%=gr+!8FzrE+tf};T)@_;a9Ilt6uIy6 zrq#GQPjk8EgUu?lTdk=pKv##+JW8Zz*-Ryij~y$kT!99u%m~Q!|pnkqoXGH8W!@=Y zC}adj7smSlXC03LE1G-3_Ys(A#YF)8i_37uc#X@v>rE5Bxfo#jRx;rDA;%cWS^*r# zvzHk|fRfBt%%U8a!MAy4(nd|XZ~u`pPZ7- zm&})VFIMDApp%0qC}Qq06pXscU{y@VixsO8lO+pSG%#o3@fv2Hui{mg$V)F%=nJIo5#O{dBS*modj?lU3jrs>0}Cma0@? zsSJn51ovWE%oRW_1SKYyc_>-LrLkp9K96E0PxT5`GIOJP)R083n4Pesz3rIN%iU(c zQZ+8h#U%%)YHX!MX{LD!T4R8M9N zG>lCE#STJLwen+1jLXlZGKZ~YHR1v*tTKqBG1H21Zjl!xJqyB6stpW`!aak^!%P~B zrEIleZn0iw>3Y-&;0%(hGD|buZ*mcmOko_lT4y0XJA4IOnv%f30?7uE1vWYTmY77R zNGT>&xg-@`I(d#RGKpL%<#a;ky`x*>sL`$~u%vRg!uT3Kjg$-ewSX>h3Wb3#W4TtYJLCZ5!+AXDMgd92@Qia{Pnvc8pw_QBJhel;mif0_e}Ubq+C16>&? z;gx^Wx#eWGoU0OQ4_sw|RHm^~X9F*6m5uZF{POh~FfcGTNB6=B;}i=E38#1o9)C45@6GDc=T{-i`zdeq?u1;QL7BNO zb8sY~&IvjP{VFap31?;rI$*gMJI?tmR$d&YiwE>!RrTBo1A5NxIngKGF|i}yfX$;j zC>25Er?cdd1Jndr-;Tk(p< zd>@gxsHnkT&Q9~vL-kyn^Vi}0r7ZNjdZM`0gAs86jk9?pmW72>Jn!)29+lN%GCG1q znDFOvRXngA|@Ay3Qm%lr1e3 zN*p>)?HR?T1U>aKYd>2+A8=vk;Ycuql2hi=YOw86c|ny8x|VCc^5f2S+o+@z zy9Ca}W-gfhG?8IfB{5q=J{;TInJdIixI%A0{^lKgq9ETBrm}_mE)Zg4S;DIa!-8N} zfsE&?=;#;cSj=4!-Rdw2p}_7=>zZ?Mf3vL9KRkX)ziA;Uf06F)1&|GcsOr$LAZxfo zR`ZH;1eH$iOhAi*^e7;Si`fP30DFB5$Sp}nxw5ckZMe1u{o!)0s#acLBTC~%I9$^? zGloG}tWZtvJu8=4v5^A?w03kc$Q5QTLIB)GFtO@~#%`B=Q{}1iLEEMt8=vJFL}ie^ zJZXsvT(_8&l&A(&iqQyB_GC(jX6SPo8_RUntvn8ol)^cm&n2D=L7t#Uyc9STDRP$4 zRWgokno^m8Sx1bjVaKp)=9Y44SVGv(xeF{nxMMZS1OBQ3X_{)&aV`q9zPp9i*(Wb; z0dmP+nCD7{^VHG?^ob5U22h5D%cMWk6}3XvrBO+`=!K%Hd55psm+vb773DQqphBVy zXkTjO3*GEy=>%OX;!UJ|wywCb(5p9;{2XxtE1}I&0a}X`Gg4=`3+AsTm8wLwGRI~` zHW(@Xl^k7Es|^iPNKdFLD%R61TswX3;<79-?1eu?@FAaKrZX_~@}*gB^*k$#>Sg!} z%ptnTtAV3<=k+W$CfF|MS*gnAgg?ipvOFpukv#+Cw2j6$tq z6;guWLJ>C|jgBJ-SIuU#SCn$pjp{w*#Rw%~g+8vnBjw{14|0K)fE%kyRaO>8%>x%~ z1h}nera#H1{vd3Hw22PG*ex%^vNuVX3iR)RV(~mU2Ie-sU)l(oS60^q2Cv4MCb-;G zaUl^`ePvwfSWorRDf%#bHGewc=;mI=u+n7=wK9YRE^p$RAv8do7Z{;sR3^>BQBsLk ztzqU)u`v1$c#O{)s3^Lwy~((8xT9+zQuM#M5M^9oH@biG$~*R|SXl9!{^1Y*+Sf(%R|zK@3)DJCh-jXEb3&W9kmJw7XWb(vK=4l;P)~MD6xzZ zY`2Vjcxw=6Uzd<-7g>3F93VyuctAfJyr8L!79)ICJIkTr5>hiLM`Y80vL3rjjHsG>Ehx6J}JKRqfP-h0AX=Mp0v34G%%J`nvItwTbH-_7CH-^pO@59e5${`u1F*z=)iHd0A!dl^FVTL zBt8e<4idn@2BHx85{Dna4^{%VK^79P-_#TCMgfJ52t?r+- z?}sb@BVz5?s-%VAbjr$eBN*~5h%$&dAo6oSatI$X)eJ(CV(WP&$1DI{e?~5AX%f?$ zjVuPqK^u1Vc#upzix0o^=*8nkQ1X=UXJ3IxfSMCFr+lefI#o&pkvl=C2tX~+m61$tHq z#*V!<*rg||4_0cJvR+H%Y6?F|FyZ!1(Pz&PvK#j!#~XYv+E~Dlh#`I(iO26zt>B~r zkH4Z+5JqKWgjeu%6Ecnjr$H*@?HmLt&TC!P?1f~_qpSqNc-4>Bhu|k)MuN*|c^NHo z%H4Q)4jAYJtUNZL-B3VHHWe&U_DMs&H%im1MxmynpgNvLQ)WKeks?=7A~;`^3!`t? z8q;%Hf_ljCyC)AMn!J7^!api^p}ax!1b$v=)pp@WhgOr(bOu}5$$m=U7-B+|pGEI^ z43>(9Qwp*)F*c174n{#@rqM2I8uC+?$qXC=II_XVURnvif;P?a)B|ktNR`Ek&geH= z@OmVJ;UoZ|MA;WHsN^+_<~Yk7QZj_Ru8j2`J?0PalWhuVw*!dY=g7R zH4j+tAho$F8Y;LWZzhe%{8aC#(MpkEZ89h8R;ZwKAt!O2(*-|TLb++BnoGN#rVdjZ zC>SQT>{(VG8^>1;WFf1WCHxL_Z?fM6sF_fbg~TRXlA+n5Sq#nM&BjW|R>rL z%J;3FJdA><{CXLFMFfBYXn*jA(5FN zlE^n@C>dNMePf_qP603W+N*!EIEgsb(It0^uU{6 zoFizDrj<;o7=j+M!U{J zrACv_%wUBkDl}sRBGvQSt@-6VmX#ZQSP!rvg*_c*HTZeb%pRF*tZ>=s@k0+r;P-Ad zpGAHA2wABJ#lDU6y8!OOjbW4{mF0~djpMM+`Lq$%r+|2BKMQNww~S~@Q1J>DETg7f zB_A~lRtBw8_(4ffqKd9fmjUA03?lkT-8y?9T4ul7@5g` zlcwfOYUQ7jAe9jxkMz}xhBwe^OP-8v496Leq=-LnvDrvCYNRQYq|lC{4^P}_W%PnP zxNBYoHN+l6X^IR#-Pi#d@!*4Oz_k|>cz_!^XZ6*IABqeRW_>D$e%5pLLiGu|}bXjq%p zbUSx!BVq0Z@!7jE8w`HcI~@93U}mp;!Y7U|TV`#|VyIkx3^B|GY%_|US}+6mC{MJ^ zzQYX83}SO#pIDT>*BT=2q-s^?DH=Ip`lh)ztP*Z^`jjHt^4yIYmBerEw%gUdIf59} zPuPm4s?AJ7wxb`< z*|u5XdV6I$SV&~9byRUQU%B%&>%``1W*W9xr&df>f(f9`j_)%49zN$A(#dj8(lqksKaa7Qd`M`A5?J7PPmSgVa^ zIn~*Ly4VChdjjoH{q17cvY}@9EKsDzX22)!)YLGjWq{{rNllPJhygr5 zQp2YW)if|@WYEMQ!l0Q!3xg;FK4h(C8-wi(b}-;0*U)1hKF2`AXdhnnVj+a9qYreF z=rIKx11Y0@4361#Z6N%?AP3kMJBa6T#roSKbtLK2s&fTj&))Z>}`n0I#~#%w=+u^(aA#2_7Ga$hMC>2 zMFK2RV{Honpuj(OqZ*Vf3EpJ)E#z4DR7n z?P74xuIkmf+W$x?h|~(Xx=yU!u~sB7dsE;zt40*6JRBAfx<7Ul9 z8uIqkQOwW%VEzmkY#XQt8Uwe@Ft5}DTa@x)Ua8y`rF@uI>cSSKd{`6k8mW{3;~v82 zc(dZ>!wpH(BxfuQKE&LnIhC>WHZm2zE%)2zHzp|!VK-B#MKPgTGu9bPV?MwUX)p%L zV#d;78}OIgq{A7sVr@)PX~fbXb|?Y{j%9&B2x21WkV?u5QEUz=T89`tu2B=tw```a z3-Af)0(_de0G~Y2BC#ykBzB0wanNR-{me6km}ODX_TzH}pAZ=>){Va_N({vG8{)_j z^~btdH>5b4vY{5c#a8wNbH+ld7eXqY(OoekrW3JH1BAu!uU58W6WURKi|sZBO&?uU zg=0q-b*`d|>?OL04iSLO7lUAApfFVjZjD52@HLb)fOag6i4ll%nn{GQGze@%IuJrC zYfv1z4tWr;mB*16i7nxof(Vg>Fkou1GO&H-2k;oNIz=qMbx?mvIXxk_d!Y5)Dmc~%f@KGZQZNqXDtckURY#Xbdt|_E2 zMXG@capkkn58JGe#<27d7+v{O7swcZpvg7?G7v*BZvZ&7wKWH8@g32^C}KkkqEgE? zD;lhWf&s+#@_-hXCe!riD@}i%P1m!(9)$%NaeK3F3f7uhF3?M?Xe~P$Wa}Dt3xwT4 zV_7BLBeg*rIAHFm=7OM83zPf~k$4!1uD2^+CW+A2mnk{BgCS^IiqOiVioZg=TnH3a zECk0e8xTdX0yT9lIA-OQ8ceC(gmtkmvKzDd57Cu>!laT^+k^GH!4I*OZy^=!+l~AX z=QDatTR0XyMl9Rf+8`Z7wFb-thJCPP+V%yT zW2O4UebFp6~|6ahG7D{_#Td8{0^O}Hsk%LZ+`E)Z@f6osei!PKkwAQ7-3 zS+S`|Z1r3Sv%88#g`x^d)dg!{nt^UG4kEE^1blf;^JCdqzfJn$3q*=J#;96t)fDw4 zlri-WAk)li zr%AyPpMt?U@T4(Mz`}^Z?1Iv@BQ2qug3XZ_jImIJMi!UBZQyiBq+v&Q%C;kAD|dps zo2itz#(MJzRzccsU^i@oTL5qwx}lCp!@f65@lMy6$Kq-Ll~!Sr!2Z*QiGtfOa0Q&k zN-(?)eSn8xe0iDFOl@Sjbf^(M#~j*b=(-8$xpAaI;O$O~5RC_c3RoLjhC^vU2DnP& zDyUg<>FRt$rC~lck78jh1Cv0t0Y*k{c5VnZC>xWdsov(b6_wr?I>G1&ZFAcWLXWIG z3LOOTU$k^%5?ft@q9kAm3so=#qXHO079g|)L9%13%eo$}u0|plT?lC?Cg?g{##Y}& z?UapWgTY#CnE*xd9ONumgGmM2&~a4N*mt2$eK3e|_eYQew(xn6QrosonxX!ype*CF zxn}xFX8K&GnSN5&)k9RW$5G5THMN+Z)ME3ba(`^~F{%w9k9CAv;7Mp~*aT(h*Z?hN z&Fe?1misbHCK=h)_=`}G7?sxh0QumA60SdXg7yg}`l;9no!DP&4K`Ax#irQf)z}G= z`$TN@7opG00&y&;c7`r=cJv<7zu#C*=~(}cU^uq&9RNV!O2n=Y)&WuKZQ@G40kI`^ zt`UpKIa4f6>|x1Z%CJraFc+afLy$XM{Ihol$QeN6Ds7Me4GHMtkLlcV>8gvZz8zSD z6P}4cE#v!FqpP3L0et{H?T$1AgS*)hS3sh`RhII$gyO;DfA_&{y?=HuTLtFW-&uiB z4J@hv#GdQPwqRpy^*PWqf`uVAPkh?Kpfc5Y#BQ*p&fGG?Tfn&4l@K2GorsU%fz+1l zsQj3y{Zmi31KNK0&>_4td7mYn&f)2F-=Sl(J-5E`)=baQ!~HWo{e5qAdT#AIdU$5~ zc-qMv#*s*qC856FzTP8;d-3F4^ngC1mNdFI+mg6>ient~8T2~mc3R{nmQ32OyRVpD zz{8I!weWBS<4v0MB4j~sOl9q*4=NjvP`tS#hq z5F#(u{C5!0JbCzTd~ZLC_j%oB%Vc6G@%EQL{Y$6MzW2?)`VSu+cqH-1FLxq;@V4_A z=hAuJ5Y%9(fJfAn&l@70#}8i5>+gzOK<`3kTI5l*>HYh8#@oHr#_yl5l*6-pibJ{F zD1KieN&&~whv>5W_x4EpT^lR@Tk2ns0v4WbjHk-OAHT6t^F(Nf#&vL(JA=>J2W)xC zpK8R90(!3`aEx=W48s$gfKPWE{@@h8$K({^{P$eV-+!0So;E$eJBL33lkhqF{8xid zRkI2kLTI5?`oih0rOz}Dmm*z|{MV_qlE|eWb<+hAE%EW1JJ6^FoXi;_-I3R~v`fnz z!eN#9I|~0YXaH|FG?!i=pktMNEMr9OAwTjtQVP~_JV)B9v^xYWx443Ya@8j$NaDQ% z;i`J~suPq>Q=Z52UmqN${2ak?La$=Pz8X-6R4~VVymXMO!m7HDUbtxKwB^4Eeabz( z;dssyV7wN=%ZNOsorAv|*Lk*pwc~9f?d~|+fd%QKFR7Qi6pwMYJ{`Sm)uV0YD#V5{ zSL1U?X=c3f<`fx^wydIU^*D(Cai!J9@|!8P6}|4zdIOjdo?!7Fsktfi!_;NJ|7!kC W@T~`U7loO=e>KDUw}Jd{6!?EH&*5hP diff --git a/lib/Release/icu.net readme.txt b/lib/Release/icu.net readme.txt deleted file mode 100644 index 275fb9141..000000000 --- a/lib/Release/icu.net readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -icu.net is a wrapper around the icu dlls (icuin40.dll, icuuc40.dll, icudt40.dll). -The ICU dlls can be quite large. The versions here have been built with the minimum support for collation (which is all that icu.net provides now), the UCA tables but no locales - -These can be replaced with versions that are full or not included at all. If they are not included then when you try to construct a class in icu.net, you will get a DllNotFoundException. From c3af67cb2482fbf0e886a5aeb9d1ed7f86dc039d Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 19 Feb 2019 12:41:58 +0100 Subject: [PATCH 32/49] Remove obsolete files These files are no longer needed now that we use alltags.json. --- build/getlanguagedata.sh | 92 - lib/common/languageCodes.txt | 7645 ---------------------------------- 2 files changed, 7737 deletions(-) delete mode 100755 build/getlanguagedata.sh delete mode 100644 lib/common/languageCodes.txt diff --git a/build/getlanguagedata.sh b/build/getlanguagedata.sh deleted file mode 100755 index 939f1bbee..000000000 --- a/build/getlanguagedata.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=bt99 -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl $1 $2 -elif [ "$where_wget" != "" ] -then -copy_wget $1 $2 -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z $2 -o $2 $1 -else -curl -# -L -o $2 $1 -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N $1 -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: Project with dependency on specific generated LanguageDataIndex build (bt99) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt99 -# VCS: https://github.com/sillsdev/libpalaso.git [] -# dependencies: -# [0] build: Generate and Test LanguageDataIndex (bt98) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt98 -# clean: false -# revision: latest.lastSuccessful -# paths: {"ianaSubtagRegistry.txt"=>"SIL.WritingSystems/Resources", "LanguageCodes.txt"=>"SIL.WritingSystems/Resources", "LanguageDataIndex.txt"=>"SIL.WritingSystems/Resources", "LanguageDataIndex.json"=>"SIL.WritingSystems/Resources", "LanguageIndex.txt"=>"SIL.WritingSystems/Resources", "TwoToThreeCodes.txt"=>"SIL.WritingSystems/Resources"} -# VCS: https://github.com/sillsdev/libpalaso.git [master] - -# make sure output directories exist -mkdir -p ../SIL.WritingSystems/Resources - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/ianaSubtagRegistry.txt ../SIL.WritingSystems/Resources/ianaSubtagRegistry.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageCodes.txt ../SIL.WritingSystems/Resources/LanguageCodes.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageDataIndex.txt ../SIL.WritingSystems/Resources/LanguageDataIndex.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageDataIndex.json ../SIL.WritingSystems/Resources/LanguageDataIndex.json -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageIndex.txt ../SIL.WritingSystems/Resources/LanguageIndex.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/TwoToThreeCodes.txt ../SIL.WritingSystems/Resources/TwoToThreeCodes.txt -# End of script diff --git a/lib/common/languageCodes.txt b/lib/common/languageCodes.txt deleted file mode 100644 index f658e7a59..000000000 --- a/lib/common/languageCodes.txt +++ /dev/null @@ -1,7645 +0,0 @@ -Id Part2B Part2T Part1 Scope Type Ref_Name -aaa I L Ghotuo -aab I L Alumu-Tesu -aac I L Ari -aad I L Amal -aae I L Arbëreshë Albanian -aaf I L Aranadan -aag I L Ambrak -aai I L Arifama-Miniafia -aak I L Ankave -aal I L Afade -aam I L Aramanik -aan I L Anambé -aao I L Algerian Saharan Arabic -aap I L Pará Arára -aaq I E Eastern Abnaki -aar aar aar aa I L Afar -aas I L Aasáx -aat I L Arvanitika Albanian -aau I L Abau -aaw I L Solong -aax I L Mandobo Atas -aay I L Aariya -aaz I L Amarasi -aba I L Abé -abb I L Bankon -abc I L Ambala Ayta -abd I L Camarines Norte Agta -abe I L Western Abnaki -abf I L Abai Sungai -abg I L Abaga -abh I L Tajiki Arabic -abi I L Abidji -abj I E Aka-Bea -abk abk abk ab I L Abkhazian -abl I L Abung -abm I L Abanyom -abn I L Abua -abo I L Abon -abp I L Abenlen Ayta -abq I L Abaza -abr I L Abron -abs I L Ambonese Malay -abt I L Ambulas -abu I L Abure -abv I L Baharna Arabic -abw I L Pal -abx I L Inabaknon -aby I L Aneme Wake -abz I L Abui -aca I L Achagua -acb I L Áncá -acc I L Cubulco Achí -acd I L Gikyode -ace ace ace I L Achinese -acf I L Saint Lucian Creole French -ach ach ach I L Acoli -aci I E Aka-Cari -ack I E Aka-Kora -acl I E Akar-Bale -acm I L Mesopotamian Arabic -acn I L Achang -acp I L Eastern Acipa -acq I L Ta'izzi-Adeni Arabic -acr I L Rabinal Achí -acs I E Acroá -act I L Achterhoeks -acu I L Achuar-Shiwiar -acv I L Achumawi -acw I L Hijazi Arabic -acx I L Omani Arabic -acy I L Cypriot Arabic -acz I L Acheron -ada ada ada I L Adangme -adb I L Adabe -add I L Dzodinka -ade I L Adele -adf I L Dhofari Arabic -adg I L Andegerebinha -adh I L Adhola -adi I L Adi -adj I L Adioukrou -adl I L Galo Adi -adn I L Adang -ado I L Abu -adp I L Adap -adq I L Adangbe -adr I L Adonara -ads I L Adamorobe Sign Language -adt I L Adnyamathanha -adu I L Aduge -adw I L Amundava -adx I L Amdo Tibetan -ady ady ady I L Adyghe -aea I L Areba -aeb I L Tunisian Arabic -aec I L Saidi Arabic -aed I L Argentine Sign Language -aee I L Northeast Pashayi -aek I L Haeke -ael I L Ambele -aem I L Arem -aen I L Armenian Sign Language -aeq I L Aer -aer I L Eastern Arrernte -aes I E Alsea -aew I L Ambakich -aex I L Amerax -aey I L Amele -afb I L Gulf Arabic -afe I L Putukwam -afg I L Afghan Sign Language -afh afh afh I C Afrihili -afi I L Akrukay -afn I L Defaka -afo I L Eloyi -afr afr afr af I L Afrikaans -afs I L Afro-Seminole Creole -aft I L Afitti -afu I L Awutu -afz I L Obokuitai -aga I E Aguano -agb I L Legbo -agc I L Agatu -agd I L Agarabi -age I L Angal -agf I L Arguni -agg I L Angor -agh I L Ngelima -agi I L Agariya -agj I L Argobba -agk I L Isarog Agta -agl I L Fembe -agm I L Angaatiha -agn I L Agutaynen -ago I L Tainae -agp I L Paranan -agq I L Aghem -agr I L Aguaruna -ags I L Esimbi -agt I L Central Cagayan Agta -agu I L Aguacateco -agv I L Remontado Agta -agw I L Kahua -agx I L Aghul -agy I L Southern Alta -agz I L Mt. Iriga Agta -aha I L Ahanta -ahb I L Axamb -ahe I L Ahe -ahg I L Qimant -ahh I L Aghu -ahi I L Tiagbamrin Aizi -ahk I L Akha -ahl I L Igo -ahm I L Mobumrin Aizi -ahn I L Àhàn -aho I E Ahom -ahp I L Aproumu Aizi -ahr I L Ahirani -ahs I L Ashe -aht I L Ahtena -aia I L Arosi -aib I L Ainu (China) -aic I L Ainbai -aid I L Alngith -aie I L Amara -aif I L Agi -aig I L Antigua and Barbuda Creole English -aih I L Ai-Cham -aii I L Assyrian Neo-Aramaic -aij I L Lishanid Noshan -aik I L Ake -ail I L Aimele -aim I L Aimol -ain ain ain I L Ainu (Japan) -aio I L Aiton -aip I L Burumakok -aiq I L Aimaq -air I L Airoran -ais I L Nataoran Amis -ait I E Arikem -aix I L Aigon -aiy I L Ali -aiz I L Aari -aja I L Aja (Sudan) -ajg I L Aja (Benin) -aji I L Ajië -ajp I L South Levantine Arabic -ajt I L Judeo-Tunisian Arabic -aju I L Judeo-Moroccan Arabic -ajw I E Ajawa -ajz I L Amri Karbi -aka aka aka ak M L Akan -akb I L Batak Angkola -akc I L Mpur -akd I L Ukpet-Ehom -ake I L Akawaio -akf I L Akpa -akg I L Anakalangu -akh I L Angal Heneng -aki I L Aiome -akj I E Aka-Jeru -akk akk akk I A Akkadian -akl I L Aklanon -akm I E Aka-Bo -akn I L Amikoana -ako I L Akurio -akp I L Siwu -akq I L Ak -akr I L Araki -aks I L Akaselem -akt I L Akolet -aku I L Akum -akv I L Akhvakh -akw I L Akwa -akx I E Aka-Kede -aky I E Aka-Kol -akz I L Alabama -ala I L Alago -alc I L Qawasqar -ald I L Alladian -ale ale ale I L Aleut -alf I L Alege -alh I L Alawa -ali I L Amaimon -alj I L Alangan -alk I L Alak -all I L Allar -alm I L Amblong -aln I L Gheg Albanian -alo I L Larike-Wakasihu -alp I L Alune -alq I L Algonquin -alr I L Alutor -als I L Tosk Albanian -alt alt alt I L Southern Altai -alu I L 'Are'are -alw I L Alaba -alx I L Amol -aly I L Alyawarr -alz I L Alur -ama I E Amanayé -amb I L Ambo -amc I L Amahuaca -ame I L Yanesha' -amf I L Hamer-Banna -amg I L Amarag -amh amh amh am I L Amharic -ami I L Amis -amj I L Amdang -amk I L Ambai -aml I L War-Jaintia -amm I L Ama (Papua New Guinea) -amn I L Amanab -amo I L Amo -amp I L Alamblak -amq I L Amahai -amr I L Amarakaeri -ams I L Southern Amami-Oshima -amt I L Amto -amu I L Guerrero Amuzgo -amv I L Ambelau -amw I L Western Neo-Aramaic -amx I L Anmatyerre -amy I L Ami -amz I L Atampaya -ana I E Andaqui -anb I E Andoa -anc I L Ngas -and I L Ansus -ane I L Xârâcùù -anf I L Animere -ang ang ang I H Old English (ca. 450-1100) -anh I L Nend -ani I L Andi -anj I L Anor -ank I L Goemai -anl I L Anu -anm I L Anal -ann I L Obolo -ano I L Andoque -anp anp anp I L Angika -anq I L Jarawa (India) -anr I L Andh -ans I E Anserma -ant I L Antakarinya -anu I L Anuak -anv I L Denya -anw I L Anaang -anx I L Andra-Hus -any I L Anyin -anz I L Anem -aoa I L Angolar -aob I L Abom -aoc I L Pemon -aod I L Andarum -aoe I L Angal Enen -aof I L Bragat -aog I L Angoram -aoh I E Arma -aoi I L Anindilyakwa -aoj I L Mufian -aok I L Arhö -aol I L Alor -aom I L Ömie -aon I L Bumbita Arapesh -aor I L Aore -aos I L Taikat -aot I L A'tong -aox I L Atorada -aoz I L Uab Meto -apb I L Sa'a -apc I L North Levantine Arabic -apd I L Sudanese Arabic -ape I L Bukiyip -apg I L Ampanang -aph I L Athpariya -api I L Apiaká -apj I L Jicarilla Apache -apk I L Kiowa Apache -apl I L Lipan Apache -apm I L Mescalero-Chiricahua Apache -apn I L Apinayé -apo I L Apalik -app I L Apma -apq I L A-Pucikwar -apr I L Arop-Lukep -aps I L Arop-Sissano -apt I L Apatani -apu I L Apurinã -apw I L Western Apache -apx I L Aputai -apy I L Apalaí -apz I L Safeyoka -aqc I L Archi -aqg I L Arigidi -aqm I L Atohwaim -aqn I L Northern Alta -aqp I E Atakapa -aqr I L Arhâ -ara ara ara ar M L Arabic -arb I L Standard Arabic -arc arc arc I A Official Aramaic (700 - 300 BCE) -ard I L Arabana -are I L Western Arrarnta -arf I L Arafundi -arg arg arg an I L Aragonese -arh I L Arhuaco -ari I L Arikara -arj I E Arapaso -ark I L Arikapú -arl I L Arabela -arn arn arn I L Mapudungun -aro I L Araona -arp arp arp I L Arapaho -arq I L Algerian Arabic -arr I L Karo (Brazil) -ars I L Najdi Arabic -aru I E Arua -arv I L Arbore -arw arw arw I L Arawak -arx I L Aruá -ary I L Moroccan Arabic -arz I L Egyptian Arabic -asa I L Asu (Tanzania) -asb I L Assiniboine -asc I L Casuarina Coast Asmat -asd I L Asas -ase I L American Sign Language -asf I L Australian Sign Language -asg I L Cishingini -ash I E Abishira -asi I L Buruwai -asj I L Nsari -ask I L Ashkun -asl I L Asilulu -asm asm asm as I L Assamese -asn I L Xingú Asuriní -aso I L Dano -asp I L Algerian Sign Language -asq I L Austrian Sign Language -asr I L Asuri -ass I L Ipulo -ast ast ast I L Asturian -asu I L Tocantins Asurini -asv I L Asoa -asw I L Australian Aborigines Sign Language -asx I L Muratayak -asy I L Yaosakor Asmat -asz I L As -ata I L Pele-Ata -atb I L Zaiwa -atc I E Atsahuaca -atd I L Ata Manobo -ate I L Atemble -atf I L Atuence -atg I L Ivbie North-Okpela-Arhe -ati I L Attié -atj I L Atikamekw -atk I L Ati -atl I L Mt. Iraya Agta -atm I L Ata -atn I L Ashtiani -ato I L Atong -atp I L Pudtol Atta -atq I L Aralle-Tabulahan -atr I L Waimiri-Atroari -ats I L Gros Ventre -att I L Pamplona Atta -atu I L Reel -atv I L Northern Altai -atw I L Atsugewi -atx I L Arutani -aty I L Aneityum -atz I L Arta -aua I L Asumboa -auc I L Waorani -aud I L Anuta -aue I L =/Kx'au//'ein -aug I L Aguna -auh I L Aushi -aui I L Anuki -auj I L Awjilah -auk I L Heyo -aul I L Aulua -aum I L Asu (Nigeria) -aun I L Molmo One -auo I E Auyokawa -aup I L Makayam -auq I L Anus -aur I L Aruek -aut I L Austral -auu I L Auye -auw I L Awyi -aux I L Aurá -auy I L Awiyaana -auz I L Uzbeki Arabic -ava ava ava av I L Avaric -avb I L Avau -avd I L Alviri-Vidari -ave ave ave ae I A Avestan -avi I L Avikam -avl I L Eastern Egyptian Bedawi Arabic -avn I L Avatime -avo I E Agavotaguerra -avs I E Aushiri -avt I L Au -avu I L Avokaya -avv I L Avá-Canoeiro -awa awa awa I L Awadhi -awb I L Awa -awc I L Western Acipa -awe I L Awetí -awh I L Awbono -awi I L Aekyom -awk I E Awabakal -awm I L Arawum -awn I L Awngi -awo I L Awak -awr I L Awera -aws I L South Awyu -awt I L Araweté -awu I L Central Awyu -awv I L Jair Awyu -aww I L Awun -awx I L Awara -awy I L Edera Awyu -axb I E Abipon -axg I E Mato Grosso Arára -axk I L Yaka (Central African Republic) -axm I H Middle Armenian -axx I L Xaragure -aya I L Awar -ayb I L Ayizo Gbe -ayc I L Southern Aymara -ayd I L Ayabadhu -aye I L Ayere -ayg I L Ginyanga -ayh I L Hadrami Arabic -ayi I L Leyigha -ayk I L Akuku -ayl I L Libyan Arabic -aym aym aym ay M L Aymara -ayn I L Sanaani Arabic -ayo I L Ayoreo -ayp I L North Mesopotamian Arabic -ayq I L Ayi (Papua New Guinea) -ayr I L Central Aymara -ays I L Sorsogon Ayta -ayt I L Bataan Ayta -ayu I L Ayu -ayx I L Ayi (China) -ayy I E Tayabas Ayta -ayz I L Mai Brat -azb I L South Azerbaijani -aze aze aze az M L Azerbaijani -azg I L San Pedro Amuzgos Amuzgo -azj I L North Azerbaijani -azm I L Ipalapa Amuzgo -azo I L Awing -azr I L Adzera -azt I L Faire Atta -azz I L Highland Puebla Nahuatl -baa I L Babatana -bab I L Bainouk-Gunyuño -bac I L Badui -bae I E Baré -baf I L Nubaca -bag I L Tuki -bah I L Bahamas Creole English -baj I L Barakai -bak bak bak ba I L Bashkir -bal bal bal M L Baluchi -bam bam bam bm I L Bambara -ban ban ban I L Balinese -bao I L Waimaha -bap I L Bantawa -bar I L Bavarian -bas bas bas I L Basa (Cameroon) -bau I L Bada (Nigeria) -bav I L Vengo -baw I L Bambili-Bambui -bax I L Bamun -bay I L Batuley -baz I L Tunen -bba I L Baatonum -bbb I L Barai -bbc I L Batak Toba -bbd I L Bau -bbe I L Bangba -bbf I L Baibai -bbg I L Barama -bbh I L Bugan -bbi I L Barombi -bbj I L Ghomálá' -bbk I L Babanki -bbl I L Bats -bbm I L Babango -bbn I L Uneapa -bbo I L Northern Bobo Madaré -bbp I L West Central Banda -bbq I L Bamali -bbr I L Girawa -bbs I L Bakpinka -bbt I L Mburku -bbu I L Kulung (Nigeria) -bbv I L Karnai -bbw I L Baba -bbx I L Bubia -bby I L Befang -bbz I L Babalia Creole Arabic -bca I L Central Bai -bcb I L Bainouk-Samik -bcc I L Southern Balochi -bcd I L North Babar -bce I L Bamenyam -bcf I L Bamu -bcg I L Baga Binari -bch I L Bariai -bci I L Baoulé -bcj I L Bardi -bck I L Bunaba -bcl I L Central Bicolano -bcm I L Bannoni -bcn I L Bali (Nigeria) -bco I L Kaluli -bcp I L Bali (Democratic Republic of Congo) -bcq I L Bench -bcr I L Babine -bcs I L Kohumono -bct I L Bendi -bcu I L Awad Bing -bcv I L Shoo-Minda-Nye -bcw I L Bana -bcx I L Pamona -bcy I L Bacama -bcz I L Bainouk-Gunyaamolo -bda I L Bayot -bdb I L Basap -bdc I L Emberá-Baudó -bdd I L Bunama -bde I L Bade -bdg I L Bonggi -bdh I L Baka (Sudan) -bdi I L Burun -bdj I L Bai -bdk I L Budukh -bdl I L Indonesian Bajau -bdm I L Buduma -bdn I L Baldemu -bdo I L Bernde -bdp I L Bende -bdq I L Bahnar -bdr I L West Coast Bajau -bds I L Burunge -bdt I L Bokoto -bdu I L Oroko -bdv I L Bodo Parja -bdw I L Baham -bdx I L Budong-Budong -bdy I L Bandjalang -bdz I L Badeshi -bea I L Beaver -beb I L Bebele -bec I L Iceve-Maci -bed I L Bedoanas -bee I L Byangsi -bef I L Benabena -beg I L Belait -beh I L Biali -bei I L Bekati' -bej bej bej I L Beja -bek I L Bebeli -bel bel bel be I L Belarusian -bem bem bem I L Bemba (Zambia) -ben ben ben bn I L Bengali -beo I L Beami -bep I L Besoa -beq I L Beembe -bes I L Besme -bet I L Guiberoua Béte -beu I L Blagar -bev I L Daloa Bété -bew I L Betawi -bex I L Jur Modo -bey I L Beli (Papua New Guinea) -bez I L Bena (Tanzania) -bfa I L Bari -bfb I L Pauri Bareli -bfc I L Northern Bai -bfd I L Bafut -bfe I L Betaf -bff I L Bofi -bfg I L Busang Kayan -bfh I L Blafe -bfi I L British Sign Language -bfj I L Bafanji -bfk I L Ban Khor Sign Language -bfl I L Banda-Ndélé -bfm I L Mmen -bfn I L Bunak -bfo I L Malba Birifor -bfp I L Beba -bfq I L Badaga -bfr I L Bazigar -bfs I L Southern Bai -bft I L Balti -bfu I L Gahri -bfw I L Bondo -bfy I L Bagheli -bfz I L Mahasu Pahari -bga I L Gwamhi-Wuri -bgb I L Bobongko -bgc I L Haryanvi -bgd I L Rathwi Bareli -bge I L Bauria -bgf I L Bangandu -bgg I L Bugun -bgi I L Giangan -bgj I L Bangolan -bgk I L Bit -bgl I L Bo (Laos) -bgm I L Baga Mboteni -bgn I L Western Balochi -bgo I L Baga Koga -bgp I L Eastern Balochi -bgq I L Bagri -bgr I L Bawm Chin -bgs I L Tagabawa -bgt I L Bughotu -bgu I L Mbongno -bgv I L Warkay-Bipim -bgw I L Bhatri -bgx I L Balkan Gagauz Turkish -bgy I L Benggoi -bgz I L Banggai -bha I L Bharia -bhb I L Bhili -bhc I L Biga -bhd I L Bhadrawahi -bhe I L Bhaya -bhf I L Odiai -bhg I L Binandere -bhh I L Bukharic -bhi I L Bhilali -bhj I L Bahing -bhk I L Albay Bicolano -bhl I L Bimin -bhm I L Bathari -bhn I L Bohtan Neo-Aramaic -bho bho bho I L Bhojpuri -bhp I L Bima -bhq I L Tukang Besi South -bhr I L Bara Malagasy -bhs I L Buwal -bht I L Bhattiyali -bhu I L Bhunjia -bhv I L Bahau -bhw I L Biak -bhx I L Bhalay -bhy I L Bhele -bhz I L Bada (Indonesia) -bia I L Badimaya -bib I L Bissa -bic I L Bikaru -bid I L Bidiyo -bie I L Bepour -bif I L Biafada -big I L Biangai -bii I L Bisu -bij I L Vaghat-Ya-Bijim-Legeri -bik bik bik M L Bikol -bil I L Bile -bim I L Bimoba -bin bin bin I L Bini -bio I L Nai -bip I L Bila -biq I L Bipi -bir I L Bisorio -bis bis bis bi I L Bislama -bit I L Berinomo -biu I L Biete -biv I L Southern Birifor -biw I L Kol (Cameroon) -bix I L Bijori -biy I L Birhor -biz I L Baloi -bja I L Budza -bjb I E Banggarla -bjc I L Bariji -bjd I L Bandjigali -bje I L Biao-Jiao Mien -bjf I L Barzani Jewish Neo-Aramaic -bjg I L Bidyogo -bjh I L Bahinemo -bji I L Burji -bjj I L Kanauji -bjk I L Barok -bjl I L Bulu (Papua New Guinea) -bjm I L Bajelani -bjn I L Banjar -bjo I L Mid-Southern Banda -bjq I L Southern Betsimisaraka Malagasy -bjr I L Binumarien -bjs I L Bajan -bjt I L Balanta-Ganja -bju I L Busuu -bjv I L Bedjond -bjw I L Bakwé -bjx I L Banao Itneg -bjy I E Bayali -bjz I L Baruga -bka I L Kyak -bkb I L Finallig -bkc I L Baka (Cameroon) -bkd I L Binukid -bke I L Bengkulu -bkf I L Beeke -bkg I L Buraka -bkh I L Bakoko -bki I L Baki -bkj I L Pande -bkk I L Brokskat -bkl I L Berik -bkm I L Kom (Cameroon) -bkn I L Bukitan -bko I L Kwa' -bkp I L Boko (Democratic Republic of Congo) -bkq I L Bakairí -bkr I L Bakumpai -bks I L Masbate Sorsogon -bkt I L Boloki -bku I L Buhid -bkv I L Bekwarra -bkw I L Bekwil -bkx I L Baikeno -bky I L Bokyi -bkz I L Bungku -bla bla bla I L Siksika -blb I L Bilua -blc I L Bella Coola -bld I L Bolango -ble I L Balanta-Kentohe -blf I L Buol -blg I L Balau -blh I L Kuwaa -bli I L Bolia -blj I L Bolongan -blk I L Pa'o Karen -bll I E Biloxi -blm I L Beli (Sudan) -bln I L Southern Catanduanes Bicolano -blo I L Anii -blp I L Blablanga -blq I L Baluan-Pam -blr I L Blang -bls I L Balaesang -blt I L Tai Dam -blu I L Hmong Njua -blv I L Bolo -blw I L Balangao -blx I L Mag-Indi Ayta -bly I L Notre -blz I L Balantak -bma I L Lame -bmb I L Bembe -bmc I L Biem -bmd I L Baga Manduri -bme I L Limassa -bmf I L Bom -bmg I L Bamwe -bmh I L Kein -bmi I L Bagirmi -bmj I L Bote-Majhi -bmk I L Ghayavi -bml I L Bomboli -bmm I L Northern Betsimisaraka Malagasy -bmn I E Bina (Papua New Guinea) -bmo I L Bambalang -bmp I L Bulgebi -bmq I L Bomu -bmr I L Muinane -bms I L Bilma Kanuri -bmt I L Biao Mon -bmu I L Burum-Mindik -bmv I L Bum -bmw I L Bomwali -bmx I L Baimak -bmy I L Bemba (Democratic Republic of Congo) -bmz I L Baramu -bna I L Bonerate -bnb I L Bookan -bnc I L Central Bontoc -bnd I L Banda (Indonesia) -bne I L Bintauna -bnf I L Masiwang -bng I L Benga -bni I L Bangi -bnj I L Eastern Tawbuid -bnk I L Bierebo -bnl I L Boon -bnm I L Batanga -bnn I L Bunun -bno I L Bantoanon -bnp I L Bola -bnq I L Bantik -bnr I L Butmas-Tur -bns I L Bundeli -bnu I L Bentong -bnv I L Bonerif -bnw I L Bisis -bnx I L Bangubangu -bny I L Bintulu -bnz I L Beezen -boa I L Bora -bob I L Aweer -boc I L Bakung Kenyah -bod tib bod bo I L Tibetan -boe I L Mundabli -bof I L Bolon -bog I L Bamako Sign Language -boh I L Boma -boi I E Barbareño -boj I L Anjam -bok I L Bonjo -bol I L Bole -bom I L Berom -bon I L Bine -boo I L Tiemacèwè Bozo -bop I L Bonkiman -boq I L Bogaya -bor I L Borôro -bos bos bos bs I L Bosnian -bot I L Bongo -bou I L Bondei -bov I L Tuwuli -bow I E Rema -box I L Buamu -boy I L Bodo (Central African Republic) -boz I L Tiéyaxo Bozo -bpa I L Dakaka -bpb I E Barbacoas -bpd I L Banda-Banda -bpg I L Bonggo -bph I L Botlikh -bpi I L Bagupi -bpj I L Binji -bpk I L Orowe -bpl I L Broome Pearling Lugger Pidgin -bpm I L Biyom -bpn I L Dzao Min -bpo I L Anasi -bpp I L Kaure -bpq I L Banda Malay -bpr I L Koronadal Blaan -bps I L Sarangani Blaan -bpt I L Barrow Point -bpu I L Bongu -bpv I L Bian Marind -bpw I L Bo (Papua New Guinea) -bpx I L Palya Bareli -bpy I L Bishnupriya -bpz I L Bilba -bqa I L Tchumbuli -bqb I L Bagusa -bqc I L Boko (Benin) -bqd I L Bung -bqe I L Navarro-Labourdin Basque -bqf I E Baga Kaloum -bqg I L Bago-Kusuntu -bqh I L Baima -bqi I L Bakhtiari -bqj I L Bandial -bqk I L Banda-Mbrès -bql I L Bilakura -bqm I L Wumboko -bqn I L Bulgarian Sign Language -bqo I L Balo -bqp I L Busa -bqq I L Biritai -bqr I L Burusu -bqs I L Bosngun -bqt I L Bamukumbit -bqu I L Boguru -bqv I L Begbere-Ejar -bqw I L Buru (Nigeria) -bqx I L Baangi -bqy I L Bali Sign Language -bqz I L Bakaka -bra bra bra I L Braj -brb I L Lave -brc I L Berbice Creole Dutch -brd I L Baraamu -bre bre bre br I L Breton -brf I L Bera -brg I L Baure -brh I L Brahui -bri I L Mokpwe -brj I L Bieria -brk I E Birked -brl I L Birwa -brm I L Barambu -brn I L Boruca -bro I L Brokkat -brp I L Barapasi -brq I L Breri -brr I L Birao -brs I L Baras -brt I L Bitare -bru I L Eastern Bru -brv I L Western Bru -brw I L Bellari -brx I L Bodo (India) -bry I L Burui -brz I L Bilbil -bsa I L Abinomn -bsb I L Brunei Bisaya -bsc I L Bassari -bsd I L Sarawak Bisaya -bse I L Wushi -bsf I L Bauchi -bsg I L Bashkardi -bsh I L Kati -bsi I L Bassossi -bsj I L Bangwinji -bsk I L Burushaski -bsl I E Basa-Gumna -bsm I L Busami -bsn I L Barasana-Eduria -bso I L Buso -bsp I L Baga Sitemu -bsq I L Bassa -bsr I L Bassa-Kontagora -bss I L Akoose -bst I L Basketo -bsu I L Bahonsuai -bsv I E Baga Sobané -bsw I L Baiso -bsx I L Yangkam -bsy I L Sabah Bisaya -bsz I L Souletin Basque -bta I L Bata -btb I L Beti (Cameroon) -btc I L Bati (Cameroon) -btd I L Batak Dairi -bte I E Gamo-Ningi -btf I L Birgit -btg I L Gagnoa Bété -bth I L Biatah -bti I L Burate -btj I L Bacanese Malay -btl I L Bhatola -btm I L Batak Mandailing -btn I L Ratagnon -bto I L Iriga Bicolano -btp I L Budibud -btq I L Batek -btr I L Baetora -bts I L Batak Simalungun -btt I L Bete-Bendi -btu I L Batu -btv I L Bateri -btw I L Butuanon -btx I L Batak Karo -bty I L Bobot -btz I L Batak Alas-Kluet -bua bua bua M L Buriat -bub I L Bua -buc I L Bushi -bud I L Ntcham -bue I E Beothuk -buf I L Bushoong -bug bug bug I L Buginese -buh I L Younuo Bunu -bui I L Bongili -buj I L Basa-Gurmana -buk I L Bugawac -bul bul bul bg I L Bulgarian -bum I L Bulu (Cameroon) -bun I L Sherbro -buo I L Terei -bup I L Busoa -buq I L Brem -bus I L Bokobaru -but I L Bungain -buu I L Budu -buv I L Bun -buw I L Bubi -bux I L Boghom -buy I L Bullom So -buz I L Bukwen -bva I L Barein -bvb I L Bube -bvc I L Baelelea -bvd I L Baeggu -bve I L Berau Malay -bvf I L Boor -bvg I L Bonkeng -bvh I L Bure -bvi I L Belanda Viri -bvj I L Baan -bvk I L Bukat -bvl I L Bolivian Sign Language -bvm I L Bamunka -bvn I L Buna -bvo I L Bolgo -bvq I L Birri -bvr I L Burarra -bvt I L Bati (Indonesia) -bvu I L Bukit Malay -bvv I E Baniva -bvw I L Boga -bvx I L Dibole -bvz I L Bauzi -bwa I L Bwatoo -bwb I L Namosi-Naitasiri-Serua -bwc I L Bwile -bwd I L Bwaidoka -bwe I L Bwe Karen -bwf I L Boselewa -bwg I L Barwe -bwh I L Bishuo -bwi I L Baniwa -bwj I L Láá Láá Bwamu -bwk I L Bauwaki -bwl I L Bwela -bwm I L Biwat -bwn I L Wunai Bunu -bwo I L Boro -bwp I L Mandobo Bawah -bwq I L Southern Bobo Madaré -bwr I L Bura-Pabir -bws I L Bomboma -bwt I L Bafaw-Balong -bwu I L Buli (Ghana) -bwv I L Bahau River Kenyah -bww I L Bwa -bwx I L Bu-Nao Bunu -bwy I L Cwi Bwamu -bwz I L Bwisi -bxa I L Bauro -bxb I L Belanda Bor -bxc I L Molengue -bxd I L Pela -bxe I L Birale -bxf I L Bilur -bxg I L Bangala -bxh I L Buhutu -bxi I E Pirlatapa -bxj I L Bayungu -bxk I L Bukusu -bxl I L Jalkunan -bxm I L Mongolia Buriat -bxn I L Burduna -bxo I L Barikanchi -bxp I L Bebil -bxq I L Beele -bxr I L Russia Buriat -bxs I L Busam -bxt I L Buxinhua -bxu I L China Buriat -bxv I L Berakou -bxw I L Bankagooma -bxx I L Borna -bxz I L Binahari -bya I L Batak -byb I L Bikya -byc I L Ubaghara -byd I L Benyadu' -bye I L Pouye -byf I L Bete -byg I E Baygo -byh I L Bujhyal -byi I L Buyu -byj I L Bina (Nigeria) -byk I L Biao -byl I L Bayono -bym I L Bidyara -byn byn byn I L Bilin -byo I L Biyo -byp I L Bumaji -byq I E Basay -byr I L Baruya -bys I L Burak -byt I E Berti -byu I L Buyang -byv I L Medumba -byw I L Belhariya -byx I L Qaqet -byy I L Buya -byz I L Banaro -bza I L Bandi -bzb I L Andio -bzd I L Bribri -bze I L Jenaama Bozo -bzf I L Boikin -bzg I L Babuza -bzh I L Mapos Buang -bzj I L Belize Kriol English -bzk I L Nicaragua Creole English -bzl I L Boano (Sulawesi) -bzm I L Bolondo -bzn I L Boano (Maluku) -bzo I L Bozaba -bzp I L Kemberano -bzq I L Buli (Indonesia) -bzr I E Biri -bzs I L Brazilian Sign Language -bzt I C Brithenig -bzu I L Burmeso -bzv I L Bebe -bzw I L Basa (Nigeria) -bzx I L Hainyaxo Bozo -bzy I L Obanliku -bzz I L Evant -caa I L Chortí -cab I L Garifuna -cac I L San Sebastián Coatán Chuj -cad cad cad I L Caddo -cae I L Lehar -caf I L Southern Carrier -cag I L Nivaclé -cah I L Cahuarano -caj I E Chané -cak I L Central Cakchiquel -cal I L Carolinian -cam I L Cemuhî -can I L Chambri -cao I L Chácobo -cap I L Chipaya -caq I L Car Nicobarese -car car car I L Galibi Carib -cas I L Tsimané -cat cat cat ca I L Catalan -cav I L Cavineña -caw I L Callawalla -cax I L Chiquitano -cay I L Cayuga -caz I E Canichana -cbb I L Cabiyarí -cbc I L Carapana -cbd I L Carijona -cbe I E Chipiajes -cbg I L Chimila -cbh I E Cagua -cbi I L Chachi -cbj I L Ede Cabe -cbk I L Chavacano -cbl I L Bualkhaw Chin -cbm I L Yepocapa Southwestern Cakchiquel -cbn I L Nyahkur -cbo I L Izora -cbr I L Cashibo-Cacataibo -cbs I L Cashinahua -cbt I L Chayahuita -cbu I L Candoshi-Shapra -cbv I L Cacua -cby I L Carabayo -cca I E Cauca -ccc I L Chamicuro -ccd I L Cafundo Creole -cce I L Chopi -ccg I L Samba Daka -cch I L Atsam -ccj I L Kasanga -ccl I L Cutchi-Swahili -ccm I L Malaccan Creole Malay -cco I L Comaltepec Chinantec -ccp I L Chakma -ccq I L Chaungtha -ccr I E Cacaopera -ccx I L Northern Zhuang -cda I L Choni -cde I L Chenchu -cdf I L Chiru -cdg I L Chamari -cdh I L Chambeali -cdi I L Chodri -cdj I L Churahi -cdm I L Chepang -cdn I L Chaudangsi -cdo I L Min Dong Chinese -cdr I L Cinda-Regi-Tiyal -cds I L Chadian Sign Language -cdz I L Koda -cea I E Lower Chehalis -ceb ceb ceb I L Cebuano -ceg I L Chamacoco -cen I L Cen -ces cze ces cs I L Czech -cet I L Centúúm -cfa I L Dijim-Bwilim -cfd I L Cara -cfg I L Como Karim -cfm I L Falam Chin -cga I L Changriwa -cgc I L Kagayanen -cgg I L Chiga -cgk I L Chocangacakha -cha cha cha ch I L Chamorro -chb chb chb I E Chibcha -chc I E Catawba -chd I L Highland Oaxaca Chontal -che che che ce I L Chechen -chf I L Tabasco Chontal -chg chg chg I E Chagatai -chh I L Chinook -chj I L Ojitlán Chinantec -chk chk chk I L Chuukese -chl I L Cahuilla -chm chm chm M L Mari (Russia) -chn chn chn I L Chinook jargon -cho cho cho I L Choctaw -chp chp chp I L Chipewyan -chq I L Quiotepec Chinantec -chr chr chr I L Cherokee -chs I E Chumash -cht I E Cholón -chu chu chu cu I A Church Slavic -chv chv chv cv I L Chuvash -chw I L Chuwabu -chx I L Chantyal -chy chy chy I L Cheyenne -chz I L Ozumacín Chinantec -cia I L Cia-Cia -cib I L Ci Gbe -cic I L Chickasaw -cid I E Chimariko -cie I L Cineni -cih I L Chinali -cik I L Chitkuli Kinnauri -cim I L Cimbrian -cin I L Cinta Larga -cip I L Chiapanec -cir I L Tiri -ciw I L Chippewa -ciy I L Chaima -cja I L Western Cham -cje I L Chru -cjh I E Upper Chehalis -cji I L Chamalal -cjk I L Chokwe -cjm I L Eastern Cham -cjn I L Chenapian -cjo I L Ashéninka Pajonal -cjp I L Cabécar -cjr I E Chorotega -cjs I L Shor -cjv I L Chuave -cjy I L Jinyu Chinese -cka I L Khumi Awa Chin -ckb I L Central Kurdish -ckc I L Northern Cakchiquel -ckd I L South Central Cakchiquel -cke I L Eastern Cakchiquel -ckf I L Southern Cakchiquel -ckh I L Chak -cki I L Santa María De Jesús Cakchiquel -ckj I L Santo Domingo Xenacoj Cakchiquel -ckk I L Acatenango Southwestern Cakchiquel -ckl I L Cibak -cko I L Anufo -ckq I L Kajakse -ckr I L Kairak -cks I L Tayo -ckt I L Chukot -cku I L Koasati -ckv I L Kavalan -ckw I L Western Cakchiquel -ckx I L Caka -cky I L Cakfem-Mushere -ckz I L Cakchiquel-Quiché Mixed Language -cla I L Ron -clc I L Chilcotin -cld I L Chaldean Neo-Aramaic -cle I L Lealao Chinantec -clh I L Chilisso -cli I L Chakali -clk I L Idu-Mishmi -cll I L Chala -clm I L Clallam -clo I L Lowland Oaxaca Chontal -clu I L Caluyanun -clw I L Chulym -cly I L Eastern Highland Chatino -cma I L Maa -cme I L Cerma -cmg I H Classical Mongolian -cmi I L Emberá-Chamí -cmk I E Chimakum -cml I L Campalagian -cmm I E Michigamea -cmn I L Mandarin Chinese -cmo I L Central Mnong -cmr I L Mro Chin -cms I A Messapic -cmt I L Camtho -cna I L Changthang -cnb I L Chinbon Chin -cnc I L Côông -cng I L Northern Qiang -cnh I L Haka Chin -cni I L Asháninka -cnk I L Khumi Chin -cnl I L Lalana Chinantec -cnm I L Ixtatán Chuj -cno I L Con -cns I L Central Asmat -cnt I L Tepetotutla Chinantec -cnu I L Chenoua -cnw I L Ngawn Chin -cnx I H Middle Cornish -coa I L Cocos Islands Malay -cob I E Chicomuceltec -coc I L Cocopa -cod I L Cocama-Cocamilla -coe I L Koreguaje -cof I L Colorado -cog I L Chong -coh I L Chonyi -coj I E Cochimi -cok I L Santa Teresa Cora -col I L Columbia-Wenatchi -com I L Comanche -con I L Cofán -coo I L Comox -cop cop cop I E Coptic -coq I E Coquille -cor cor cor kw I L Cornish -cos cos cos co I L Corsican -cot I L Caquinte -cou I L Wamey -cov I L Cao Miao -cow I E Cowlitz -cox I L Nanti -coy I E Coyaima -coz I L Chochotec -cpa I L Palantla Chinantec -cpb I L Ucayali-Yurúa Ashéninka -cpc I L Ajyíninka Apurucayali -cpg I E Cappadocian Greek -cpi I L Chinese Pidgin English -cpn I L Cherepon -cps I L Capiznon -cpu I L Pichis Ashéninka -cpx I L Pu-Xian Chinese -cpy I L South Ucayali Ashéninka -cqu I L Chilean Quechua -cra I L Chara -crb I E Island Carib -crc I L Lonwolwol -crd I L Coeur d'Alene -cre cre cre cr M L Cree -crf I E Caramanta -crg I L Michif -crh crh crh I L Crimean Tatar -cri I L Sãotomense -crj I L Southern East Cree -crk I L Plains Cree -crl I L Northern East Cree -crm I L Moose Cree -crn I L El Nayar Cora -cro I L Crow -crq I L Iyo'wujwa Chorote -crr I E Carolina Algonquian -crs I L Seselwa Creole French -crt I L Iyojwa'ja Chorote -cru I E Carútana -crv I L Chaura -crw I L Chrau -crx I L Carrier -cry I L Cori -crz I E Cruzeño -csa I L Chiltepec Chinantec -csb csb csb I L Kashubian -csc I L Catalan Sign Language -csd I L Chiangmai Sign Language -cse I L Czech Sign Language -csf I L Cuba Sign Language -csg I L Chilean Sign Language -csh I L Asho Chin -csi I E Coast Miwok -csk I L Jola-Kasa -csl I L Chinese Sign Language -csm I L Central Sierra Miwok -csn I L Colombian Sign Language -cso I L Sochiapam Chinantec -csq I L Croatia Sign Language -csr I L Costa Rican Sign Language -css I E Southern Ohlone -cst I E Northern Ohlone -csw I L Swampy Cree -csy I L Siyin Chin -csz I L Coos -cta I L Tataltepec Chatino -ctc I L Chetco -ctd I L Tedim Chin -cte I L Tepinapa Chinantec -ctg I L Chittagonian -cti I L Tila Chol -ctl I L Tlacoatzintepec Chinantec -ctm I E Chitimacha -ctn I L Chhintange -cto I L Emberá-Catío -ctp I L Western Highland Chatino -cts I L Northern Catanduanes Bicolano -ctt I L Wayanad Chetti -ctu I L Tumbalá Chol -ctz I L Zacatepec Chatino -cua I L Cua -cub I L Cubeo -cuc I L Usila Chinantec -cug I L Cung -cuh I L Chuka -cui I L Cuiba -cuj I L Mashco Piro -cuk I L San Blas Kuna -cul I L Culina -cum I E Cumeral -cun I L Cunén Quiché -cuo I E Cumanagoto -cup I E Cupeño -cuq I L Cun -cur I L Chhulung -cut I L Teutila Cuicatec -cuu I L Tai Ya -cuv I L Cuvok -cuw I L Chukwa -cux I L Tepeuxila Cuicatec -cvg I L Chug -cvn I L Valle Nacional Chinantec -cwa I L Kabwa -cwb I L Maindo -cwd I L Woods Cree -cwe I L Kwere -cwg I L Chewong -cwt I L Kuwaataay -cya I L Nopala Chatino -cyb I E Cayubaba -cym wel cym cy I L Welsh -cyo I L Cuyonon -czh I L Huizhou Chinese -czk I E Knaanic -czn I L Zenzontepec Chatino -czo I L Min Zhong Chinese -czt I L Zotung Chin -daa I L Dangaléat -dac I L Dambi -dad I L Marik -dae I L Duupa -daf I L Dan -dag I L Dagbani -dah I L Gwahatike -dai I L Day -daj I L Dar Fur Daju -dak dak dak I L Dakota -dal I L Dahalo -dan dan dan da I L Danish -dao I L Daai Chin -dap I L Nisi -daq I L Dandami Maria -dar dar dar I L Dargwa -das I L Daho-Doo -dat I L Darang Deng -dau I L Dar Sila Daju -dav I L Taita -daw I L Davawenyo -dax I L Dayi -daz I L Dao -dba I L Bangi Me -dbb I L Deno -dbd I L Dadiya -dbe I L Dabe -dbf I L Edopi -dbg I L Dogul Dom Dogon -dbi I L Doka -dbj I L Ida'an -dbl I L Dyirbal -dbm I L Duguri -dbn I L Duriankere -dbo I L Dulbu -dbp I L Duwai -dbq I L Daba -dbr I L Dabarre -dbu I L Bondum Dom Dogon -dbv I L Dungu -dby I L Dibiyaso -dcc I L Deccan -dcr I E Negerhollands -ddd I L Dongotono -dde I L Doondo -ddg I L Fataluku -ddi I L Diodio -ddj I L Jaru -ddn I L Dendi (Benin) -ddo I L Dido -dds I L Donno So Dogon -ddw I L Dawera-Daweloor -dec I L Dagik -ded I L Dedua -dee I L Dewoin -def I L Dezfuli -deg I L Degema -deh I L Dehwari -dei I L Demisa -dek I L Dek -del del del M L Delaware -dem I L Dem -den den den M L Slave (Athapascan) -dep I E Pidgin Delaware -deq I L Dendi (Central African Republic) -der I L Deori -des I L Desano -deu ger deu de I L German -dev I L Domung -dez I L Dengese -dga I L Southern Dagaare -dgb I L Bunoge Dogon -dgc I L Casiguran Dumagat Agta -dgd I L Dagaari Dioula -dge I L Degenan -dgg I L Doga -dgh I L Dghwede -dgi I L Northern Dagara -dgk I L Dagba -dgn I E Dagoman -dgo I L Dogri (individual language) -dgr dgr dgr I L Dogrib -dgs I L Dogoso -dgu I L Degaru -dgx I L Doghoro -dgz I L Daga -dha I L Dhanwar (India) -dhd I L Dhundari -dhg I L Dhangu -dhi I L Dhimal -dhl I L Dhalandji -dhm I L Zemba -dhn I L Dhanki -dho I L Dhodia -dhr I L Dhargari -dhs I L Dhaiso -dhu I E Dhurga -dhv I L Dehu -dhw I L Dhanwar (Nepal) -dia I L Dia -dib I L South Central Dinka -dic I L Lakota Dida -did I L Didinga -dif I E Dieri -dig I L Digo -dih I L Kumiai -dii I L Dimbong -dij I L Dai -dik I L Southwestern Dinka -dil I L Dilling -dim I L Dime -din din din M L Dinka -dio I L Dibo -dip I L Northeastern Dinka -diq I L Dimli -dir I L Dirim -dis I L Dimasa -dit I L Dirari -diu I L Diriku -div div div dv I L Dhivehi -diw I L Northwestern Dinka -dix I L Dixon Reef -diy I L Diuwe -diz I L Ding -djb I L Djinba -djc I L Dar Daju Daju -djd I L Djamindjung -dje I L Zarma -djf I L Djangun -dji I L Djinang -djj I L Djeebbana -djk I L Aukan -djl I L Djiwarli -djm I L Jamsay Dogon -djn I L Djauan -djo I L Djongkang -djr I L Djambarrpuyngu -dju I L Kapriman -djw I L Djawi -dka I L Dakpakha -dkk I L Dakka -dkl I L Kolum So Dogon -dkr I L Kuijau -dks I L Southeastern Dinka -dkx I L Mazagway -dlg I L Dolgan -dlm I E Dalmatian -dln I L Darlong -dma I L Duma -dmc I L Dimir -dme I L Dugwor -dmg I L Upper Kinabatangan -dmk I L Domaaki -dml I L Dameli -dmm I L Dama -dmo I L Kemezung -dmr I L East Damar -dms I L Dampelas -dmu I L Dubu -dmv I L Dumpas -dmx I L Dema -dmy I L Demta -dna I L Upper Grand Valley Dani -dnd I L Daonda -dne I L Ndendeule -dng I L Dungan -dni I L Lower Grand Valley Dani -dnk I L Dengka -dnn I L Dzùùngoo -dnr I L Danaru -dnt I L Mid Grand Valley Dani -dnu I L Danau -dnw I L Western Dani -dny I L Dení -doa I L Dom -dob I L Dobu -doc I L Northern Dong -doe I L Doe -dof I L Domu -doh I L Dong -doi doi doi M L Dogri (macrolanguage) -dok I L Dondo -dol I L Doso -don I L Toura (Papua New Guinea) -doo I L Dongo -dop I L Lukpa -doq I L Dominican Sign Language -dor I L Dori'o -dos I L Dogosé -dot I L Dass -dov I L Dombe -dow I L Doyayo -dox I L Bussa -doy I L Dompo -doz I L Dorze -dpp I L Papar -drb I L Dair -drd I L Darmiya -dre I L Dolpo -drg I L Rungus -drh I L Darkhat -dri I L C'lela -drl I L Darling -drn I L West Damar -dro I L Daro-Matu -drq I E Dura -drr I E Dororo -drs I L Gedeo -drt I L Drents -dru I L Rukai -drw I L Darwazi -dry I L Darai -dsb dsb dsb I L Lower Sorbian -dse I L Dutch Sign Language -dsh I L Daasanach -dsi I L Disa -dsl I L Danish Sign Language -dsn I L Dusner -dso I L Desiya -dsq I L Tadaksahak -dta I L Daur -dtb I L Labuk-Kinabatangan Kadazan -dti I L Ana Tinga Dogon -dtk I L Tene Kan Dogon -dtm I L Tomo Kan Dogon -dtp I L Central Dusun -dtr I L Lotud -dts I L Toro So Dogon -dtt I L Toro Tegu Dogon -dtu I L Tebul Ure Dogon -dua dua dua I L Duala -dub I L Dubli -duc I L Duna -dud I L Hun-Saare -due I L Umiray Dumaget Agta -duf I L Dumbea -dug I L Duruma -duh I L Dungra Bhil -dui I L Dumun -duj I L Dhuwal -duk I L Duduela -dul I L Alabat Island Agta -dum dum dum I H Middle Dutch (ca. 1050-1350) -dun I L Dusun Deyah -duo I L Dupaninan Agta -dup I L Duano -duq I L Dusun Malang -dur I L Dii -dus I L Dumi -duu I L Drung -duv I L Duvle -duw I L Dusun Witu -dux I L Duungooma -duy I E Dicamay Agta -duz I E Duli -dva I L Duau -dwa I L Diri -dwl I L Walo Kumbe Dogon -dws I C Dutton World Speedwords -dww I L Dawawa -dya I L Dyan -dyb I L Dyaberdyaber -dyd I L Dyugun -dyg I E Villa Viciosa Agta -dyi I L Djimini Senoufo -dyk I L Land Dayak -dym I L Yanda Dom -dyn I L Dyangadi -dyo I L Jola-Fonyi -dyu dyu dyu I L Dyula -dyy I L Dyaabugay -dza I L Tunzu -dzd I L Daza -dzg I L Dazaga -dzl I L Dzalakha -dzn I L Dzando -dzo dzo dzo dz I L Dzongkha -ebg I L Ebughu -ebo I L Teke-Ebo -ebr I L Ebrié -ebu I L Embu -ecr I A Eteocretan -ecs I L Ecuadorian Sign Language -ecy I A Eteocypriot -eee I L E -efa I L Efai -efe I L Efe -efi efi efi I L Efik -ega I L Ega -ego I L Eggon -egy egy egy I A Egyptian (Ancient) -ehu I L Ehueun -eip I L Eipomek -eit I L Eitiep -eiv I L Askopan -eja I L Ejamat -eka eka eka I L Ekajuk -eke I L Ekit -ekg I L Ekari -eki I L Eki -ekm I L Elip -eko I L Koti -ekp I L Ekpeye -ekr I L Yace -eky I L Eastern Kayah -ele I L Elepi -elh I L El Hugeirat -eli I L Nding -elk I L Elkei -ell gre ell el I L Modern Greek (1453-) -elm I L Eleme -elo I L El Molo -elp I L Elpaputih -elu I L Elu -elx elx elx I A Elamite -ema I L Emai-Iuleha-Ora -emb I L Embaloh -eme I L Emerillon -emg I L Eastern Meohang -emi I L Mussau-Emira -emk I L Eastern Maninkakan -eml I L Emiliano-Romagnolo -emm I E Mamulique -emn I L Eman -emo I E Emok -emp I L Northern Emberá -ems I L Pacific Gulf Yupik -emu I L Eastern Muria -emw I L Emplawas -emy I E Epigraphic Mayan -ena I L Apali -enb I L Northern Marakwet -enc I L En -end I L Ende -enf I L Forest Enets -eng eng eng en I L English -enh I L Tundra Enets -eni I L Enim -enm enm enm I H Middle English (1100-1500) -enn I L Engenni -eno I L Enggano -enq I L Enga -enr I L Emumu -enu I L Enu -env I L Enwan (Edu State) -enw I L Enwan (Akwa Ibom State) -eot I L Beti (Côte d'Ivoire) -epi I L Epie -epo epo epo eo I C Esperanto -era I L Eravallan -erg I L Sie -erh I L Eruwa -eri I L Ogea -erk I L South Efate -ero I L Horpa -err I L Erre -ers I L Ersu -ert I L Eritai -erw I L Erokwanas -ese I L Ese Ejja -esh I L Eshtehardi -esi I L North Alaskan Inupiatun -esk I L Northwest Alaska Inupiatun -esl I L Egypt Sign Language -esm I E Esuma -esn I L Salvadoran Sign Language -eso I L Estonian Sign Language -esq I E Esselen -ess I L Central Siberian Yupik -est est est et I L Estonian -esu I L Central Yupik -etb I L Etebi -etc I E Etchemin -eth I L Ethiopian Sign Language -etn I L Eton (Vanuatu) -eto I L Eton (Cameroon) -etr I L Edolo -ets I L Yekhee -ett I A Etruscan -etu I L Ejagham -etx I L Eten -etz I L Semimi -eur I L Europanto -eus baq eus eu I L Basque -eve I L Even -evh I L Uvbie -evn I L Evenki -ewe ewe ewe ee I L Ewe -ewo ewo ewo I L Ewondo -ext I L Extremaduran -eya I L Eyak -eze I L Uzekwe -faa I L Fasu -fab I L Fa D'ambu -fad I L Wagi -faf I L Fagani -fag I L Finongan -fah I L Baissa Fali -fai I L Faiwol -faj I L Faita -fak I L Fang (Cameroon) -fal I L South Fali -fam I L Fam -fan fan fan I L Fang (Equatorial Guinea) -fao fao fao fo I L Faroese -fap I L Palor -far I L Fataleka -fas per fas fa M L Persian -fat fat fat I L Fanti -fau I L Fayu -fax I L Fala -fay I L Southwestern Fars -faz I L Northwestern Fars -fcs I L Quebec Sign Language -fer I L Feroge -ffi I L Foia Foia -ffm I L Maasina Fulfulde -fgr I L Fongoro -fia I L Nobiin -fie I L Fyer -fij fij fij fj I L Fijian -fil fil fil I L Filipino -fin fin fin fi I L Finnish -fip I L Fipa -fir I L Firan -fit I L Tornedalen Finnish -fiw I L Fiwaga -fiz I L Izere -fkv I L Kven Finnish -fla I L Kalispel-Pend d'Oreille -flh I L Foau -fli I L Fali -fll I L North Fali -fln I L Flinders Island -flr I L Fuliiru -fly I L Tsotsitaal -fmp I L Fe'fe' -fmu I L Far Western Muria -fng I L Fanagalo -fni I L Fania -fod I L Foodo -foi I L Foi -fom I L Foma -fon fon fon I L Fon -for I L Fore -fos I E Siraya -fpe I L Fernando Po Creole English -fqs I L Fas -fra fre fra fr I L French -frc I L Cajun French -frd I L Fordata -frk I E Frankish -frm frm frm I H Middle French (ca. 1400-1600) -fro fro fro I H Old French (842-ca. 1400) -frp I L Franco-Provençal -frq I L Forak -frr frr frr I L Northern Frisian -frs frs frs I L Eastern Frisian -frt I L Fortsenal -fry fry fry fy I L Western Frisian -fse I L Finnish Sign Language -fsl I L French Sign Language -fss I L Finnish-Swedish Sign Language -fub I L Adamawa Fulfulde -fuc I L Pulaar -fud I L East Futuna -fue I L Borgu Fulfulde -fuf I L Pular -fuh I L Western Niger Fulfulde -fui I L Bagirmi Fulfulde -fuj I L Ko -ful ful ful ff M L Fulah -fum I L Fum -fun I L Fulniô -fuq I L Central-Eastern Niger Fulfulde -fur fur fur I L Friulian -fut I L Futuna-Aniwa -fuu I L Furu -fuv I L Nigerian Fulfulde -fuy I L Fuyug -fvr I L Fur -fwa I L Fwâi -fwe I L Fwe -gaa gaa gaa I L Ga -gab I L Gabri -gad I L Gaddang -gae I L Guarequena -gaf I L Gende -gag I L Gagauz -gah I L Alekano -gai I L Borei -gaj I L Gadsup -gak I L Gamkonora -gal I L Galoli -gam I L Kandawo -gan I L Gan Chinese -gao I L Gants -gap I L Gal -gaq I L Gata' -gar I L Galeya -gas I L Adiwasi Garasia -gat I L Kenati -gau I L Mudhili Gadaba -gav I L Gabutamon -gaw I L Nobonob -gax I L Borana-Arsi-Guji Oromo -gay gay gay I L Gayo -gaz I L West Central Oromo -gba gba gba M L Gbaya (Central African Republic) -gbb I L Kaytetye -gbc I L Garawa -gbd I L Karadjeri -gbe I L Niksek -gbf I L Gaikundi -gbg I L Gbanziri -gbh I L Defi Gbe -gbi I L Galela -gbj I L Bodo Gadaba -gbk I L Gaddi -gbl I L Gamit -gbm I L Garhwali -gbn I L Mo'da -gbo I L Northern Grebo -gbp I L Gbaya-Bossangoa -gbq I L Gbaya-Bozoum -gbr I L Gbagyi -gbs I L Gbesi Gbe -gbu I L Gagadu -gbv I L Gbanu -gbx I L Eastern Xwla Gbe -gby I L Gbari -gbz I L Zoroastrian Dari -gcc I L Mali -gcd I L Ganggalida -gce I E Galice -gcf I L Guadeloupean Creole French -gcl I L Grenadian Creole English -gcn I L Gaina -gcr I L Guianese Creole French -gct I L Colonia Tovar German -gda I L Gade Lohar -gdb I L Pottangi Ollar Gadaba -gdc I L Gugu Badhun -gdd I L Gedaged -gde I L Gude -gdf I L Guduf-Gava -gdg I L Ga'dang -gdh I L Gadjerawang -gdi I L Gundi -gdj I L Gurdjar -gdk I L Gadang -gdl I L Dirasha -gdm I L Laal -gdn I L Umanakaina -gdo I L Ghodoberi -gdq I L Mehri -gdr I L Wipi -gdu I L Gudu -gdx I L Godwari -gea I L Geruma -geb I L Kire -gec I L Gboloo Grebo -ged I L Gade -geg I L Gengle -geh I L Hutterite German -gei I L Gebe -gej I L Gen -gek I L Yiwom -gel I L Kag-Fer-Jiir-Koor-Ror-Us-Zuksun -gen I L Geman Deng -geq I L Geme -ges I L Geser-Gorom -gew I L Gera -gex I L Garre -gey I L Enya -gez gez gez I A Geez -gfk I L Patpatar -gft I E Gafat -gga I L Gao -ggb I L Gbii -ggd I L Gugadj -gge I L Guragone -ggg I L Gurgula -ggh I L Garreh-Ajuran -ggk I E Kungarakany -ggl I L Ganglau -ggn I L Eastern Gurung -ggo I L Southern Gondi -ggr I E Aghu Tharnggalu -ggt I L Gitua -ggu I L Gagu -ggw I L Gogodala -gha I L Ghadamès -ghc I E Hiberno-Scottish Gaelic -ghe I L Southern Ghale -ghh I L Northern Ghale -ghk I L Geko Karen -ghl I L Ghulfan -ghn I L Ghanongga -gho I E Ghomara -ghr I L Ghera -ghs I L Guhu-Samane -ght I L Kutang Ghale -gia I L Kitja -gib I L Gibanawa -gic I L Gail -gid I L Gidar -gig I L Goaria -gil gil gil I L Gilbertese -gim I L Gimi (Eastern Highlands) -gin I L Hinukh -gio I L Gelao -gip I L Gimi (West New Britain) -giq I L Green Gelao -gir I L Red Gelao -gis I L North Giziga -git I L Gitxsan -giw I L White Gelao -gix I L Gilima -giy I L Giyug -giz I L South Giziga -gji I L Geji -gjk I L Kachi Koli -gjn I L Gonja -gju I L Gujari -gka I L Guya -gke I L Ndai -gkn I L Gokana -gkp I L Guinea Kpelle -gla gla gla gd I L Scottish Gaelic -glc I L Bon Gula -gld I L Nanai -gle gle gle ga I L Irish -glg glg glg gl I L Galician -glh I L Northwest Pashayi -gli I E Guliguli -glj I L Gula Iro -glk I L Gilaki -glo I L Galambu -glr I L Glaro-Twabo -glu I L Gula (Chad) -glv glv glv gv I E Manx -glw I L Glavda -gly I E Gule -gma I L Gambera -gmb I L Gula'alaa -gmd I L Mághdì -gmh gmh gmh I H Middle High German (ca. 1050-1500) -gml I H Middle Low German -gmn I L Gimnime -gmo I L Gamo-Gofa-Dawro -gmu I L Gumalu -gmx I L Magoma -gmy I A Mycenaean Greek -gna I L Kaansa -gnb I L Gangte -gnc I E Guanche -gnd I L Zulgo-Gemzek -gng I L Ngangam -gnh I L Lere -gni I L Gooniyandi -gnk I L //Gana -gnl I E Gangulu -gnm I L Ginuman -gnn I L Gumatj -gno I L Northern Gondi -gnq I L Gana -gnr I E Gureng Gureng -gnt I L Guntai -gnu I L Gnau -gnw I L Western Bolivian Guaraní -gnz I L Ganzi -goa I L Guro -gob I L Playero -goc I L Gorakor -god I L Godié -goe I L Gongduk -gog I L Gogo -goh goh goh I H Old High German (ca. 750-1050) -goi I L Gobasi -goj I L Gowlan -gok I L Gowli -gol I L Gola -gom I L Goan Konkani -gon gon gon M L Gondi -goo I L Gone Dau -gop I L Yeretuar -goq I L Gorap -gor gor gor I L Gorontalo -gos I L Gronings -got got got I A Gothic -gou I L Gavar -gow I L Gorowa -gox I L Gobu -goy I L Goundo -goz I L Gozarkhani -gpa I L Gupa-Abawa -gpn I L Taiap -gqa I L Ga'anda -gqi I L Guiqiong -gqn I E Guana (Brazil) -gqr I L Gor -gra I L Rajput Garasia -grb grb grb M L Grebo -grc grc grc I H Ancient Greek (to 1453) -grd I L Guruntum-Mbaaru -grg I L Madi -grh I L Gbiri-Niragu -gri I L Ghari -grj I L Southern Grebo -grm I L Kota Marudu Talantang -grn grn grn gn M L Guarani -gro I L Groma -grq I L Gorovu -grr I L Taznatit -grs I L Gresi -grt I L Garo -gru I L Kistane -grv I L Central Grebo -grw I L Gweda -grx I L Guriaso -gry I L Barclayville Grebo -grz I L Guramalum -gse I L Ghanaian Sign Language -gsg I L German Sign Language -gsl I L Gusilay -gsm I L Guatemalan Sign Language -gsn I L Gusan -gsp I L Wasembo -gss I L Greek Sign Language -gsw gsw gsw I L Swiss German -gta I L Guató -gti I L Gbati-ri -gua I L Shiki -gub I L Guajajára -guc I L Wayuu -gud I L Yocoboué Dida -gue I L Gurinji -guf I L Gupapuyngu -gug I L Paraguayan Guaraní -guh I L Guahibo -gui I L Eastern Bolivian Guaraní -guj guj guj gu I L Gujarati -guk I L Gumuz -gul I L Sea Island Creole English -gum I L Guambiano -gun I L Mbyá Guaraní -guo I L Guayabero -gup I L Gunwinggu -guq I L Aché -gur I L Farefare -gus I L Guinean Sign Language -gut I L Maléku Jaíka -guu I L Yanomamö -guv I E Gey -guw I L Gun -gux I L Gourmanchéma -guz I L Gusii -gva I L Guana (Paraguay) -gvc I L Guanano -gve I L Duwet -gvf I L Golin -gvj I L Guajá -gvl I L Gulay -gvm I L Gurmana -gvn I L Kuku-Yalanji -gvo I L Gavião Do Jiparaná -gvp I L Pará Gavião -gvr I L Western Gurung -gvs I L Gumawana -gvy I E Guyani -gwa I L Mbato -gwb I L Gwa -gwc I L Kalami -gwd I L Gawwada -gwe I L Gweno -gwf I L Gowro -gwg I L Moo -gwi gwi gwi I L Gwichʼin -gwj I L /Gwi -gwn I L Gwandara -gwr I L Gwere -gwt I L Gawar-Bati -gwu I L Guwamu -gww I L Kwini -gwx I L Gua -gxx I L Wè Southern -gya I L Northwest Gbaya -gyb I L Garus -gyd I L Kayardild -gye I L Gyem -gyf I L Gungabula -gyg I L Gbayi -gyi I L Gyele -gym I L Ngäbere -gyn I L Guyanese Creole English -gyr I L Guarayu -gyy I L Gunya -gza I L Ganza -gzi I L Gazi -gzn I L Gane -haa I L Han -hab I L Hanoi Sign Language -hac I L Gurani -had I L Hatam -hae I L Eastern Oromo -haf I L Haiphong Sign Language -hag I L Hanga -hah I L Hahon -hai hai hai M L Haida -haj I L Hajong -hak I L Hakka Chinese -hal I L Halang -ham I L Hewa -han I L Hangaza -hao I L Hakö -hap I L Hupla -haq I L Ha -har I L Harari -has I L Haisla -hat hat hat ht I L Haitian -hau hau hau ha I L Hausa -hav I L Havu -haw haw haw I L Hawaiian -hax I L Southern Haida -hay I L Haya -haz I L Hazaragi -hba I L Hamba -hbb I L Huba -hbn I L Heiban -hbo I H Ancient Hebrew -hbs sh M L Serbo-Croatian -hbu I L Habu -hca I L Andaman Creole Hindi -hch I L Huichol -hdn I L Northern Haida -hds I L Honduras Sign Language -hdy I L Hadiyya -hea I L Northern Qiandong Hmong -heb heb heb he I L Hebrew -hed I L Herdé -heg I L Helong -heh I L Hehe -hei I L Heiltsuk -hem I L Hemba -her her her hz I L Herero -hgm I L Hai//om -hgw I L Haigwai -hhi I L Hoia Hoia -hhr I L Kerak -hhy I L Hoyahoya -hia I L Lamang -hib I E Hibito -hid I L Hidatsa -hif I L Fijian Hindustani -hig I L Kamwe -hih I L Pamosu -hii I L Hinduri -hij I L Hijuk -hik I L Seit-Kaitetu -hil hil hil I L Hiligaynon -hin hin hin hi I L Hindi -hio I L Tsoa -hir I L Himarimã -hit hit hit I A Hittite -hiw I L Hiw -hix I L Hixkaryána -hka I L Kahe -hke I L Hunde -hla I L Halia -hlb I L Halbi -hld I L Halang Doan -hlt I L Nga La -hlu I A Hieroglyphic Luwian -hma I L Southern Mashan Hmong -hmb I L Humburi Senni Songhay -hmc I L Central Huishui Hmong -hmd I L Northeastern Dian Hmong -hme I L Eastern Huishui Hmong -hmf I L Hmong Don -hmg I L Southwestern Guiyang Hmong -hmh I L Southwestern Huishui Hmong -hmi I L Northern Huishui Hmong -hmj I L Chonganjiang Hmong -hmk I E Maek -hml I L Luopohe Hmong -hmm I L Central Mashan Hmong -hmn hmn hmn M L Hmong -hmo hmo hmo ho I L Hiri Motu -hmp I L Northern Mashan Hmong -hmq I L Eastern Qiandong Hmong -hmr I L Hmar -hms I L Southern Qiandong Hmong -hmt I L Hamtai -hmu I L Hamap -hmv I L Hmong Dô -hmw I L Western Mashan Hmong -hmy I L Southern Guiyang Hmong -hmz I L Hmong Shua -hna I L Mina (Cameroon) -hnd I L Southern Hindko -hne I L Chhattisgarhi -hnh I L //Ani -hni I L Hani -hnn I L Hanunoo -hno I L Northern Hindko -hns I L Caribbean Hindustani -hnu I L Hung -hoa I L Hoava -hob I L Mari (Madang Province) -hoc I L Ho -hod I E Holma -hoe I L Horom -hoh I L Hobyót -hoi I L Holikachuk -hoj I L Harauti -hol I L Holu -hom I E Homa -hoo I L Holoholo -hop I L Hopi -hor I E Horo -hos I L Ho Chi Minh City Sign Language -hot I L Hote -hov I L Hovongan -how I L Honi -hoy I L Holiya -hoz I L Hozo -hpo I L Hpon -hps I L Hawai'i Pidgin Sign Language -hra I L Hrangkhol -hre I L Hre -hrk I L Haruku -hro I L Haroi -hrr I L Horuru -hrt I L Hértevin -hru I L Hruso -hrv scr hrv hr I L Croatian -hrx I L Hunsrik -hrz I L Harzani -hsb hsb hsb I L Upper Sorbian -hsf I L Southeastern Huastec -hsh I L Hungarian Sign Language -hsl I L Hausa Sign Language -hsn I L Xiang Chinese -hss I L Harsusi -hti I L Hoti -hto I L Minica Huitoto -hts I L Hadza -htu I L Hitu -htx I A Middle Hittite -hub I L Huambisa -huc I L =/Hua -hud I L Huaulu -hue I L San Francisco Del Mar Huave -huf I L Humene -hug I L Huachipaeri -huh I L Huilliche -hui I L Huli -huj I L Northern Guiyang Hmong -huk I L Hulung -hul I L Hula -hum I L Hungana -hun hun hun hu I L Hungarian -huo I L Hu -hup hup hup I L Hupa -huq I L Tsat -hur I L Halkomelem -hus I L Veracruz Huastec -hut I L Humla -huu I L Murui Huitoto -huv I L San Mateo Del Mar Huave -huw I L Hukumina -hux I L Nüpode Huitoto -huy I L Hulaulá -huz I L Hunzib -hva I L San Luís Potosí Huastec -hvc I L Haitian Vodoun Culture Language -hve I L San Dionisio Del Mar Huave -hvk I L Haveke -hvn I L Sabu -hvv I L Santa María Del Mar Huave -hwa I L Wané -hwc I L Hawai'i Creole English -hwo I L Hwana -hya I L Hya -hye arm hye hy I L Armenian -iai I L Iaai -ian I L Iatmul -iap I L Iapama -iar I L Purari -iba iba iba I L Iban -ibb I L Ibibio -ibd I L Iwaidja -ibe I L Akpes -ibg I L Ibanag -ibi I L Ibilo -ibl I L Ibaloi -ibm I L Agoi -ibn I L Ibino -ibo ibo ibo ig I L Igbo -ibr I L Ibuoro -ibu I L Ibu -iby I L Ibani -ica I L Ede Ica -ich I L Etkywan -icl I L Icelandic Sign Language -icr I L Islander Creole English -ida I L Idakho-Isukha-Tiriki -idb I L Indo-Portuguese -idc I L Idon -idd I L Ede Idaca -ide I L Idere -idi I L Idi -ido ido ido io I C Ido -idr I L Indri -ids I L Idesa -idt I L Idaté -idu I L Idoma -ifa I L Amganad Ifugao -ifb I L Batad Ifugao -ife I L Ifè -iff I E Ifo -ifk I L Tuwali Ifugao -ifm I L Teke-Fuumu -ifu I L Mayoyao Ifugao -ify I L Keley-I Kallahan -igb I L Ebira -ige I L Igede -igg I L Igana -igl I L Igala -igm I L Kanggape -ign I L Ignaciano -igo I L Isebe -igs I C Interglossa -igw I L Igwe -ihb I L Iha Based Pidgin -ihi I L Ihievbe -ihp I L Iha -iii iii iii ii I L Sichuan Yi -ijc I L Izon -ije I L Biseni -ijj I L Ede Ije -ijn I L Kalabari -ijs I L Southeast Ijo -ike I L Eastern Canadian Inuktitut -iki I L Iko -ikk I L Ika -ikl I L Ikulu -iko I L Olulumo-Ikom -ikp I L Ikpeshi -ikt I L Western Canadian Inuktitut -iku iku iku iu M L Inuktitut -ikv I L Iku-Gora-Ankwa -ikw I L Ikwere -ikx I L Ik -ikz I L Ikizu -ila I L Ile Ape -ilb I L Ila -ile ile ile ie I C Interlingue -ilg I L Garig-Ilgar -ili I L Ili Turki -ilk I L Ilongot -ill I L Iranun -ilo ilo ilo I L Iloko -ilu I L Ili'uun -ilv I L Ilue -ilw I L Talur -ima I L Mala Malasar -ime I L Imeraguen -imi I L Anamgura -iml I E Miluk -imn I L Imonda -imo I L Imbongu -imr I L Imroing -ims I A Marsian -imy I A Milyan -ina ina ina ia I C Interlingua (International Auxiliary Language Association) -inb I L Inga -ind ind ind id I L Indonesian -ing I L Degexit'an -inh inh inh I L Ingush -inj I L Jungle Inga -inl I L Indonesian Sign Language -inm I A Minaean -inn I L Isinai -ino I L Inoke-Yate -inp I L Iñapari -ins I L Indian Sign Language -int I L Intha -inz I E Ineseño -ior I L Inor -iou I L Tuma-Irumu -iow I E Iowa-Oto -ipi I L Ipili -ipk ipk ipk ik M L Inupiaq -ipo I L Ipiko -iqu I L Iquito -ire I L Iresim -irh I L Irarutu -iri I L Irigwe -irk I L Iraqw -irn I L Irántxe -irr I L Ir -iru I L Irula -irx I L Kamberau -iry I L Iraya -isa I L Isabi -isc I L Isconahua -isd I L Isnag -ise I L Italian Sign Language -isg I L Irish Sign Language -ish I L Esan -isi I L Nkem-Nkum -isl ice isl is I L Icelandic -ism I L Masimasi -isn I L Isanzu -iso I L Isoko -isr I L Israeli Sign Language -ist I L Istriot -isu I L Isu (Menchum Division) -ita ita ita it I L Italian -itb I L Binongan Itneg -ite I E Itene -iti I L Inlaod Itneg -itk I L Judeo-Italian -itl I L Itelmen -itm I L Itu Mbon Uzo -ito I L Itonama -itr I L Iteri -its I L Isekiri -itt I L Maeng Itneg -itu I L Itutang -itv I L Itawit -itw I L Ito -itx I L Itik -ity I L Moyadan Itneg -itz I L Itzá -ium I L Iu Mien -ivb I L Ibatan -ivv I L Ivatan -iwk I L I-Wak -iwm I L Iwam -iwo I L Iwur -iws I L Sepik Iwam -ixc I L Ixcatec -ixi I L Nebaj Ixil -ixj I L Chajul Ixil -ixl I L San Juan Cotzal Ixil -iya I L Iyayu -iyo I L Mesaka -iyx I L Yaka (Congo) -izh I L Ingrian -izi I L Izi-Ezaa-Ikwo-Mgbo -jaa I L Jamamadí -jab I L Hyam -jac I L Eastern Jacalteco -jad I L Jahanka -jae I L Yabem -jaf I L Jara -jah I L Jah Hut -jai I L Western Jacalteco -jaj I L Zazao -jak I L Jakun -jal I L Yalahatan -jam I L Jamaican Creole English -jao I L Yanyuwa -jaq I L Yaqay -jar I L Jarawa (Nigeria) -jas I L New Caledonian Javanese -jat I L Jakati -jau I L Yaur -jav jav jav jv I L Javanese -jax I L Jambi Malay -jay I L Jarnango -jaz I L Jawe -jbe I L Judeo-Berber -jbj I L Arandai -jbn I L Nafusi -jbo jbo jbo I C Lojban -jbt I L Jabutí -jbu I L Jukun Takum -jcs I L Jamaican Country Sign Language -jct I L Krymchak -jda I L Jad -jdg I L Jadgali -jdt I L Judeo-Tat -jeb I L Jebero -jee I L Jerung -jeg I L Jeng -jeh I L Jeh -jei I L Yei -jek I L Jeri Kuo -jel I L Yelmek -jen I L Dza -jer I L Jere -jet I L Manem -jeu I L Jonkor Bourmataguil -jgb I E Ngbee -jge I L Judeo-Georgian -jgo I L Ngomba -jhi I L Jehai -jia I L Jina -jib I L Jibu -jic I L Tol -jid I L Bu -jie I L Jilbe -jig I L Djingili -jih I L Shangzhai -jii I L Jiiddu -jil I L Jilim -jim I L Jimi (Cameroon) -jio I L Jiamao -jiq I L Guanyinqiao -jit I L Jita -jiu I L Youle Jinuo -jiv I L Shuar -jiy I L Buyuan Jinuo -jko I L Kubo -jku I L Labir -jle I L Ngile -jma I L Dima -jmb I L Zumbun -jmc I L Machame -jmd I L Yamdena -jmi I L Jimi (Nigeria) -jml I L Jumli -jmr I L Kamara -jms I L Mashi (Nigeria) -jmx I L Western Juxtlahuaca Mixtec -jna I L Jangshung -jnd I L Jandavra -jng I E Yangman -jni I L Janji -jnj I L Yemsa -jnl I L Rawat -jns I L Jaunsari -job I L Joba -jod I L Wojenaka -jor I E Jorá -jos I L Jordanian Sign Language -jow I L Jowulu -jpa I H Jewish Palestinian Aramaic -jpn jpn jpn ja I L Japanese -jpr jpr jpr I L Judeo-Persian -jqr I L Jaqaru -jra I L Jarai -jrb jrb jrb M L Judeo-Arabic -jrr I L Jiru -jrt I L Jorto -jru I L Japrería -jsl I L Japanese Sign Language -jua I L Júma -jub I L Wannu -juc I E Jurchen -jud I L Worodougou -juh I L Hõne -juk I L Wapan -jul I L Jirel -jum I L Jumjum -jun I L Juang -juo I L Jiba -jup I L Hupdë -jur I L Jurúna -jut I L Jutish -juu I L Ju -juw I L Wãpha -juy I L Juray -jvd I E Javindo -jvn I L Caribbean Javanese -jwi I L Jwira-Pepesa -jya I L Jiarong -jye I L Judeo-Yemeni Arabic -jyy I L Jaya -kaa kaa kaa I L Kara-Kalpak -kab kab kab I L Kabyle -kac kac kac I L Kachin -kad I L Kadara -kae I E Ketangalan -kaf I L Katso -kag I L Kajaman -kah I L Kara (Central African Republic) -kai I L Karekare -kaj I L Jju -kak I L Kayapa Kallahan -kal kal kal kl I L Kalaallisut -kam kam kam I L Kamba (Kenya) -kan kan kan kn I L Kannada -kao I L Xaasongaxango -kap I L Bezhta -kaq I L Capanahua -kas kas kas ks I L Kashmiri -kat geo kat ka I L Georgian -kau kau kau kr M L Kanuri -kav I L Katukína -kaw kaw kaw I A Kawi -kax I L Kao -kay I L Kamayurá -kaz kaz kaz kk I L Kazakh -kba I E Kalarko -kbb I E Kaxuiâna -kbc I L Kadiwéu -kbd kbd kbd I L Kabardian -kbe I L Kanju -kbf I E Kakauhua -kbg I L Khamba -kbh I L Camsá -kbj I L Kari -kbk I L Grass Koiari -kbl I L Kanembu -kbm I L Iwal -kbn I L Kare (Central African Republic) -kbo I L Keliko -kbp I L Kabiyé -kbq I L Kamano -kbr I L Kafa -kbs I L Kande -kbt I L Abadi -kbu I L Kabutra -kbv I L Dera (Indonesia) -kbw I L Kaiep -kbx I L Ap Ma -kby I L Manga Kanuri -kbz I L Duhwa -kca I L Khanty -kcb I L Kawacha -kcc I L Lubila -kcd I L Ngkâlmpw Kanum -kce I L Kaivi -kcf I L Ukaan -kcg I L Tyap -kch I L Vono -kci I L Kamantan -kcj I L Kobiana -kck I L Kalanga -kcl I L Kela (Papua New Guinea) -kcm I L Gula (Central African Republic) -kcn I L Nubi -kco I L Kinalakna -kcp I L Kanga -kcq I L Kamo -kcr I L Katla -kcs I L Koenoem -kct I L Kaian -kcu I L Kami (Tanzania) -kcv I L Kete -kcw I L Kabwari -kcx I L Kachama-Ganjule -kcy I L Korandje -kcz I L Konongo -kda I E Worimi -kdc I L Kutu -kdd I L Yankunytjatjara -kde I L Makonde -kdf I L Mamusi -kdg I L Seba -kdh I L Tem -kdi I L Kumam -kdj I L Karamojong -kdk I L Numee -kdl I L Tsikimba -kdm I L Kagoma -kdn I L Kunda -kdp I L Kaningdon-Nindem -kdq I L Koch -kdr I L Karaim -kds I L Lahu Shi -kdt I L Kuy -kdu I L Kadaru -kdv I L Kado -kdw I L Koneraw -kdx I L Kam -kdy I L Keder -kdz I L Kwaja -kea I L Kabuverdianu -keb I L Kélé -kec I L Keiga -ked I L Kerewe -kee I L Eastern Keres -kef I L Kpessi -keg I L Tese -kei I L Kei -kej I L Kadar -kek I L Kekchí -kel I L Kela (Democratic Republic of Congo) -kem I L Kemak -ken I L Kenyang -keo I L Kakwa -kep I L Kaikadi -keq I L Kamar -ker I L Kera -kes I L Kugbo -ket I L Ket -keu I L Akebu -kev I L Kanikkaran -kew I L West Kewa -kex I L Kukna -key I L Kupia -kez I L Kukele -kfa I L Kodava -kfb I L Northwestern Kolami -kfc I L Konda-Dora -kfd I L Korra Koraga -kfe I L Kota (India) -kff I L Koya -kfg I L Kudiya -kfh I L Kurichiya -kfi I L Kannada Kurumba -kfj I L Kemiehua -kfk I L Kinnauri -kfl I L Kung -kfm I L Khunsari -kfn I L Kuk -kfo I L Koro (Côte d'Ivoire) -kfp I L Korwa -kfq I L Korku -kfr I L Kachchi -kfs I L Bilaspuri -kft I L Kanjari -kfu I L Katkari -kfv I L Kurmukar -kfw I L Kharam Naga -kfx I L Kullu Pahari -kfy I L Kumaoni -kfz I L Koromfé -kga I L Koyaga -kgb I L Kawe -kgc I L Kasseng -kgd I L Kataang -kge I L Komering -kgf I L Kube -kgg I E Kusunda -kgh I L Upper Tanudan Kalinga -kgi I L Selangor Sign Language -kgj I L Gamale Kham -kgk I L Kaiwá -kgl I L Kunggari -kgm I E Karipúna -kgn I L Karingani -kgo I L Krongo -kgp I L Kaingang -kgq I L Kamoro -kgr I L Abun -kgs I L Kumbainggar -kgt I L Somyev -kgu I L Kobol -kgv I L Karas -kgw I L Karon Dori -kgx I L Kamaru -kgy I L Kyerung -kha kha kha I L Khasi -khb I L Lü -khc I L Tukang Besi North -khd I L Bädi Kanum -khe I L Korowai -khf I L Khuen -khg I L Khams Tibetan -khh I L Kehu -khj I L Kuturmi -khk I L Halh Mongolian -khl I L Lusi -khm khm khm km I L Central Khmer -khn I L Khandesi -kho kho kho I A Khotanese -khp I L Kapori -khq I L Koyra Chiini Songhay -khr I L Kharia -khs I L Kasua -kht I L Khamti -khu I L Nkhumbi -khv I L Khvarshi -khw I L Khowar -khx I L Kanu -khy I L Kele (Democratic Republic of Congo) -khz I L Keapara -kia I L Kim -kib I L Koalib -kic I L Kickapoo -kid I L Koshin -kie I L Kibet -kif I L Eastern Parbate Kham -kig I L Kimaama -kih I L Kilmeri -kii I E Kitsai -kij I L Kilivila -kik kik kik ki I L Kikuyu -kil I L Kariya -kim I L Karagas -kin kin kin rw I L Kinyarwanda -kio I L Kiowa -kip I L Sheshi Kham -kiq I L Kosadle -kir kir kir ky I L Kirghiz -kis I L Kis -kit I L Agob -kiu I L Kirmanjki -kiv I L Kimbu -kiw I L Northeast Kiwai -kiy I L Kirikiri -kiz I L Kisi -kja I L Mlap -kjb I L Eastern Kanjobal -kjc I L Coastal Konjo -kjd I L Southern Kiwai -kje I L Kisar -kjf I L Khalaj -kjg I L Khmu -kjh I L Khakas -kji I L Zabana -kjj I L Khinalugh -kjk I L Highland Konjo -kjl I L Western Parbate Kham -kjm I L Kháng -kjn I L Kunjen -kjo I L Harijan Kinnauri -kjp I L Pwo Eastern Karen -kjq I L Western Keres -kjr I L Kurudu -kjs I L East Kewa -kjt I L Phrae Pwo Karen -kju I L Kashaya -kjx I L Ramopa -kjy I L Erave -kjz I L Bumthangkha -kka I L Kakanda -kkb I L Kwerisa -kkc I L Odoodee -kkd I L Kinuku -kke I L Kakabe -kkf I L Kalaktang Monpa -kkg I L Mabaka Valley Kalinga -kkh I L Khün -kki I L Kagulu -kkj I L Kako -kkk I L Kokota -kkl I L Kosarek Yale -kkm I L Kiong -kkn I L Kon Keu -kko I L Karko -kkp I L Gugubera -kkq I L Kaiku -kkr I L Kir-Balar -kks I L Giiwo -kkt I L Koi -kku I L Tumi -kkv I L Kangean -kkw I L Teke-Kukuya -kkx I L Kohin -kky I L Guguyimidjir -kkz I L Kaska -kla I L Klamath-Modoc -klb I L Kiliwa -klc I L Kolbila -kld I L Gamilaraay -kle I L Kulung (Nepal) -klf I L Kendeje -klg I L Tagakaulu Kalagan -klh I L Weliki -kli I L Kalumpang -klj I L Turkic Khalaj -klk I L Kono (Nigeria) -kll I L Kagan Kalagan -klm I L Kolom -kln I L Kalenjin -klo I L Kapya -klp I L Kamasa -klq I L Rumu -klr I L Khaling -kls I L Kalasha -klt I L Nukna -klu I L Klao -klv I L Maskelynes -klw I L Lindu -klx I L Koluwawa -kly I L Kalao -klz I L Kabola -kma I L Konni -kmb kmb kmb I L Kimbundu -kmc I L Southern Dong -kmd I L Madukayang Kalinga -kme I L Bakole -kmf I L Kare (Papua New Guinea) -kmg I L Kâte -kmh I L Kalam -kmi I L Kami (Nigeria) -kmj I L Kumarbhag Paharia -kmk I L Limos Kalinga -kml I L Lower Tanudan Kalinga -kmm I L Kom (India) -kmn I L Awtuw -kmo I L Kwoma -kmp I L Gimme -kmq I L Kwama -kmr I L Northern Kurdish -kms I L Kamasau -kmt I L Kemtuik -kmu I L Kanite -kmv I L Karipúna Creole French -kmw I L Komo (Democratic Republic of Congo) -kmx I L Waboda -kmy I L Koma -kmz I L Khorasani Turkish -kna I L Dera (Nigeria) -knb I L Lubuagan Kalinga -knc I L Central Kanuri -knd I L Konda -kne I L Kankanaey -knf I L Mankanya -kng I L Koongo -knh I L Kayan River Kenyah -kni I L Kanufi -knj I L Western Kanjobal -knk I L Kuranko -knl I L Keninjal -knm I L Kanamarí -knn I L Konkani (individual language) -kno I L Kono (Sierra Leone) -knp I L Kwanja -knq I L Kintaq -knr I L Kaningra -kns I L Kensiu -knt I L Panoan Katukína -knu I L Kono (Guinea) -knv I L Tabo -knw I L Kung-Ekoka -knx I L Kendayan -kny I L Kanyok -knz I L Kalamsé -koa I L Konomala -koc I E Kpati -kod I L Kodi -koe I L Kacipo-Balesi -kof I E Kubi -kog I L Cogui -koh I L Koyo -koi I L Komi-Permyak -koj I L Sara Dunjo -kok kok kok M L Konkani (macrolanguage) -kol I L Kol (Papua New Guinea) -kom kom kom kv M L Komi -kon kon kon kg M L Kongo -koo I L Konzo -kop I L Kwato -koq I L Kota (Gabon) -kor kor kor ko I L Korean -kos kos kos I L Kosraean -kot I L Lagwan -kou I L Koke -kov I L Kudu-Camo -kow I L Kugama -kox I E Coxima -koy I L Koyukon -koz I L Korak -kpa I L Kutto -kpb I L Mullu Kurumba -kpc I L Curripaco -kpd I L Koba -kpe kpe kpe M L Kpelle -kpf I L Komba -kpg I L Kapingamarangi -kph I L Kplang -kpi I L Kofei -kpj I L Karajá -kpk I L Kpan -kpl I L Kpala -kpm I L Koho -kpn I E Kepkiriwát -kpo I L Ikposo -kpp I L Paku Karen -kpq I L Korupun-Sela -kpr I L Korafe -kps I L Tehit -kpt I L Karata -kpu I L Kafoa -kpv I L Komi-Zyrian -kpw I L Kobon -kpx I L Mountain Koiali -kpy I L Koryak -kpz I L Kupsabiny -kqa I L Mum -kqb I L Kovai -kqc I L Doromu -kqd I L Koy Sanjaq Surat -kqe I L Kalagan -kqf I L Kakabai -kqg I L Khe -kqh I L Kisankasa -kqi I L Koitabu -kqj I L Koromira -kqk I L Kotafon Gbe -kql I L Kyenele -kqm I L Khisa -kqn I L Kaonde -kqo I L Eastern Krahn -kqp I L Kimré -kqq I L Krenak -kqr I L Kimaragang -kqs I L Northern Kissi -kqt I L Klias River Kadazan -kqu I E Seroa -kqv I L Okolod -kqw I L Kandas -kqx I L Mser -kqy I L Koorete -kqz I E Korana -kra I L Kumhali -krb I E Karkin -krc krc krc I L Karachay-Balkar -krd I L Kairui-Midiki -kre I L Panará -krf I L Koro (Vanuatu) -krg I L North Korowai -krh I L Kurama -kri I L Krio -krj I L Kinaray-A -krk I L Kerek -krl krl krl I L Karelian -krm I L Krim -krn I L Sapo -krp I L Korop -krq I L Krui -krr I L Kru'ng 2 -krs I L Gbaya (Sudan) -krt I L Tumari Kanuri -kru kru kru I L Kurukh -krv I L Kavet -krw I L Western Krahn -krx I L Karon -kry I L Kryts -krz I L Sota Kanum -ksa I L Shuwa-Zamani -ksb I L Shambala -ksc I L Southern Kalinga -ksd I L Kuanua -kse I L Kuni -ksf I L Bafia -ksg I L Kusaghe -ksh I L Kölsch -ksi I L Krisa -ksj I L Uare -ksk I L Kansa -ksl I L Kumalu -ksm I L Kumba -ksn I L Kasiguranin -kso I L Kofa -ksp I L Kaba -ksq I L Kwaami -ksr I L Borong -kss I L Southern Kisi -kst I L Winyé -ksu I L Khamyang -ksv I L Kusu -ksw I L S'gaw Karen -ksx I L Kedang -ksy I L Kharia Thar -ksz I L Koraku -kta I L Katua -ktb I L Kambaata -ktc I L Kholok -ktd I L Kokata -kte I L Nubri -ktf I L Kwami -ktg I E Kalkutung -kth I L Karanga -kti I L North Muyu -ktj I L Plapo Krumen -ktk I E Kaniet -ktl I L Koroshi -ktm I L Kurti -ktn I L Karitiâna -kto I L Kuot -ktp I L Kaduo -ktq I E Katabaga -ktr I L Kota Marudu Tinagas -kts I L South Muyu -ktt I L Ketum -ktu I L Kituba (Democratic Republic of Congo) -ktv I L Eastern Katu -ktw I E Kato -ktx I L Kaxararí -kty I L Kango (Bas-Uélé District) -ktz I L Ju/'hoan -kua kua kua kj I L Kuanyama -kub I L Kutep -kud I L 'Auhelawa -kue I L Kuman -kuf I L Western Katu -kug I L Kupa -kuh I L Kushi -kui I L Kuikúro-Kalapálo -kuj I L Kuria -kuk I L Kepo' -kul I L Kulere -kum kum kum I L Kumyk -kun I L Kunama -kuo I L Kumukio -kup I L Kunimaipa -kuq I L Karipuna -kur kur kur ku M L Kurdish -kus I L Kusaal -kut kut kut I L Kutenai -kuu I L Upper Kuskokwim -kuv I L Kur -kuw I L Kpagua -kux I L Kukatja -kuy I L Kuuku-Ya'u -kuz I E Kunza -kva I L Bagvalal -kvb I L Kubu -kvc I L Kove -kvd I L Kui (Indonesia) -kve I L Kalabakan -kvf I L Kabalai -kvg I L Kuni-Boazi -kvh I L Komodo -kvi I L Kwang -kvj I L Psikye -kvk I L Korean Sign Language -kvl I L Brek Karen -kvm I L Kendem -kvn I L Border Kuna -kvo I L Dobel -kvp I L Kompane -kvq I L Geba Karen -kvr I L Kerinci -kvs I L Kunggara -kvt I L Lahta Karen -kvu I L Yinbaw Karen -kvv I L Kola -kvw I L Wersing -kvx I L Parkari Koli -kvy I L Yintale Karen -kvz I L Tsakwambo -kwa I L Dâw -kwb I L Kwa -kwc I L Likwala -kwd I L Kwaio -kwe I L Kwerba -kwf I L Kwara'ae -kwg I L Kaba Deme -kwh I L Kowiai -kwi I L Awa-Cuaiquer -kwj I L Kwanga -kwk I L Kwakiutl -kwl I L Kofyar -kwm I L Kwambi -kwn I L Kwangali -kwo I L Kwomtari -kwp I L Kodia -kwq I L Kwak -kwr I L Kwer -kws I L Kwese -kwt I L Kwesten -kwu I L Kwakum -kwv I L Kaba Na -kww I L Kwinti -kwx I L Khirwar -kwy I L San Salvador Kongo -kwz I E Kwadi -kxa I L Kairiru -kxb I L Krobu -kxc I L Komso -kxd I L Brunei -kxe I L Kakihum -kxf I L Manumanaw Karen -kxg I L Katingan -kxh I L Karo (Ethiopia) -kxi I L Keningau Murut -kxj I L Kulfa -kxk I L Zayein Karen -kxl I L Nepali Kurux -kxm I L Northern Khmer -kxn I L Kanowit -kxo I E Kanoé -kxp I L Wadiyara Koli -kxq I L Smärky Kanum -kxr I L Koro (Papua New Guinea) -kxs I L Kangjia -kxt I L Koiwat -kxu I L Kui (India) -kxv I L Kuvi -kxw I L Konai -kxx I L Likuba -kxy I L Kayong -kxz I L Kerewo -kya I L Kwaya -kyb I L Butbut Kalinga -kyc I L Kyaka -kyd I L Karey -kye I L Krache -kyf I L Kouya -kyg I L Keyagana -kyh I L Karok -kyi I L Kiput -kyj I L Karao -kyk I L Kamayo -kyl I L Kalapuya -kym I L Kpatili -kyn I L Karolanos -kyo I L Kelon -kyp I L Kang -kyq I L Kenga -kyr I L Kuruáya -kys I L Baram Kayan -kyt I L Kayagar -kyu I L Western Kayah -kyv I L Kayort -kyw I L Kudmali -kyx I L Rapoisi -kyy I L Kambaira -kyz I L Kayabí -kza I L Western Karaboro -kzb I L Kaibobo -kzc I L Bondoukou Kulango -kzd I L Kadai -kze I L Kosena -kzf I L Da'a Kaili -kzg I L Kikai -kzh I L Kenuzi-Dongola -kzi I L Kelabit -kzj I L Coastal Kadazan -kzk I E Kazukuru -kzl I L Kayeli -kzm I L Kais -kzn I L Kokola -kzo I L Kaningi -kzp I L Kaidipang -kzq I L Kaike -kzr I L Karang -kzs I L Sugut Dusun -kzt I L Tambunan Dusun -kzu I L Kayupulau -kzv I L Komyandaret -kzw I E Karirí-Xocó -kzx I L Kamarian -kzy I L Kango (Tshopo District) -kzz I L Kalabra -laa I L Lapuyan Subanun -lab I A Linear A -lac I L Lacandon -lad lad lad I L Ladino -lae I L Pattani -laf I L Lafofa -lag I L Langi -lah lah lah M L Lahnda -lai I L Lambya -laj I L Lango (Uganda) -lak I L Laka (Nigeria) -lal I L Lalia -lam lam lam I L Lamba -lan I L Laru -lao lao lao lo I L Lao -lap I L Laka (Chad) -laq I L Qabiao -lar I L Larteh -las I L Lama (Togo) -lat lat lat la I A Latin -lau I L Laba -lav lav lav lv I L Latvian -law I L Lauje -lax I L Tiwa -lay I L Lama (Myanmar) -laz I E Aribwatsa -lba I L Lui -lbb I L Label -lbc I L Lakkia -lbe I L Lak -lbf I L Tinani -lbg I L Laopang -lbi I L La'bi -lbj I L Ladakhi -lbm I L Lodhi -lbn I L Lamet -lbo I L Laven -lbq I L Wampar -lbr I L Northern Lorung -lbs I L Libyan Sign Language -lbt I L Lachi -lbu I L Labu -lbv I L Lavatbura-Lamusong -lbw I L Tolaki -lbx I L Lawangan -lby I L Lamu-Lamu -lbz I L Lardil -lcc I L Legenyem -lcd I L Lola -lce I L Loncong -lcf I L Lubu -lch I L Luchazi -lcl I L Lisela -lcm I L Tungag -lcp I L Western Lawa -lcq I L Luhu -lcs I L Lisabata-Nuniali -ldb I L Idun -ldd I L Luri -ldg I L Lenyima -ldh I L Lamja-Dengsa-Tola -ldi I L Laari -ldj I L Lemoro -ldk I L Leelau -ldl I L Kaan -ldm I L Landoma -ldn I C Láadan -ldo I L Loo -ldp I L Tso -ldq I L Lufu -lea I L Lega-Shabunda -leb I L Lala-Bisa -lec I L Leco -led I L Lendu -lee I L Lyélé -lef I L Lelemi -leg I L Lengua -leh I L Lenje -lei I L Lemio -lej I L Lengola -lek I L Leipon -lel I L Lele (Democratic Republic of Congo) -lem I L Nomaande -len I L Lenca -leo I L Leti (Cameroon) -lep I L Lepcha -leq I L Lembena -ler I L Lenkau -les I L Lese -let I L Lesing-Gelimi -leu I L Kara (Papua New Guinea) -lev I L Lamma -lew I L Ledo Kaili -lex I L Luang -ley I L Lemolang -lez lez lez I L Lezghian -lfa I L Lefa -lga I L Lungga -lgb I L Laghu -lgg I L Lugbara -lgh I L Laghuu -lgi I L Lengilu -lgk I L Lingarak -lgl I L Wala -lgm I L Lega-Mwenga -lgn I L Opuuo -lgq I L Logba -lgr I L Lengo -lgt I L Pahi -lgu I L Longgu -lgz I L Ligenza -lha I L Laha (Viet Nam) -lhh I L Laha (Indonesia) -lhl I L Lahul Lohar -lhm I L Lhomi -lhn I L Lahanan -lhp I L Lhokpu -lhs I E Mlahsö -lht I L Toga -lhu I L Lahu -lia I L West-Central Limba -lib I L Likum -lic I L Hlai -lid I L Nyindrou -lie I L Likila -lif I L Limbu -lig I L Ligbi -lih I L Lihir -lii I L Lingkhim -lij I L Ligurian -lik I L Lika -lil I L Lillooet -lim lim lim li I L Limburgan -lin lin lin ln I L Lingala -lio I L Liki -lip I L Sekpele -liq I L Libido -lir I L Liberian English -lis I L Lisu -lit lit lit lt I L Lithuanian -liu I L Logorik -liv I L Liv -liw I L Lembak -lix I L Liabuku -liy I L Banda-Bambari -liz I L Libinza -lje I L Rampi -lji I L Laiyolo -ljl I L Li'o -ljp I L Lampung -lka I L Lakalei -lke I L Kenyi -lkh I L Lakha -lki I L Laki -lkj I L Remun -lkl I L Laeko-Libuat -lkn I L Lakona -lkr I L Päri -lkt I L Lakota -lky I L Lokoya -lla I L Lala-Roba -llb I L Lolo -llc I L Lele (Guinea) -lld I L Ladin -lle I L Lele (Papua New Guinea) -llf I E Hermit -llg I L Lole -lli I L Teke-Laali -llk I L Lelak -lll I L Lilau -llm I L Lasalimu -lln I L Lele (Chad) -llo I L Khlor -llp I L North Efate -llq I L Lolak -lls I L Lithuanian Sign Language -llu I L Lau -llx I L Lauan -lma I L East Limba -lmb I L Merei -lmc I L Limilngan -lmd I L Lumun -lme I L Pévé -lmf I L South Lembata -lmg I L Lamogai -lmh I L Lambichhong -lmi I L Lombi -lmj I L West Lembata -lmk I L Lamkang -lml I L Hano -lmm I L Lamam -lmn I L Lambadi -lmo I L Lombard -lmp I L Limbum -lmq I L Lamatuka -lmr I L Lamalera -lmt I L Lematang -lmu I L Lamenu -lmv I L Lomaiviti -lmw I L Lake Miwok -lmx I L Laimbue -lmy I L Lamboya -lmz I E Lumbee -lna I L Langbashe -lnb I L Mbalanhu -lnd I L Lundayeh -lng I A Langobardic -lnh I L Lanoh -lni I L Lantanai -lnj I E Leningitij -lnl I L South Central Banda -lnm I L Langam -lnn I L Lorediakarkar -lno I L Lango (Sudan) -lns I L Lamnso' -lnt I L Lintang -lnu I L Longuda -lnz I L Lonzo -loa I L Loloda -lob I L Lobi -loc I L Inonhan -lod I L Berawan -loe I L Coastal Saluan -lof I L Logol -log I L Logo -loh I L Narim -loi I L Loma (Côte d'Ivoire) -loj I L Lou -lok I L Loko -lol lol lol I L Mongo -lom I L Loma (Liberia) -lon I L Malawi Lomwe -loo I L Lombo -lop I L Lopa -loq I L Lobala -lor I L Téén -los I L Loniu -lot I L Otuho -lou I L Louisiana Creole French -lov I L Lopi -low I L Tampias Lobu -lox I L Loun -loy I L Lowa -loz loz loz I L Lozi -lpa I L Lelepa -lpe I L Lepki -lpo I L Lipo -lpx I L Lopit -lra I L Lara' -lrc I L Northern Luri -lre I E Laurentian -lrg I L Laragia -lrk I L Loarki -lrl I L Lari -lrn I L Lorang -lro I L Laro -lrr I L Southern Lorung -lrv I L Larevat -lsa I L Lasgerdi -lsd I L Lishana Deni -lse I L Lusengo -lsg I L Lyons Sign Language -lsh I L Lish -lsi I L Lashi -lsl I L Latvian Sign Language -lso I L Laos Sign Language -lsr I L Aruop -lss I L Lasi -ltc I H Late Middle Chinese -lti I L Leti (Indonesia) -ltu I L Latu -ltz ltz ltz lb I L Luxembourgish -lua lua lua I L Luba-Lulua -lub lub lub lu I L Luba-Katanga -luc I L Aringa -lud I L Ludian -lue I L Luvale -luf I L Laua -lug lug lug lg I L Ganda -lui lui lui I L Luiseno -luj I L Luna -luk I L Lunanakha -lul I L Olu'bo -lum I L Luimbi -lun lun lun I L Lunda -luo luo luo I L Luo (Kenya and Tanzania) -lup I L Lumbu -luq I L Lucumi -lur I L Laura -lus lus lus I L Lushai -lut I L Lushootseed -luu I L Lumba-Yakkha -luv I L Luwati -luw I L Luo -luy I L Luyia -luz I L Southern Luri -lva I L Maku'a -lvk I L Lavukaleve -lvu I L Levuka -lwa I L Lwalu -lwe I L Lewo Eleng -lwh I L White Lachi -lwl I L Eastern Lawa -lwo I L Luwo -lwt I L Lewotobi -lww I L Lewo -lya I L Layakha -lyn I L Luyana -lzl I L Litzlitz -lzz I L Laz -maa I L San Jerónimo Tecóatl Mazatec -mab I L Yutanduchi Mixtec -mad mad mad I L Madurese -mae I L Bo-Rukul -maf I L Mafa -mag mag mag I L Magahi -mah mah mah mh I L Marshallese -mai mai mai I L Maithili -maj I L Jalapa De Díaz Mazatec -mak mak mak I L Makasar -mal mal mal ml I L Malayalam -mam I L Northern Mam -man man man M L Mandingo -maq I L Chiquihuitlán Mazatec -mar mar mar mr I L Marathi -mas mas mas I L Masai -mat I L San Francisco Matlatzinca -mau I L Huautla Mazatec -mav I L Sateré-Mawé -maw I L Mampruli -max I L North Moluccan Malay -maz I L Central Mazahua -mba I L Higaonon -mbb I L Western Bukidnon Manobo -mbc I L Macushi -mbd I L Dibabawon Manobo -mbe I E Molale -mbf I L Baba Malay -mbg I L Northern Nambikuára -mbh I L Mangseng -mbi I L Ilianen Manobo -mbj I L Nadëb -mbk I L Malol -mbl I L Maxakalí -mbm I L Ombamba -mbn I L Macaguán -mbo I L Mbo (Cameroon) -mbp I L Malayo -mbq I L Maisin -mbr I L Nukak Makú -mbs I L Sarangani Manobo -mbt I L Matigsalug Manobo -mbu I L Mbula-Bwazza -mbv I L Mbulungish -mbw I L Maring -mbx I L Mari (East Sepik Province) -mby I L Memoni -mbz I L Amoltepec Mixtec -mca I L Maca -mcb I L Machiguenga -mcc I L Bitur -mcd I L Sharanahua -mce I L Itundujia Mixtec -mcf I L Matsés -mcg I L Mapoyo -mch I L Maquiritari -mci I L Mese -mcj I L Mvanip -mck I L Mbunda -mcl I E Macaguaje -mcm I L Malaccan Creole Portuguese -mcn I L Masana -mco I L Coatlán Mixe -mcp I L Makaa -mcq I L Ese -mcr I L Menya -mcs I L Mambai -mct I L Mengisa -mcu I L Cameroon Mambila -mcv I L Minanibai -mcw I L Mawa (Chad) -mcx I L Mpiemo -mcy I L South Watut -mcz I L Mawan -mda I L Mada (Nigeria) -mdb I L Morigi -mdc I L Male (Papua New Guinea) -mdd I L Mbum -mde I L Maba (Chad) -mdf mdf mdf I L Moksha -mdg I L Massalat -mdh I L Maguindanao -mdi I L Mamvu -mdj I L Mangbetu -mdk I L Mangbutu -mdl I L Maltese Sign Language -mdm I L Mayogo -mdn I L Mbati -mdo I L Southwest Gbaya -mdp I L Mbala -mdq I L Mbole -mdr mdr mdr I L Mandar -mds I L Maria (Papua New Guinea) -mdt I L Mbere -mdu I L Mboko -mdv I L Santa Lucía Monteverde Mixtec -mdw I L Mbosi -mdx I L Dizi -mdy I L Male (Ethiopia) -mdz I L Suruí Do Pará -mea I L Menka -meb I L Ikobi-Mena -mec I L Mara -med I L Melpa -mee I L Mengen -mef I L Megam -meg I L Mea -meh I L Southwestern Tlaxiaco Mixtec -mei I L Midob -mej I L Meyah -mek I L Mekeo -mel I L Melanau -mem I E Mangala -men men men I L Mende (Sierra Leone) -meo I L Kedah Malay -mep I L Miriwung -meq I L Merey -mer I L Meru -mes I L Masmaje -met I L Mato -meu I L Motu -mev I L Mann -mew I L Maaka -mey I L Hassaniyya -mez I L Menominee -mfa I L Pattani Malay -mfb I L Lom -mfc I L Mba -mfd I L Mendankwe-Nkwen -mfe I L Morisyen -mff I L Naki -mfg I L Mixifore -mfh I L Matal -mfi I L Wandala -mfj I L Mefele -mfk I L North Mofu -mfl I L Putai -mfm I L Marghi South -mfn I L Cross River Mbembe -mfo I L Mbe -mfp I L Makassar Malay -mfq I L Moba -mfr I L Marithiel -mfs I L Mexican Sign Language -mft I L Mokerang -mfu I L Mbwela -mfv I L Mandjak -mfw I E Mulaha -mfx I L Melo -mfy I L Mayo -mfz I L Mabaan -mga mga mga I H Middle Irish (900-1200) -mgb I L Mararit -mgc I L Morokodo -mgd I L Moru -mge I L Mango -mgf I L Maklew -mgg I L Mpongmpong -mgh I L Makhuwa-Meetto -mgi I L Lijili -mgj I L Abureni -mgk I L Mawes -mgl I L Maleu-Kilenge -mgm I L Mambae -mgn I L Mbangi -mgo I L Meta' -mgp I L Eastern Magar -mgq I L Malila -mgr I L Mambwe-Lungu -mgs I L Manda (Tanzania) -mgt I L Mongol -mgu I L Mailu -mgv I L Matengo -mgw I L Matumbi -mgx I L Omati -mgy I L Mbunga -mgz I L Mbugwe -mha I L Manda (India) -mhb I L Mahongwe -mhc I L Mocho -mhd I L Mbugu -mhe I L Besisi -mhf I L Mamaa -mhg I L Margu -mhh I L Maskoy Pidgin -mhi I L Ma'di -mhj I L Mogholi -mhk I L Mungaka -mhl I L Mauwake -mhm I L Makhuwa-Moniga -mhn I L Mócheno -mho I L Mashi (Zambia) -mhp I L Balinese Malay -mhq I L Mandan -mhr I L Eastern Mari -mhs I L Buru (Indonesia) -mht I L Mandahuaca -mhu I L Digaro-Mishmi -mhv I L Arakanese -mhw I L Mbukushu -mhx I L Maru -mhy I L Ma'anyan -mhz I L Mor (Mor Islands) -mia I E Miami -mib I L Atatláhuca Mixtec -mic mic mic I L Mi'kmaq -mid I L Mandaic -mie I L Ocotepec Mixtec -mif I L Mofu-Gudur -mig I L San Miguel El Grande Mixtec -mih I L Chayuco Mixtec -mii I L Chigmecatitlán Mixtec -mij I L Abar -mik I L Mikasuki -mil I L Peñoles Mixtec -mim I L Alacatlatzala Mixtec -min min min I L Minangkabau -mio I L Pinotepa Nacional Mixtec -mip I L Apasco-Apoala Mixtec -miq I L Mískito -mir I L Isthmus Mixe -mis mis mis S Uncoded languages -mit I L Southern Puebla Mixtec -miu I L Cacaloxtepec Mixtec -miv I L Mimi -miw I L Akoye -mix I L Mixtepec Mixtec -miy I L Ayutla Mixtec -miz I L Coatzospan Mixtec -mja I L Mahei -mjc I L San Juan Colorado Mixtec -mjd I L Northwest Maidu -mje I E Muskum -mjg I L Tu -mjh I L Mwera (Nyasa) -mji I L Kim Mun -mjj I L Mawak -mjk I L Matukar -mjl I L Mandeali -mjm I L Medebur -mjn I L Ma (Papua New Guinea) -mjo I L Malankuravan -mjp I L Malapandaram -mjq I L Malaryan -mjr I L Malavedan -mjs I L Miship -mjt I L Sauria Paharia -mju I L Manna-Dora -mjv I L Mannan -mjw I L Karbi -mjx I L Mahali -mjy I E Mahican -mjz I L Majhi -mka I L Mbre -mkb I L Mal Paharia -mkc I L Siliput -mkd mac mkd mk I L Macedonian -mke I L Mawchi -mkf I L Miya -mkg I L Mak (China) -mki I L Dhatki -mkj I L Mokilese -mkk I L Byep -mkl I L Mokole -mkm I L Moklen -mkn I L Kupang Malay -mko I L Mingang Doso -mkp I L Moikodi -mkq I E Bay Miwok -mkr I L Malas -mks I L Silacayoapan Mixtec -mkt I L Vamale -mku I L Konyanka Maninka -mkv I L Mafea -mkw I L Kituba (Congo) -mkx I L Cinamiguin Manobo -mky I L East Makian -mkz I L Makasae -mla I L Malo -mlb I L Mbule -mlc I L Cao Lan -mld I L Malakhel -mle I L Manambu -mlf I L Mal -mlg mlg mlg mg M L Malagasy -mlh I L Mape -mli I L Malimpung -mlj I L Miltu -mlk I L Ilwana -mll I L Malua Bay -mlm I L Mulam -mln I L Malango -mlo I L Mlomp -mlp I L Bargam -mlq I L Western Maninkakan -mlr I L Vame -mls I L Masalit -mlt mlt mlt mt I L Maltese -mlu I L To'abaita -mlv I L Motlav -mlw I L Moloko -mlx I L Malfaxal -mly I L Malay (individual language) -mlz I L Malaynon -mma I L Mama -mmb I L Momina -mmc I L Michoacán Mazahua -mmd I L Maonan -mme I L Mae -mmf I L Mundat -mmg I L North Ambrym -mmh I L Mehináku -mmi I L Musar -mmj I L Majhwar -mmk I L Mukha-Dora -mml I L Man Met -mmm I L Maii -mmn I L Mamanwa -mmo I L Mangga Buang -mmp I L Musan -mmq I L Musak -mmr I L Western Xiangxi Hmong -mms I L Southern Mam -mmt I L Malalamai -mmu I L Mmaala -mmv I E Miriti -mmw I L Emae -mmx I L Madak -mmy I L Migaama -mmz I L Mabaale -mna I L Mbula -mnb I L Muna -mnc mnc mnc I L Manchu -mnd I L Mondé -mne I L Naba -mnf I L Mundani -mng I L Eastern Mnong -mnh I L Mono (Democratic Republic of Congo) -mni mni mni I L Manipuri -mnj I L Munji -mnk I L Mandinka -mnl I L Tiale -mnm I L Mapena -mnn I L Southern Mnong -mnp I L Min Bei Chinese -mnq I L Minriq -mnr I L Mono (USA) -mns I L Mansi -mnt I E Maykulan -mnu I L Mer -mnv I L Rennell-Belona -mnw I L Mon -mnx I L Manikion -mny I L Manyawa -mnz I L Moni -moa I L Mwan -moc I L Mocoví -mod I E Mobilian -moe I L Montagnais -mof I E Mohegan-Montauk-Narragansett -mog I L Mongondow -moh moh moh I L Mohawk -moi I L Mboi -moj I L Monzombo -mok I L Morori -mol mol mol mo I L Moldavian -mom I E Monimbo -mon mon mon mn M L Mongolian -moo I L Monom -mop I L Mopán Maya -moq I L Mor (Bomberai Peninsula) -mor I L Moro -mos mos mos I L Mossi -mot I L Barí -mou I L Mogum -mov I L Mohave -mow I L Moi (Congo) -mox I L Molima -moy I L Shekkacho -moz I L Mukulu -mpa I L Mpoto -mpb I L Mullukmulluk -mpc I L Mangarayi -mpd I L Machinere -mpe I L Majang -mpf I L Tajumulco Mam -mpg I L Marba -mph I L Maung -mpi I L Mpade -mpj I L Martu Wangka -mpk I L Mbara (Chad) -mpl I L Middle Watut -mpm I L Yosondúa Mixtec -mpn I L Mindiri -mpo I L Miu -mpp I L Migabac -mpq I L Matís -mpr I L Vangunu -mps I L Dadibi -mpt I L Mian -mpu I L Makuráp -mpv I L Mungkip -mpw I L Mapidian -mpx I L Misima-Paneati -mpy I L Mapia -mpz I L Mpi -mqa I L Maba (Indonesia) -mqb I L Mbuko -mqc I L Mangole -mqd I L Madang -mqe I L Matepi -mqf I L Momuna -mqg I L Kota Bangun Kutai Malay -mqh I L Tlazoyaltepec Mixtec -mqi I L Mariri -mqj I L Mamasa -mqk I L Rajah Kabunsuwan Manobo -mql I L Mbelime -mqm I L South Marquesan -mqn I L Moronene -mqo I L Modole -mqp I L Manipa -mqq I L Minokok -mqr I L Mander -mqs I L West Makian -mqt I L Mok -mqu I L Mandari -mqv I L Mosimo -mqw I L Murupi -mqx I L Mamuju -mqy I L Manggarai -mqz I L Malasanga -mra I L Mlabri -mrb I L Marino -mrc I L Maricopa -mrd I L Western Magar -mre I E Martha's Vineyard Sign Language -mrf I L Elseng -mrg I L Miri -mrh I L Mara Chin -mri mao mri mi I L Maori -mrj I L Western Mari -mrk I L Hmwaveke -mrl I L Mortlockese -mrm I L Merlav -mrn I L Cheke Holo -mro I L Mru -mrp I L Morouas -mrq I L North Marquesan -mrr I L Maria (India) -mrs I L Maragus -mrt I L Marghi Central -mru I L Mono (Cameroon) -mrv I L Mangareva -mrw I L Maranao -mrx I L Maremgi -mry I L Karaga Mandaya -mrz I L Marind -msa may msa ms M L Malay (macrolanguage) -msb I L Masbatenyo -msc I L Sankaran Maninka -msd I L Yucatec Maya Sign Language -mse I L Musey -msf I L Mekwei -msg I L Moraid -msh I L Masikoro Malagasy -msi I L Sabah Malay -msj I L Ma (Democratic Republic of Congo) -msk I L Mansaka -msl I L Molof -msm I L Agusan Manobo -msn I L Mosina -mso I L Mombum -msp I E Maritsauá -msq I L Caac -msr I L Mongolian Sign Language -mss I L West Masela -mst I L Cataelano Mandaya -msu I L Musom -msv I L Maslam -msw I L Mansoanka -msx I L Moresada -msy I L Aruamu -msz I L Momare -mta I L Cotabato Manobo -mtb I L Anyin Morofo -mtc I L Munit -mtd I L Mualang -mte I L Mono (Solomon Islands) -mtf I L Murik -mtg I L Una -mth I L Munggui -mti I L Maiwa (Papua New Guinea) -mtj I L Moskona -mtk I L Mbe' -mtl I L Montol -mtm I E Mator -mtn I E Matagalpa -mto I L Totontepec Mixe -mtp I L Wichí Lhamtés Nocten -mtq I L Muong -mtr I L Mewari -mts I L Yora -mtt I L Mota -mtu I L Tututepec Mixtec -mtv I L Asaro'o -mtw I L Magahat -mtx I L Tidaá Mixtec -mty I L Nabi -mtz I L Tacanec -mua I L Mundang -mub I L Mubi -muc I L Mbu' -mud I L Mednyj Aleut -mue I L Media Lengua -mug I L Musgu -muh I L Mündü -mui I L Musi -muj I L Mabire -muk I L Mugom -mul mul mul S S Multiple languages -mum I L Maiwala -muo I L Nyong -mup I L Malvi -muq I L Eastern Xiangxi Hmong -mur I L Murle -mus mus mus I L Creek -mut I L Western Muria -muu I L Yaaku -muv I L Muthuvan -muw I L Mundari -mux I L Bo-Ung -muy I L Muyang -muz I L Mursi -mva I L Manam -mvb I E Mattole -mvc I L Central Mam -mvd I L Mamboru -mve I L Marwari (Pakistan) -mvf I L Peripheral Mongolian -mvg I L Yucuañe Mixtec -mvh I L Mire -mvi I L Miyako -mvj I L Todos Santos Cuchumatán Mam -mvk I L Mekmek -mvl I E Mbara (Australia) -mvm I L Muya -mvn I L Minaveha -mvo I L Marovo -mvp I L Duri -mvq I L Moere -mvr I L Marau -mvs I L Massep -mvt I L Mpotovoro -mvu I L Marfa -mvv I L Tagal Murut -mvw I L Machinga -mvx I L Meoswar -mvy I L Indus Kohistani -mvz I L Mesqan -mwa I L Mwatebu -mwb I L Juwal -mwc I L Are -mwd I L Mudbura -mwe I L Mwera (Chimwera) -mwf I L Murrinh-Patha -mwg I L Aiklep -mwh I L Mouk-Aria -mwi I L Labo -mwj I L Maligo -mwk I L Kita Maninkakan -mwl mwl mwl I L Mirandese -mwm I L Sar -mwn I L Nyamwanga -mwo I L Central Maewo -mwp I L Kala Lagaw Ya -mwq I L Mün Chin -mwr mwr mwr M L Marwari -mws I L Mwimbi-Muthambi -mwt I L Moken -mwu I E Mittu -mwv I L Mentawai -mww I L Hmong Daw -mwx I L Mediak -mwy I L Mosiro -mwz I L Moingi -mxa I L Northwest Oaxaca Mixtec -mxb I L Tezoatlán Mixtec -mxc I L Manyika -mxd I L Modang -mxe I L Mele-Fila -mxf I L Malgbe -mxg I L Mbangala -mxh I L Mvuba -mxi I E Mozarabic -mxj I L Miju-Mishmi -mxk I L Monumbo -mxl I L Maxi Gbe -mxm I L Meramera -mxn I L Moi (Indonesia) -mxo I L Mbowe -mxp I L Tlahuitoltepec Mixe -mxq I L Juquila Mixe -mxr I L Murik Kayan -mxs I L Huitepec Mixtec -mxt I L Jamiltepec Mixtec -mxu I L Mada (Cameroon) -mxv I L Metlatónoc Mixtec -mxw I L Namo -mxx I L Mahou -mxy I L Southeastern Nochixtlán Mixtec -mxz I L Central Masela -mya bur mya my I L Burmese -myb I L Mbay -myc I L Mayeka -myd I L Maramba -mye I L Myene -myf I L Bambassi -myg I L Manta -myh I E Makah -myi I L Mina (India) -myj I L Mangayat -myk I L Mamara Senoufo -myl I L Moma -mym I L Me'en -myo I L Anfillo -myp I L Pirahã -myq I L Forest Maninka -myr I L Muniche -mys I E Mesmes -myt I L Sangab Mandaya -myu I L Mundurukú -myv myv myv I L Erzya -myw I L Muyuw -myx I L Masaba -myy I L Macuna -myz I H Classical Mandaic -mza I L Santa María Zacatepec Mixtec -mzb I L Tumzabt -mzc I L Madagascar Sign Language -mzd I L Malimba -mze I L Morawa -mzg I L Monastic Sign Language -mzh I L Wichí Lhamtés Güisnay -mzi I L Ixcatlán Mazatec -mzj I L Manya -mzk I L Nigeria Mambila -mzl I L Mazatlán Mixe -mzm I L Mumuye -mzn I L Mazanderani -mzo I E Matipuhy -mzp I L Movima -mzq I L Mori Atas -mzr I L Marúbo -mzs I L Macanese -mzt I L Mintil -mzu I L Inapang -mzv I L Manza -mzw I L Deg -mzx I L Mawayana -mzy I L Mozambican Sign Language -mzz I L Maiadomu -naa I L Namla -nab I L Southern Nambikuára -nac I L Narak -nad I L Nijadali -nae I L Naka'ela -naf I L Nabak -nag I L Naga Pidgin -naj I L Nalu -nak I L Nakanai -nal I L Nalik -nam I L Nangikurrunggurr -nan I L Min Nan Chinese -nao I L Naaba -nap nap nap I L Neapolitan -naq I L Nama (Namibia) -nar I L Iguta -nas I L Naasioi -nat I L Hungworo -nau nau nau na I L Nauru -nav nav nav nv I L Navajo -naw I L Nawuri -nax I L Nakwi -nay I E Narrinyeri -naz I L Coatepec Nahuatl -nba I L Nyemba -nbb I L Ndoe -nbc I L Chang Naga -nbd I L Ngbinda -nbe I L Konyak Naga -nbf I L Naxi -nbg I L Nagarchal -nbh I L Ngamo -nbi I L Mao Naga -nbj I L Ngarinman -nbk I L Nake -nbl nbl nbl nr I L South Ndebele -nbm I L Ngbaka Ma'bo -nbn I L Kuri -nbo I L Nkukoli -nbp I L Nnam -nbq I L Nggem -nbr I L Numana-Nunku-Gbantu-Numbu -nbs I L Namibian Sign Language -nbt I L Na -nbu I L Rongmei Naga -nbv I L Ngamambo -nbw I L Southern Ngbandi -nbx I L Ngura -nby I L Ningera -nca I L Iyo -ncb I L Central Nicobarese -ncc I L Ponam -ncd I L Nachering -nce I L Yale -ncf I L Notsi -ncg I L Nisga'a -nch I L Central Huasteca Nahuatl -nci I H Classical Nahuatl -ncj I L Northern Puebla Nahuatl -nck I L Nakara -ncl I L Michoacán Nahuatl -ncm I L Nambo -ncn I L Nauna -nco I L Sibe -ncp I L Ndaktup -ncr I L Ncane -ncs I L Nicaraguan Sign Language -nct I L Chothe Naga -ncu I L Chumburung -ncx I L Central Puebla Nahuatl -ncz I E Natchez -nda I L Ndasa -ndb I L Kenswei Nsei -ndc I L Ndau -ndd I L Nde-Nsele-Nta -nde nde nde nd I L North Ndebele -ndf I E Nadruvian -ndg I L Ndengereko -ndh I L Ndali -ndi I L Samba Leko -ndj I L Ndamba -ndk I L Ndaka -ndl I L Ndolo -ndm I L Ndam -ndn I L Ngundi -ndo ndo ndo ng I L Ndonga -ndp I L Ndo -ndq I L Ndombe -ndr I L Ndoola -nds nds nds I L Low German -ndt I L Ndunga -ndu I L Dugun -ndv I L Ndut -ndw I L Ndobo -ndx I L Nduga -ndy I L Lutos -ndz I L Ndogo -nea I L Eastern Ngad'a -neb I L Toura (Côte d'Ivoire) -nec I L Nedebang -ned I L Nde-Gbite -nee I L Kumak -nef I L Nefamese -neg I L Negidal -neh I L Nyenkha -nei I A Neo-Hittite -nej I L Neko -nek I L Neku -nem I L Nemi -nen I L Nengone -neo I L Ná-Meo -nep nep nep ne I L Nepali -neq I L North Central Mixe -ner I L Yahadian -nes I L Bhoti Kinnauri -net I L Nete -nev I L Nyaheun -new new new I L Newari -nex I L Neme -ney I L Neyo -nez I L Nez Perce -nfa I L Dhao -nfd I L Ndun -nfg I L Nyeng -nfk I L Shakara -nfl I L Ayiwo -nfr I L Nafaanra -nfu I L Mfumte -nga I L Ngbaka -ngb I L Northern Ngbandi -ngc I L Ngombe (Democratic Republic of Congo) -ngd I L Ngando (Central African Republic) -nge I L Ngemba -ngg I L Ngbaka Manza -ngh I L N/u -ngi I L Ngizim -ngj I L Ngie -ngk I L Ngalkbun -ngl I L Lomwe -ngm I L Ngatik Men's Creole -ngn I L Ngwo -ngo I L Ngoni -ngp I L Ngulu -ngq I L Ngurimi -ngr I L Nanggu -ngs I L Gvoko -ngt I L Ngeq -ngu I L Guerrero Nahuatl -ngv I E Nagumi -ngw I L Ngwaba -ngx I L Nggwahyi -ngy I L Tibea -ngz I L Ngungwel -nha I L Nhanda -nhb I L Beng -nhc I E Tabasco Nahuatl -nhd I L Chiripá -nhe I L Eastern Huasteca Nahuatl -nhf I L Nhuwala -nhg I L Tetelcingo Nahuatl -nhh I L Nahari -nhi I L Zacatlán-Ahuacatlán-Tepetzintla Nahuatl -nhk I L Isthmus-Cosoleacaque Nahuatl -nhm I L Morelos Nahuatl -nhn I L Central Nahuatl -nho I L Takuu -nhp I L Isthmus-Pajapan Nahuatl -nhq I L Huaxcaleca Nahuatl -nhr I L Naro -nht I L Ometepec Nahuatl -nhu I L Noone -nhv I L Temascaltepec Nahuatl -nhw I L Western Huasteca Nahuatl -nhx I L Isthmus-Mecayapan Nahuatl -nhy I L Northern Oaxaca Nahuatl -nhz I L Santa María La Alta Nahuatl -nia nia nia I L Nias -nib I L Nakama -nid I E Ngandi -nie I L Niellim -nif I L Nek -nig I L Ngalakan -nih I L Nyiha -nii I L Nii -nij I L Ngaju -nik I L Southern Nicobarese -nil I L Nila -nim I L Nilamba -nin I L Ninzo -nio I L Nganasan -nir I L Nimboran -nis I L Nimi -nit I L Southeastern Kolami -niu niu niu I L Niuean -niv I L Gilyak -niw I L Nimo -nix I L Hema -niy I L Ngiti -niz I L Ningil -nja I L Nzanyi -njb I L Nocte Naga -njd I L Ndonde Hamba -njh I L Lotha Naga -nji I L Gudanji -njj I L Njen -njl I L Njalgulgule -njm I L Angami Naga -njn I L Liangmai Naga -njo I L Ao Naga -njr I L Njerep -njs I L Nisa -njt I L Ndyuka-Trio Pidgin -nju I L Ngadjunmaya -njx I L Kunyi -njy I L Njyem -nka I L Nkoya -nkb I L Khoibu Naga -nkc I L Nkongho -nkd I L Koireng -nke I L Duke -nkf I L Inpui Naga -nkg I L Nekgini -nkh I L Khezha Naga -nki I L Thangal Naga -nkj I L Nakai -nkk I L Nokuku -nkm I L Namat -nkn I L Nkangala -nko I L Nkonya -nkp I E Niuatoputapu -nkr I L Nukuoro -nks I L North Asmat -nku I L Bouna Kulango -nkw I L Nkutu -nkx I L Nkoroo -nky I L Khiamniungan Naga -nkz I L Nkari -nla I L Ngombale -nlc I L Nalca -nld dut nld nl I L Dutch -nle I L East Nyala -nlg I L Gela -nli I L Grangali -nlj I L Nyali -nlk I L Ninia Yali -nll I L Nihali -nln I L Durango Nahuatl -nlo I L Ngul -nlr I L Ngarla -nlu I L Nchumbulu -nlv I L Orizaba Nahuatl -nlx I L Nahali -nly I L Nyamal -nma I L Maram Naga -nmb I L Big Nambas -nmc I L Ngam -nmd I L Ndumu -nme I L Mzieme Naga -nmf I L Tangkhul Naga -nmg I L Ngumba -nmh I L Monsang Naga -nmi I L Nyam -nmj I L Ngombe (Central African Republic) -nmk I L Namakura -nml I L Ndemli -nmm I L Manangba -nmn I L !Xóõ -nmo I L Moyon Naga -nmp I L Nimanbur -nmq I L Nambya -nmr I L Nimbari -nms I L Letemboi -nmt I L Namonuito -nmu I L Northeast Maidu -nmv I L Ngamini -nmw I L Nimoa -nmx I L Nama (Papua New Guinea) -nmy I L Namuyi -nmz I L Nawdm -nna I L Nyangumarta -nnb I L Nande -nnc I L Nancere -nnd I L West Ambae -nne I L Ngandyera -nnf I L Ngaing -nng I L Maring Naga -nnh I L Ngiemboon -nni I L North Nuaulu -nnj I L Nyangatom -nnk I L Nankina -nnl I L Northern Rengma Naga -nnm I L Namia -nnn I L Ngete -nno nno nno nn I L Norwegian Nynorsk -nnp I L Wancho Naga -nnq I L Ngindo -nnr I E Narungga -nns I L Ningye -nnt I E Nanticoke -nnu I L Dwang -nnv I E Nugunu (Australia) -nnw I L Southern Nuni -nnx I L Ngong -nny I L Nyangga -nnz I L Nda'nda' -noa I L Woun Meu -nob nob nob nb I L Norwegian Bokmål -noc I L Nuk -nod I L Northern Thai -noe I L Nimadi -nof I L Nomane -nog nog nog I L Nogai -noh I L Nomu -noi I L Noiri -nok I E Nooksack -nom I E Nocamán -non non non I H Old Norse -noo I L Nootka -nop I L Numanggang -noq I L Ngongo -nor nor nor no M L Norwegian -nos I L Southern Yi -not I L Nomatsiguenga -nou I L Ewage-Notu -nov I C Novial -now I L Nyambo -noy I L Noy -noz I L Nayi -npa I L Nar Phu -npb I L Nupbikha -nph I L Phom Naga -npl I L Southeastern Puebla Nahuatl -npn I L Mondropolon -npo I L Pochuri Naga -nps I L Nipsan -npu I L Puimei Naga -npy I L Napu -nqg I L Ede Nago -nqk I L Kura Ede Nago -nqm I L Ndom -nqn I L Nen -nqo nqo nqo I L N'Ko -nra I L Ngom -nrb I L Nara -nrc I A Noric -nre I L Southern Rengma Naga -nrg I L Narango -nri I L Chokri Naga -nrl I L Ngarluma -nrm I L Narom -nrn I E Norn -nrp I A North Picene -nrr I L Norra -nrt I E Northern Kalapuya -nrx I L Ngurmbur -nrz I L Lala -nsa I L Sangtam Naga -nsc I L Nshi -nse I L Nsenga -nsg I L Ngasa -nsh I L Ngoshie -nsi I L Nigerian Sign Language -nsk I L Naskapi -nsl I L Norwegian Sign Language -nsm I L Sumi Naga -nsn I L Nehan -nso nso nso I L Pedi -nsp I L Nepalese Sign Language -nsq I L Northern Sierra Miwok -nsr I L Maritime Sign Language -nss I L Nali -nst I L Tase Naga -nsu I L Sierra Negra Nahuatl -nsw I L Navut -nsx I L Nsongo -nsz I L Nisenan -nte I L Nathembo -nti I L Natioro -ntj I L Ngaanyatjarra -ntk I L Ikoma -ntm I L Nateni -nto I L Ntomba -ntp I L Northern Tepehuan -ntr I L Delo -nts I E Natagaimas -ntw I E Nottoway -nty I L Mantsi -ntz I L Natanzi -nua I L Yuaga -nuc I E Nukuini -nud I L Ngala -nue I L Ngundu -nuf I L Nusu -nug I L Nungali -nuh I L Ndunda -nui I L Ngumbi -nuj I L Nyole -nul I L Nusa Laut -num I L Niuafo'ou -nun I L Nung (Myanmar) -nuo I L Nguôn -nup I L Nupe-Nupe-Tako -nuq I L Nukumanu -nur I L Nukuria -nus I L Nuer -nut I L Nung (Viet Nam) -nuu I L Ngbundu -nuv I L Northern Nuni -nuw I L Nguluwan -nux I L Mehek -nuy I L Nunggubuyu -nuz I L Tlamacazapa Nahuatl -nvh I L Nasarian -nvm I L Namiae -nwa I E Nawathinehena -nwb I L Nyabwa -nwc nwc nwc I H Classical Newari -nwe I L Ngwe -nwi I L Southwest Tanna -nwm I L Nyamusa-Molo -nwr I L Nawaru -nwx I H Middle Newar -nwy I E Nottoway-Meherrin -nxa I L Nauete -nxd I L Ngando (Democratic Republic of Congo) -nxe I L Nage -nxg I L Ngad'a -nxi I L Nindi -nxj I L Nyadu -nxl I L South Nuaulu -nxm I A Numidian -nxn I L Ngawun -nxr I L Ninggerum -nxu I L Narau -nxx I L Nafri -nya nya nya ny I L Nyanja -nyb I L Nyangbo -nyc I L Nyanga-li -nyd I L Nyore -nye I L Nyengo -nyf I L Giryama -nyg I L Nyindu -nyh I L Nyigina -nyi I L Ama (Sudan) -nyj I L Nyanga -nyk I L Nyaneka -nyl I L Nyeu -nym nym nym I L Nyamwezi -nyn nyn nyn I L Nyankole -nyo nyo nyo I L Nyoro -nyp I E Nyang'i -nyq I L Nayini -nys I E Nyunga -nyt I L Nyawaygi -nyu I L Nyungwe -nyv I L Nyulnyul -nyw I L Nyaw -nyx I E Nganyaywana -nyy I L Nyakyusa-Ngonde -nza I L Tigon Mbembe -nzb I L Njebi -nzi nzi nzi I L Nzima -nzk I L Nzakara -nzm I L Zeme Naga -nzs I L New Zealand Sign Language -nzu I L Teke-Nzikou -nzy I L Nzakambay -oaa I L Orok -oac I L Oroch -oar I A Old Aramaic (up to 700 BCE) -oav I H Old Avar -obi I E Obispeño -obl I L Oblo -obm I A Moabite -obo I L Obo Manobo -obr I H Old Burmese -obt I H Old Breton -obu I L Obulom -oca I L Ocaina -och I A Old Chinese -oci oci oci oc I L Occitan (post 1500) -oco I H Old Cornish -ocu I L Atzingo Matlatzinca -oda I L Odut -odk I L Od -odt I H Old Dutch -odu I L Odual -ofo I E Ofo -ofs I H Old Frisian -ofu I L Efutop -ogb I L Ogbia -ogc I L Ogbah -oge I H Old Georgian -ogg I L Ogbogolo -ogn I L Ogan -ogo I L Khana -ogu I L Ogbronuagum -oht I A Old Hittite -ohu I H Old Hungarian -oia I L Oirata -oin I L Inebu One -ojb I L Northwestern Ojibwa -ojc I L Central Ojibwa -ojg I L Eastern Ojibwa -oji oji oji oj M L Ojibwa -ojp I H Old Japanese -ojs I L Severn Ojibwa -ojv I L Ontong Java -ojw I L Western Ojibwa -oka I L Okanagan -okb I L Okobo -okd I L Okodia -oke I L Okpe (Southwestern Edo) -okh I L Koresh-e Rostam -oki I L Okiek -okj I E Oko-Juwoi -okk I L Kwamtim One -okl I E Old Kentish Sign Language -okm I H Middle Korean (10th - 16th cent.) -okn I L Oki-No-Erabu -oko I H Old Korean (3rd - 9th cent.) -okr I L Kirike -oks I L Oko-Eni-Osayen -oku I L Oku -okx I L Okpe (Northwestern Edo) -ola I L Walungge -old I L Mochi -ole I L Olekha -olm I L Oloma -olo I L Livvi -oma I L Omaha-Ponca -omb I L East Ambae -omc I E Mochica -ome I E Omejes -omg I L Omagua -omi I L Omi -omk I E Omok -oml I L Ombo -omn I A Minoan -omo I L Utarmbung -omp I H Old Manipuri -omr I H Old Marathi -omt I L Omotik -omu I E Omurano -omw I L South Tairora -omx I H Old Mon -ona I L Ona -onb I L Lingao -one I L Oneida -ong I L Olo -oni I L Onin -onj I L Onjob -onk I L Kabore One -onn I L Onobasulu -ono I L Onondaga -onp I L Sartang -onr I L Northern One -ons I L Ono -ont I L Ontenu -onu I L Unua -onw I H Old Nubian -onx I L Onin Based Pidgin -ood I L Tohono O'odham -oog I L Ong -oon I L Önge -oor I L Oorlams -oos I A Old Ossetic -opa I L Okpamheri -ope I A Old Persian -opk I L Kopkaka -opm I L Oksapmin -opo I L Opao -opt I L Opata -opy I L Ofayé -ora I L Oroha -orc I L Orma -ore I L Orejón -org I L Oring -orh I L Oroqen -ori ori ori or I L Oriya -ork I L Orokaiva -orm orm orm om M L Oromo -orn I L Orang Kanaq -oro I L Orokolo -orr I L Oruma -ors I L Orang Seletar -ort I L Adivasi Oriya -oru I L Ormuri -orv I H Old Russian -orw I L Oro Win -orx I L Oro -orz I L Ormu -osa osa osa I L Osage -osc I A Oscan -osi I L Osing -oso I L Ososo -osp I H Old Spanish -oss oss oss os I L Ossetian -ost I L Osatu -osu I L Southern One -osx I H Old Saxon -ota ota ota I H Ottoman Turkish (1500-1928) -otb I H Old Tibetan -otd I L Dohoi -ote I L Mezquital Otomi -oti I E Oti -otk I H Old Turkish -otl I L Tilapa Otomi -otm I L Eastern Highland Otomi -otn I L Tenango Otomi -otq I L Querétaro Otomi -otr I L Otoro -ots I L Estado de México Otomi -ott I L Temoaya Otomi -otu I E Otuke -otw I L Ottawa -otx I L Texcatepec Otomi -oty I A Old Tamil -otz I L Ixtenco Otomi -oua I L Tagargrent -oub I L Glio-Oubi -oue I L Oune -oui I H Old Uighur -oum I E Ouma -oun I L !O!ung -owi I L Owiniga -owl I H Old Welsh -oyb I L Oy -oyd I L Oyda -oym I L Wayampi -oyy I L Oya'oya -ozm I L Koonzime -pab I L Parecís -pac I L Pacoh -pad I L Paumarí -pae I L Pagibete -paf I E Paranawát -pag pag pag I L Pangasinan -pah I L Tenharim -pai I L Pe -paj I L Ipeka-Tapuia -pak I L Parakanã -pal pal pal I A Pahlavi -pam pam pam I L Pampanga -pan pan pan pa I L Panjabi -pao I L Northern Paiute -pap pap pap I L Papiamento -paq I L Parya -par I L Panamint -pas I L Papasena -pat I L Papitalai -pau pau pau I L Palauan -pav I L Pakaásnovos -paw I L Pawnee -pax I E Pankararé -pay I L Pech -paz I E Pankararú -pbb I L Páez -pbc I L Patamona -pbe I L Mezontla Popoloca -pbf I L Coyotepec Popoloca -pbg I E Paraujano -pbh I L E'ñapa Woromaipu -pbi I L Parkwa -pbl I L Mak (Nigeria) -pbn I L Kpasam -pbo I L Papel -pbp I L Badyara -pbr I L Pangwa -pbs I L Central Pame -pbt I L Southern Pashto -pbu I L Northern Pashto -pbv I L Pnar -pby I L Pyu -pbz I L Palu -pca I L Santa Inés Ahuatempan Popoloca -pcb I L Pear -pcc I L Bouyei -pcd I L Picard -pce I L Pale Palaung -pcf I L Paliyan -pcg I L Paniya -pch I L Pardhan -pci I L Duruwa -pcj I L Parenga -pck I L Paite Chin -pcl I L Pardhi -pcm I L Nigerian Pidgin -pcn I L Piti -pcp I L Pacahuara -pcr I L Panang -pcw I L Pyapun -pda I L Anam -pdc I L Pennsylvania German -pdi I L Pa Di -pdn I L Podena -pdo I L Padoe -pdt I L Plautdietsch -pdu I L Kayan -pea I L Peranakan Indonesian -peb I E Eastern Pomo -pec I L Southern Pesisir -ped I L Mala (Papua New Guinea) -pee I L Taje -pef I E Northeastern Pomo -peg I L Pengo -peh I L Bonan -pei I L Chichimeca-Jonaz -pej I E Northern Pomo -pek I L Penchal -pel I L Pekal -pem I L Phende -pen I L Penesak -peo peo peo I H Old Persian (ca. 600-400 B.C.) -pep I L Kunja -peq I L Southern Pomo -pes I L Western Farsi -pev I L Pémono -pex I L Petats -pey I L Petjo -pez I L Eastern Penan -pfa I L Pááfang -pfe I L Peere -pfl I L Pfaelzisch -pga I L Sudanese Creole Arabic -pgg I L Pangwali -pgi I L Pagi -pgk I L Rerep -pgn I A Paelignian -pgs I L Pangseng -pgu I L Pagu -pgy I L Pongyong -pha I L Pa-Hng -phd I L Phudagi -phg I L Phuong -phh I L Phula -phk I L Phake -phl I L Phalura -phm I L Phimbi -phn phn phn I A Phoenician -pho I L Phunoi -phq I L Phana' -phr I L Pahari-Potwari -pht I L Phu Thai -phu I L Phuan -phv I L Pahlavani -phw I L Phangduwali -pia I L Pima Bajo -pib I L Yine -pic I L Pinji -pid I L Piaroa -pie I E Piro -pif I L Pingelapese -pig I L Pisabo -pih I L Pitcairn-Norfolk -pii I L Pini -pij I E Pijao -pil I L Yom -pim I E Powhatan -pin I L Piame -pio I L Piapoco -pip I L Pero -pir I L Piratapuyo -pis I L Pijin -pit I L Pitta Pitta -piu I L Pintupi-Luritja -piv I L Pileni -piw I L Pimbwe -pix I L Piu -piy I L Piya-Kwonci -piz I L Pije -pjt I L Pitjantjatjara -pka I H Ardhamāgadhī Prākrit -pkb I L Upper Pokomo -pkc I E Paekche -pkg I L Pak-Tong -pkh I L Pankhu -pkn I L Pakanha -pko I L Pökoot -pkp I L Pukapuka -pkr I L Attapady Kurumba -pks I L Pakistan Sign Language -pkt I L Maleng -pku I L Paku -pla I L Miani -plb I L Polonombauk -plc I L Central Palawano -pld I L Polari -ple I L Palu'e -plg I L Pilagá -plh I L Paulohi -pli pli pli pi I A Pali -plj I L Polci -plk I L Kohistani Shina -pll I L Shwe Palaung -plm I L Palembang -pln I L Palenquero -plo I L Oluta Popoluca -plp I L Palpa -plq I A Palaic -plr I L Palaka Senoufo -pls I L San Marcos Tlalcoyalco Popoloca -plt I L Plateau Malagasy -plu I L Palikúr -plv I L Southwest Palawano -plw I L Brooke's Point Palawano -ply I L Bolyu -plz I L Paluan -pma I L Paama -pmb I L Pambia -pmc I E Palumata -pme I L Pwaamei -pmh I H Māhārāṣṭri Prākrit -pmi I L Northern Pumi -pmj I L Southern Pumi -pmk I E Pamlico -pml I E Lingua Franca -pmm I L Pomo -pmn I L Pam -pmo I L Pom -pmq I L Northern Pame -pmr I L Paynamar -pms I L Piemontese -pmt I L Tuamotuan -pmu I L Mirpur Panjabi -pmw I L Plains Miwok -pmx I L Poumei Naga -pmz I E Southern Pame -pna I L Punan Bah-Biau -pnb I L Western Panjabi -pnc I L Pannei -pne I L Western Penan -png I L Pongu -pnh I L Penrhyn -pni I L Aoheng -pnm I L Punan Batu 1 -pnn I L Pinai-Hagahai -pno I E Panobo -pnp I L Pancana -pnq I L Pana (Burkina Faso) -pnr I L Panim -pns I L Ponosakan -pnt I L Pontic -pnu I L Jiongnai Bunu -pnv I L Pinigura -pnw I L Panytyima -pnx I L Phong-Kniang -pny I L Pinyin -pnz I L Pana (Central African Republic) -poa I L Eastern Pokomam -pob I L Western Pokomchí -poc I L Central Pokomam -pod I E Ponares -poe I L San Juan Atzingo Popoloca -pof I L Poke -pog I E Potiguára -poh I L Eastern Pokomchí -poi I L Highland Popoluca -poj I L Lower Pokomo -pok I L Pokangá -pol pol pol pl I L Polish -pom I L Southeastern Pomo -pon pon pon I L Pohnpeian -poo I L Central Pomo -pop I L Pwapwa -poq I L Texistepec Popoluca -por por por pt I L Portuguese -pos I L Sayula Popoluca -pot I L Potawatomi -pou I L Southern Pokomam -pov I L Upper Guinea Crioulo -pow I L San Felipe Otlaltepec Popoloca -pox I E Polabian -poy I L Pogolo -ppa I L Pao -ppe I L Papi -ppi I L Paipai -ppk I L Uma -ppl I L Pipil -ppm I L Papuma -ppn I L Papapana -ppo I L Folopa -ppp I L Pelende -ppq I L Pei -ppr I L Piru -pps I L San Luís Temalacayuca Popoloca -ppt I L Pare -ppu I E Papora -ppv I L Papavô -pqa I L Pa'a -pqm I L Malecite-Passamaquoddy -prb I L Lua' -prc I L Parachi -prd I L Parsi-Dari -pre I L Principense -prg I E Prussian -prh I L Porohanon -pri I L Paicî -prk I L Parauk -prl I L Peruvian Sign Language -prm I L Kibiri -prn I L Prasuni -pro pro pro I H Old Provençal (to 1500) -prp I L Parsi -prq I L Ashéninka Perené -prr I E Puri -prs I L Dari -prt I L Phai -pru I L Puragi -prw I L Parawen -prx I L Purik -pry I L Pray 3 -prz I L Providencia Sign Language -psa I L Asue Awyu -psc I L Persian Sign Language -psd I L Plains Indian Sign Language -pse I L Pasemah -psg I L Penang Sign Language -psh I L Southwest Pashayi -psi I L Southeast Pashayi -psl I L Puerto Rican Sign Language -psm I E Pauserna -psn I L Panasuan -pso I L Polish Sign Language -psp I L Philippine Sign Language -psq I L Pasi -psr I L Portuguese Sign Language -pss I L Kaulong -pst I L Central Pashto -psu I H Sauraseni Prākrit -psw I L Port Sandwich -psy I E Piscataway -pta I L Pai Tavytera -pth I E Pataxó Hã-Ha-Hãe -pti I L Pintiini -ptn I L Patani -pto I L Zo'é -ptp I L Patep -ptr I L Piamatsina -ptt I L Enrekang -ptu I L Bambam -ptv I L Port Vato -ptw I E Pentlatch -pty I L Pathiya -pua I L Western Highland Purepecha -pub I L Purum -puc I L Punan Merap -pud I L Punan Aput -pue I L Puelche -puf I L Punan Merah -pug I L Phuie -pui I L Puinave -puj I L Punan Tubu -puk I L Pu Ko -pum I L Puma -pun I L Pubian -puo I L Puoc -pup I L Pulabu -puq I E Puquina -pur I L Puruborá -pus pus pus ps M L Pushto -put I L Putoh -puu I L Punu -puw I L Puluwatese -pux I L Puari -puy I E Purisimeño -puz I L Purum Naga -pwa I L Pawaia -pwb I L Panawa -pwg I L Gapapaiwa -pwm I L Molbog -pwn I L Paiwan -pwo I L Pwo Western Karen -pwr I L Powari -pww I L Pwo Northern Karen -pxm I L Quetzaltepec Mixe -pye I L Pye Krumen -pym I L Fyam -pyn I L Poyanáwa -pyu I L Puyuma -pyx I A Pyu (Myanmar) -pyy I L Pyen -qua I L Quapaw -qub I L Huallaga Huánuco Quechua -quc I L Central Quiché -qud I L Calderón Highland Quichua -que que que qu M L Quechua -quf I L Lambayeque Quechua -qug I L Chimborazo Highland Quichua -quh I L South Bolivian Quechua -qui I L Quileute -quj I L Joyabaj Quiché -quk I L Chachapoyas Quechua -qul I L North Bolivian Quechua -qum I L Sipacapense -qun I E Quinault -qup I L Southern Pastaza Quechua -quq I L Quinqui -qur I L Yanahuanca Pasco Quechua -qus I L Santiago del Estero Quichua -qut I L West Central Quiché -quu I L Eastern Quiché -quv I L Sacapulteco -quw I L Tena Lowland Quichua -qux I L Yauyos Quechua -quy I L Ayacucho Quechua -quz I L Cusco Quechua -qva I L Ambo-Pasco Quechua -qvc I L Cajamarca Quechua -qve I L Eastern Apurímac Quechua -qvh I L Huamalíes-Dos de Mayo Huánuco Quechua -qvi I L Imbabura Highland Quichua -qvj I L Loja Highland Quichua -qvl I L Cajatambo North Lima Quechua -qvm I L Margos-Yarowilca-Lauricocha Quechua -qvn I L North Junín Quechua -qvo I L Napo Lowland Quechua -qvp I L Pacaraos Quechua -qvs I L San Martín Quechua -qvw I L Huaylla Wanca Quechua -qvy I L Queyu -qvz I L Northern Pastaza Quichua -qwa I L Corongo Ancash Quechua -qwc I H Classical Quechua -qwh I L Huaylas Ancash Quechua -qwm I E Kuman (Russia) -qws I L Sihuas Ancash Quechua -qwt I E Kwalhioqua-Tlatskanai -qxa I L Chiquián Ancash Quechua -qxc I L Chincha Quechua -qxh I L Panao Huánuco Quechua -qxi I L San Andrés Quiché -qxl I L Salasaca Highland Quichua -qxn I L Northern Conchucos Ancash Quechua -qxo I L Southern Conchucos Ancash Quechua -qxp I L Puno Quechua -qxq I L Qashqa'i -qxr I L Cañar Highland Quichua -qxs I L Southern Qiang -qxt I L Santa Ana de Tusi Pasco Quechua -qxu I L Arequipa-La Unión Quechua -qxw I L Jauja Wanca Quechua -qya I C Quenya -raa I L Dungmali -rab I L Camling -rac I L Rasawa -rad I L Rade -rae I L Ranau -raf I L Western Meohang -rag I L Logooli -rah I L Rabha -rai I L Ramoaaina -raj raj raj M L Rajasthani -rak I L Tulu-Bohuai -ral I L Ralte -ram I L Canela -ran I L Riantana -rao I L Rao -rap rap rap I L Rapanui -raq I L Saam -rar rar rar I L Rarotongan -ras I L Tegali -rat I L Razajerdi -rau I L Raute -rav I L Sampang -raw I L Rawang -rax I L Rang -ray I L Rapa -raz I L Rahambuu -rbb I L Rumai Palaung -rcf I L Réunion Creole French -rdb I L Rudbari -rea I L Rerau -reb I L Rembong -ree I L Rejang Kayan -reg I L Kara (Tanzania) -rei I L Reli -rej I L Rejang -rel I L Rendille -rem I E Remo -ren I L Rengao -rer I E Rer Bare -res I L Reshe -ret I L Retta -rey I L Reyesano -rga I L Roria -rge I L Romano-Greek -rgk I E Rangkas -rgr I L Resígaro -rgs I L Southern Roglai -rgu I L Ringgou -rhg I L Rohingya -rhp I L Yahang -ria I L Riang (India) -rie I L Rien -rif I L Tarifit -ril I L Riang (Myanmar) -rim I L Nyaturu -rin I L Nungu -rir I L Ribun -rit I L Ritarungo -riu I L Riung -rjb I L Rajbanshi -rjg I L Rajong -rji I L Raji -rka I L Kraol -rkb I L Rikbaktsa -rkh I L Rakahanga-Manihiki -rkm I L Marka -rma I L Rama -rmb I L Rembarunga -rmc I L Carpathian Romani -rmd I L Traveller Danish -rme I L Angloromani -rmf I L Kalo Finnish Romani -rmg I L Traveller Norwegian -rmh I L Murkim -rmi I L Lomavren -rmk I L Romkun -rml I L Baltic Romani -rmm I L Roma -rmn I L Balkan Romani -rmo I L Sinte Romani -rmp I L Rempi -rmr I L Caló -rms I L Romanian Sign Language -rmt I L Domari -rmu I L Tavringer Romani -rmv I C Romanova -rmw I L Welsh Romani -rmx I L Romam -rmy I L Vlax Romani -rna I E Runa -rnd I L Ruund -rng I L Ronga -rnl I L Ranglong -rnn I L Roon -rnp I L Rongpo -rnw I L Rungwa -rob I L Tae' -roc I L Cacgia Roglai -rod I L Rogo -roe I L Ronji -rof I L Rombo -rog I L Northern Roglai -roh roh roh rm I L Romansh -rol I L Romblomanon -rom rom rom M L Romany -ron rum ron ro I L Romanian -roo I L Rotokas -rop I L Kriol -ror I L Rongga -rou I L Runga -row I L Dela-Oenale -rpn I L Repanbitip -rpt I L Rapting -rri I L Ririo -rro I L Waima -rsb I L Romano-Serbian -rsi I L Rennellese Sign Language -rsl I L Russian Sign Language -rth I L Ratahan -rtm I L Rotuman -rtw I L Rathawi -rub I L Gungu -ruc I L Ruuli -rue I L Rusyn -ruf I L Luguru -rug I L Roviana -ruh I L Ruga -rui I L Rufiji -ruk I L Che -run run run rn I L Rundi -ruo I L Istro Romanian -rup rup rup I L Macedo Romanian -ruq I L Megleno Romanian -rus rus rus ru I L Russian -rut I L Rutul -ruu I L Lanas Lobu -ruy I L Mala (Nigeria) -ruz I L Ruma -rwa I L Rawo -rwk I L Rwa -rwm I L Amba (Uganda) -rwo I L Rawa -rwr I L Marwari (India) -rws I L Rawas -ryn I L Northern Amami-Oshima -rys I L Yaeyama -ryu I L Central Okinawan -saa I L Saba -sab I L Buglere -sac I L Mesquakie -sad sad sad I L Sandawe -sae I L Sabanês -saf I L Safaliba -sag sag sag sg I L Sango -sah sah sah I L Yakut -saj I L Sahu -sak I L Sake -sam sam sam I E Samaritan Aramaic -san san san sa I A Sanskrit -sao I L Sause -sap I L Sanapaná -saq I L Samburu -sar I E Saraveca -sas sas sas I L Sasak -sat sat sat I L Santali -sau I L Saleman -sav I L Saafi-Saafi -saw I L Sawi -sax I L Sa -say I L Saya -saz I L Saurashtra -sba I L Ngambay -sbb I L Simbo -sbc I L Kele (Papua New Guinea) -sbd I L Southern Samo -sbe I L Saliba -sbf I L Shabo -sbg I L Seget -sbh I L Sori-Harengan -sbi I L Seti -sbj I L Surbakhal -sbk I L Safwa -sbl I L Botolan Sambal -sbm I L Sagala -sbn I L Sindhi Bhil -sbo I L Sabüm -sbp I L Sangu (Tanzania) -sbq I L Sileibi -sbr I L Sembakung Murut -sbs I L Subiya -sbt I L Kimki -sbu I L Stod Bhoti -sbv I A Sabine -sbw I L Simba -sbx I L Seberuang -sby I L Soli -sbz I L Sara Kaba -sca I L Sansu -scb I L Chut -sce I L Dongxiang -scf I L San Miguel Creole French -scg I L Sanggau -sch I L Sakachep -sci I L Sri Lankan Creole Malay -sck I L Sadri -scl I L Shina -scn scn scn I L Sicilian -sco sco sco I L Scots -scp I L Helambu Sherpa -scq I L Sa'och -scs I L North Slavey -scu I L Shumcho -scv I L Sheni -scw I L Sha -scx I A Sicel -sda I L Toraja-Sa'dan -sdb I L Shabak -sdc I L Sassarese Sardinian -sdd I L Semendo -sde I L Surubu -sdf I L Sarli -sdg I L Savi -sdh I L Southern Kurdish -sdi I L Sindang Kelingi -sdj I L Suundi -sdl I L Saudi Arabian Sign Language -sdm I L Semandang -sdn I L Gallurese Sardinian -sdo I L Bukar Sadong -sdp I L Sherdukpen -sdr I L Oraon Sadri -sds I E Sened -sdt I E Shuadit -sdu I L Sarudu -sdx I L Sibu -sdz I L Sallands -sea I L Semai -seb I L Shempire Senoufo -sec I L Sechelt -sed I L Sedang -see I L Seneca -sef I L Cebaara Senoufo -seg I L Segeju -seh I L Sena -sei I L Seri -sej I L Sene -sek I L Sekani -sel sel sel I L Selkup -sen I L Nanerigé Sénoufo -seo I L Suarmin -sep I L Sìcìté Sénoufo -seq I L Senara Sénoufo -ser I L Serrano -ses I L Koyraboro Senni Songhai -set I L Sentani -seu I L Serui-Laut -sev I L Nyarafolo Senoufo -sew I L Sewa Bay -sey I L Secoya -sez I L Senthang Chin -sfb I L Langue des signes de Belgique Francophone -sfs I L South African Sign Language -sfw I L Sehwi -sga sga sga I H Old Irish (to 900) -sgb I L Mag-Anchi Ayta -sge I L Segai -sgg I L Swiss-German Sign Language -sgh I L Shughni -sgi I L Suga -sgk I L Sangkong -sgl I L Sanglechi-Ishkashimi -sgm I E Singa -sgo I L Songa -sgp I L Singpho -sgr I L Sangisari -sgt I L Brokpake -sgu I L Salas -sgw I L Sebat Bet Gurage -sgx I L Sierra Leone Sign Language -sgz I L Sursurunga -sha I L Shall-Zwall -shb I L Ninam -shc I L Sonde -she I L Sheko -shg I L Shua -shh I L Shoshoni -shi I L Tachelhit -shj I L Shatt -shk I L Shilluk -shl I L Shendu -shm I L Shahrudi -shn shn shn I L Shan -sho I L Shanga -shp I L Shipibo-Conibo -shq I L Sala -shr I L Shi -shs I L Shuswap -sht I E Shasta -shu I L Chadian Arabic -shv I L Shehri -shw I L Shwai -shx I L She -shy I L Tachawit -shz I L Syenara Senoufo -sia I L Akkala Sami -sib I L Sebob Kenyah -sic I L Malinguat -sid sid sid I L Sidamo -sie I L Simaa -sif I L Siamou -sig I L Paasaal -sih I L Zire -sii I L Shom Peng -sij I L Numbami -sik I L Sikiana -sil I L Tumulung Sisaala -sim I L Mende (Papua New Guinea) -sin sin sin si I L Sinhala -sip I L Sikkimese -siq I L Sonia -sir I L Siri -sis I E Siuslaw -siu I L Sinagen -siv I L Sumariup -siw I L Siwai -six I L Sumau -siy I L Sivandi -siz I L Siwi -sja I L Epena -sjb I L Sajau Basap -sjd I L Kildin Sami -sje I L Pite Sami -sjg I L Assangori -sjk I E Kemi Sami -sjl I L Sajalong -sjm I L Mapun -sjn I C Sindarin -sjo I L Xibe -sjp I L Surajpuri -sjr I L Siar-Lak -sjs I E Senhaja De Srair -sjt I L Ter Sami -sju I L Ume Sami -sjw I L Shawnee -ska I L Skagit -skb I L Saek -skc I L Sauk -skd I L Southern Sierra Miwok -ske I L Seke (Vanuatu) -skf I L Sakirabiá -skg I L Sakalava Malagasy -skh I L Sikule -ski I L Sika -skj I L Seke (Nepal) -skk I L Sok -skl I L Selako -skm I L Sakam -skn I L Kolibugan Subanon -sko I L Seko Tengah -skp I L Sekapan -skq I L Sininkere -skr I L Seraiki -sks I L Maia -skt I L Sakata -sku I L Sakao -skv I L Skou -skw I E Skepi Creole Dutch -skx I L Seko Padang -sky I L Sikaiana -skz I L Sekar -slb I L Kahumamahon Saluan -slc I L Sáliba -sld I L Sissala -sle I L Sholaga -slf I L Swiss-Italian Sign Language -slg I L Selungai Murut -slh I L Southern Puget Sound Salish -sli I L Lower Silesian -slj I L Salumá -slk slo slk sk I L Slovak -sll I L Salt-Yui -slm I L Pangutaran Sama -sln I E Salinan -slp I L Lamaholot -slq I L Salchuq -slr I L Salar -sls I L Singapore Sign Language -slt I L Sila -slu I L Selaru -slv slv slv sl I L Slovenian -slw I L Sialum -slx I L Salampasu -sly I L Selayar -slz I L Ma'ya -sma sma sma I L Southern Sami -smb I L Simbari -smc I L Som -smd I L Sama -sme sme sme se I L Northern Sami -smf I L Auwe -smg I L Simbali -smh I L Samei -smj smj smj I L Lule Sami -smk I L Bolinao -sml I L Central Sama -smm I L Musasa -smn smn smn I L Inari Sami -smo smo smo sm I L Samoan -smp I E Samaritan -smq I L Samo -smr I L Simeulue -sms sms sms I L Skolt Sami -smt I L Simte -smu I L Somray -smv I L Samvedi -smw I L Sumbawa -smx I L Samba -smy I L Semnani -smz I L Simeku -sna sna sna sn I L Shona -snb I L Sebuyau -snc I L Sinaugoro -snd snd snd sd I L Sindhi -sne I L Jagoi -snf I L Noon -sng I L Sanga (Democratic Republic of Congo) -snh I E Shinabo -sni I E Sensi -snj I L Riverain Sango -snk snk snk I L Soninke -snl I L Sangil -snm I L Southern Ma'di -snn I L Siona -sno I L Snohomish -snp I L Siane -snq I L Sangu (Gabon) -snr I L Sihan -sns I L South West Bay -snu I L Senggi -snv I L Sa'ban -snw I L Selee -snx I L Sam -sny I L Saniyo-Hiyewe -snz I L Sinsauru -soa I L Thai Song -sob I L Sobei -soc I L So (Democratic Republic of Congo) -sod I L Songoora -soe I L Songomeno -sog sog sog I A Sogdian -soh I L Aka -soi I L Sonha -soj I L Soi -sok I L Sokoro -sol I L Solos -som som som so I L Somali -soo I L Songo -sop I L Songe -soq I L Kanasi -sor I L Somrai -sos I L Seeku -sot sot sot st I L Southern Sotho -sou I L Southern Thai -sov I L Sonsorol -sow I L Sowanda -sox I L So (Cameroon) -soy I L Miyobe -soz I L Temi -spa spa spa es I L Spanish -spb I L Sepa (Indonesia) -spc I L Sapé -spd I L Saep -spe I L Sepa (Papua New Guinea) -spg I L Sian -spi I L Saponi -spk I L Sengo -spl I L Selepet -spm I L Sepen -spo I L Spokane -spp I L Supyire Senoufo -spq I L Loreto-Ucayali Spanish -spr I L Saparua -sps I L Saposa -spt I L Spiti Bhoti -spu I L Sapuan -spx I A South Picene -spy I L Sabaot -sqa I L Shama-Sambuga -sqh I L Shau -sqi alb sqi sq M L Albanian -sqm I L Suma -sqn I E Susquehannock -sqo I L Sorkhei -sqq I L Sou -sqs I L Sri Lankan Sign Language -sqt I L Soqotri -squ I L Squamish -sra I L Saruga -srb I L Sora -src I L Logudorese Sardinian -srd srd srd sc M L Sardinian -sre I L Sara -srf I L Nafi -srg I L Sulod -srh I L Sarikoli -sri I L Siriano -srj I L Serawai -srk I L Serudung Murut -srl I L Isirawa -srm I L Saramaccan -srn srn srn I L Sranan Tongo -sro I L Campidanese Sardinian -srp scc srp sr I L Serbian -srq I L Sirionó -srr srr srr I L Serer -srs I L Sarsi -srt I L Sauri -sru I L Suruí -srv I L Waray Sorsogon -srw I L Serua -srx I L Sirmauri -sry I L Sera -srz I L Shahmirzadi -ssb I L Southern Sama -ssd I L Siroi -sse I L Balangingi -ssf I L Thao -ssg I L Seimat -ssh I L Shihhi Arabic -ssi I L Sansi -ssj I L Sausi -ssk I L Sunam -ssl I L Western Sisaala -ssm I L Semnam -ssn I L Sanye -sso I L Sissano -ssp I L Spanish Sign Language -ssq I L So'a -ssr I L Swiss-French Sign Language -sss I L Sô -sst I L Sinasina -ssu I L Susuami -ssv I L Shark Bay -ssw ssw ssw ss I L Swati -ssx I L Samberigi -ssy I L Saho -ssz I L Sengseng -sta I L Settla -stb I L Northern Subanen -stc I L Santa Cruz -std I L Sentinel -ste I L Liana-Seti -stf I L Seta -stg I L Trieng -sth I L Shelta -sti I L Bulo Stieng -stj I L Matya Samo -stk I L Arammba -stl I L Stellingwerfs -stm I L Setaman -stn I L Owa -sto I L Stoney -stp I L Southeastern Tepehuan -stq I L Saterfriesisch -str I L Straits Salish -sts I L Shumashti -stt I L Budeh Stieng -stu I L Samtao -stw I L Satawalese -sua I L Sulka -sub I L Suku -suc I L Western Subanon -sue I L Suena -suf I L Tarpia -sug I L Suganga -suh I L Suba -sui I L Suki -suj I L Shubi -suk suk suk I L Sukuma -sul I L Surigaonon -sum I L Sumo-Mayangna -sun sun sun su I L Sundanese -suq I L Suri -sur I L Mwaghavul -sus sus sus I L Susu -sut I E Subtiaba -suu I L Sungkai -suv I L Sulung -suw I L Sumbwa -sux sux sux I A Sumerian -suy I L Suyá -suz I L Sunwar -sva I L Svan -svb I L Ulau-Suain -svc I L Vincentian Creole English -sve I L Serili -svk I L Slovakian Sign Language -svr I L Savara -svs I L Savosavo -svx I E Skalvian -swa swa swa sw M L Swahili (macrolanguage) -swb I L Comorian -swc I L Congo Swahili -swe swe swe sv I L Swedish -swf I L Sere -swg I L Swabian -swh I L Swahili (individual language) -swi I L Sui -swj I L Sira -swk I L Malawi Sena -swl I L Swedish Sign Language -swm I L Samosa -swn I L Sawknah -swp I L Suau -swq I L Sharwa -swr I L Saweru -sws I L Seluwasan -swt I L Sawila -swu I L Suwawa -swv I L Shekhawati -sww I L Sowa -swx I L Suruahá -swy I L Sarua -sxc I A Sicanian -sxe I L Sighu -sxg I L Shixing -sxk I E Southern Kalapuya -sxl I E Selian -sxm I L Samre -sxn I L Sangir -sxo I A Sorothaptic -sxr I L Saaroa -sxs I L Sasaru -sxu I L Upper Saxon -sxw I L Saxwe Gbe -sya I L Siang -syb I L Central Subanen -syc syc syc I H Classical Syriac -syi I L Seki -syk I L Sukur -syl I L Sylheti -sym I L Maya Samo -syn I L Senaya -syo I L Suoy -syr syr syr M L Syriac -sys I L Sinyar -syw I L Kagate -sza I L Semelai -szb I L Ngalum -szc I L Semaq Beri -szd I E Seru -sze I L Seze -szg I L Sengele -szk I L Sizaki -szl I L Silesian -szn I L Sula -szp I L Suabo -szv I L Isu (Fako Division) -szw I L Sawai -taa I L Lower Tanana -tab I L Tabassaran -tac I L Lowland Tarahumara -tad I L Tause -tae I L Tariano -taf I L Tapirapé -tag I L Tagoi -tah tah tah ty I L Tahitian -taj I L Eastern Tamang -tak I L Tala -tal I L Tal -tam tam tam ta I L Tamil -tan I L Tangale -tao I L Yami -tap I L Taabwa -taq I L Tamasheq -tar I L Central Tarahumara -tas I E Tay Boi -tat tat tat tt I L Tatar -tau I L Upper Tanana -tav I L Tatuyo -taw I L Tai -tax I L Tamki -tay I L Atayal -taz I L Tocho -tba I L Aikanã -tbb I E Tapeba -tbc I L Takia -tbd I L Kaki Ae -tbe I L Tanimbili -tbf I L Mandara -tbg I L North Tairora -tbh I E Thurawal -tbi I L Gaam -tbj I L Tiang -tbk I L Calamian Tagbanwa -tbl I L Tboli -tbm I L Tagbu -tbn I L Barro Negro Tunebo -tbo I L Tawala -tbp I L Taworta -tbr I L Tumtum -tbs I L Tanguat -tbt I L Tembo (Kitembo) -tbu I E Tubar -tbv I L Tobo -tbw I L Tagbanwa -tbx I L Kapin -tby I L Tabaru -tbz I L Ditammari -tca I L Ticuna -tcb I L Tanacross -tcc I L Datooga -tcd I L Tafi -tce I L Southern Tutchone -tcf I L Malinaltepec Tlapanec -tcg I L Tamagario -tch I L Turks And Caicos Creole English -tci I L Wára -tck I L Tchitchege -tcl I L Taman (Myanmar) -tcm I L Tanahmerah -tcn I L Tichurong -tco I L Taungyo -tcp I L Tawr Chin -tcq I L Kaiy -tcs I L Torres Strait Creole -tct I L T'en -tcu I L Southeastern Tarahumara -tcw I L Tecpatlán Totonac -tcx I L Toda -tcy I L Tulu -tcz I L Thado Chin -tda I L Tagdal -tdb I L Panchpargania -tdc I L Emberá-Tadó -tdd I L Tai Nüa -tdf I L Talieng -tdg I L Western Tamang -tdh I L Thulung -tdi I L Tomadino -tdj I L Tajio -tdk I L Tambas -tdl I L Sur -tdn I L Tondano -tdo I L Teme -tdq I L Tita -tdr I L Todrah -tds I L Doutai -tdt I L Tetun Dili -tdu I L Tempasuk Dusun -tdv I L Toro -tdx I L Tandroy-Mahafaly Malagasy -tdy I L Tadyawan -tea I L Temiar -teb I E Tetete -ted I L Tepo Krumen -tee I L Huehuetla Tepehua -tef I L Teressa -teg I L Teke-Tege -teh I L Tehuelche -tei I L Torricelli -tek I L Ibali Teke -tel tel tel te I L Telugu -tem tem tem I L Timne -ten I E Tama (Colombia) -teo I L Teso -tep I E Tepecano -teq I L Temein -ter ter ter I L Tereno -tes I L Tengger -tet tet tet I L Tetum -teu I L Soo -tev I L Teor -tew I L Tewa (USA) -tex I L Tennet -tey I L Tulishi -tfi I L Tofin Gbe -tfn I L Tanaina -tfo I L Tefaro -tfr I L Teribe -tft I L Ternate -tga I L Sagalla -tgb I L Tebilung -tgc I L Tigak -tgd I L Ciwogai -tge I L Eastern Gorkha Tamang -tgf I L Chalikha -tgg I L Tangga -tgh I L Tobagonian Creole English -tgi I L Lawunuia -tgk tgk tgk tg I L Tajik -tgl tgl tgl tl I L Tagalog -tgo I L Sudest -tgp I L Tangoa -tgq I L Tring -tgr I L Tareng -tgs I L Nume -tgt I L Central Tagbanwa -tgu I L Tanggu -tgv I E Tingui-Boto -tgw I L Tagwana Senoufo -tgx I L Tagish -tgy I E Togoyo -tha tha tha th I L Thai -thc I L Tai Hang Tong -thd I L Thayore -the I L Chitwania Tharu -thf I L Thangmi -thh I L Northern Tarahumara -thi I L Tai Long -thk I L Tharaka -thl I L Dangaura Tharu -thm I L Aheu -thn I L Thachanadan -thp I L Thompson -thq I L Kochila Tharu -thr I L Rana Tharu -ths I L Thakali -tht I L Tahltan -thu I L Thuri -thv I L Tahaggart Tamahaq -thw I L Thudam -thx I L The -thy I L Tha -thz I L Tayart Tamajeq -tia I L Tidikelt Tamazight -tic I L Tira -tid I L Tidong -tie I L Tingal -tif I L Tifal -tig tig tig I L Tigre -tih I L Timugon Murut -tii I L Tiene -tij I L Tilung -tik I L Tikar -til I E Tillamook -tim I L Timbe -tin I L Tindi -tio I L Teop -tip I L Trimuris -tiq I L Tiéfo -tir tir tir ti I L Tigrinya -tis I L Masadiit Itneg -tit I L Tinigua -tiu I L Adaseng -tiv tiv tiv I L Tiv -tiw I L Tiwi -tix I L Southern Tiwa -tiy I L Tiruray -tiz I L Tai Hongjin -tja I L Tajuasohn -tjg I L Tunjung -tji I L Northern Tujia -tjm I E Timucua -tjn I E Tonjon -tjo I L Temacine Tamazight -tjs I L Southern Tujia -tju I E Tjurruru -tka I E Truká -tkb I L Buksa -tkd I L Tukudede -tke I L Takwane -tkf I E Tukumanféd -tkk I L Takpa -tkl tkl tkl I L Tokelau -tkm I E Takelma -tkn I L Toku-No-Shima -tkp I L Tikopia -tkq I L Tee -tkr I L Tsakhur -tks I L Takestani -tkt I L Kathoriya Tharu -tku I L Upper Necaxa Totonac -tkw I L Teanu -tkx I L Tangko -tkz I L Takua -tla I L Southwestern Tepehuan -tlb I L Tobelo -tlc I L Yecuatla Totonac -tld I L Talaud -tle I L Southern Marakwet -tlf I L Telefol -tlg I L Tofanma -tlh tlh tlh I C Klingon -tli tli tli I L Tlingit -tlj I L Talinga-Bwisi -tlk I L Taloki -tll I L Tetela -tlm I L Tolomako -tln I L Talondo' -tlo I L Talodi -tlp I L Filomena Mata-Coahuitlán Totonac -tlq I L Tai Loi -tlr I L Talise -tls I L Tambotalo -tlt I L Teluti -tlu I L Tulehu -tlv I L Taliabu -tlw I L South Wemale -tlx I L Khehek -tly I L Talysh -tlz I L Toala' -tma I L Tama (Chad) -tmb I L Katbol -tmc I L Tumak -tmd I L Haruai -tme I L Tremembé -tmf I L Toba-Maskoy -tmg I E Ternateño -tmh tmh tmh M L Tamashek -tmi I L Tutuba -tmj I L Samarokena -tmk I L Northwestern Tamang -tml I L Tamnim Citak -tmm I L Tai Thanh -tmn I L Taman (Indonesia) -tmo I L Temoq -tmp I L Tai Mène -tmq I L Tumleo -tmr I E Jewish Babylonian Aramaic (ca. 200-1200 CE) -tms I L Tima -tmt I L Tasmate -tmu I L Iau -tmv I L Tembo (Motembo) -tmw I L Temuan -tmy I L Tami -tmz I E Tamanaku -tna I L Tacana -tnb I L Western Tunebo -tnc I L Tanimuca-Retuarã -tnd I L Angosturas Tunebo -tne I L Tinoc Kallahan -tnf I L Tangshewi -tng I L Tobanga -tnh I L Maiani -tni I L Tandia -tnj I L Tanjong -tnk I L Kwamera -tnl I L Lenakel -tnm I L Tabla -tnn I L North Tanna -tno I L Toromono -tnp I L Whitesands -tnq I E Taino -tnr I L Bedik -tns I L Tenis -tnt I L Tontemboan -tnu I L Tay Khang -tnv I L Tangchangya -tnw I L Tonsawang -tnx I L Tanema -tny I L Tongwe -tnz I L Tonga (Thailand) -tob I L Toba -toc I L Coyutla Totonac -tod I L Toma -toe I E Tomedes -tof I L Gizrra -tog tog tog I L Tonga (Nyasa) -toh I L Gitonga -toi I L Tonga (Zambia) -toj I L Tojolabal -tol I L Tolowa -tom I L Tombulu -ton ton ton to I L Tonga (Tonga Islands) -too I L Xicotepec De Juárez Totonac -top I L Papantla Totonac -toq I L Toposa -tor I L Togbo-Vara Banda -tos I L Highland Totonac -tou I L Tho -tov I L Upper Taromi -tow I L Jemez -tox I L Tobian -toy I L Topoiyo -toz I L To -tpa I L Taupota -tpc I L Azoyú Tlapanec -tpe I L Tippera -tpg I L Kula -tpi tpi tpi I L Tok Pisin -tpj I L Tapieté -tpk I E Tupinikin -tpl I L Tlacoapa Tlapanec -tpm I L Tampulma -tpn I E Tupinambá -tpo I L Tai Pao -tpp I L Pisaflores Tepehua -tpq I L Tukpa -tpr I L Tuparí -tpt I L Tlachichilco Tepehua -tpu I L Tampuan -tpv I L Tanapag -tpw I E Tupí -tpx I L Acatepec Tlapanec -tpy I L Trumaí -tpz I L Tinputz -tqb I L Tembé -tql I L Lehali -tqm I L Turumsa -tqn I L Tenino -tqo I L Toaripi -tqp I L Tomoip -tqq I L Tunni -tqr I E Torona -tqt I L Western Totonac -tqu I L Touo -tqw I E Tonkawa -tra I L Tirahi -trb I L Terebu -trc I L Copala Triqui -trd I L Turi -tre I L East Tarangan -trf I L Trinidadian Creole English -trg I L Lishán Didán -trh I L Turaka -tri I L Trió -trj I L Toram -trl I L Traveller Scottish -trm I L Tregami -trn I L Trinitario -tro I L Tarao Naga -trp I L Kok Borok -trq I L San Martín Itunyoso Triqui -trr I L Taushiro -trs I L Chicahuaxtla Triqui -trt I L Tunggare -tru I L Turoyo -trv I L Taroko -trw I L Torwali -trx I L Tringgus -try I E Turung -trz I L Torá -tsa I L Tsaangi -tsb I L Tsamai -tsc I L Tswa -tsd I L Tsakonian -tse I L Tunisian Sign Language -tsf I L Southwestern Tamang -tsg I L Tausug -tsh I L Tsuvan -tsi tsi tsi I L Tsimshian -tsj I L Tshangla -tsk I L Tseku -tsl I L Ts'ün-Lao -tsm I L Turkish Sign Language -tsn tsn tsn tn I L Tswana -tso tso tso ts I L Tsonga -tsp I L Northern Toussian -tsq I L Thai Sign Language -tsr I L Akei -tss I L Taiwan Sign Language -tsu I L Tsou -tsv I L Tsogo -tsw I L Tsishingini -tsx I L Mubami -tsy I L Tebul Sign Language -tsz I L Purepecha -tta I E Tutelo -ttb I L Gaa -ttc I L Tektiteko -ttd I L Tauade -tte I L Bwanabwana -ttf I L Tuotomb -ttg I L Tutong 2 -tth I L Upper Ta'oih -tti I L Tobati -ttj I L Tooro -ttk I L Totoro -ttl I L Totela -ttm I L Northern Tutchone -ttn I L Towei -tto I L Lower Ta'oih -ttp I L Tombelala -ttq I L Tawallammat Tamajaq -ttr I L Tera -tts I L Northeastern Thai -ttt I L Muslim Tat -ttu I L Torau -ttv I L Titan -ttw I L Tutoh Kenyah -ttx I L Tutong 1 -tty I L Sikaritai -ttz I L Tsum -tua I L Wiarumus -tub I L Tübatulabal -tuc I L Mutu -tud I E Tuxá -tue I L Tuyuca -tuf I L Central Tunebo -tug I L Tunia -tuh I L Taulil -tui I L Tupuri -tuj I L Tugutil -tuk tuk tuk tk I L Turkmen -tul I L Tula -tum tum tum I L Tumbuka -tun I E Tunica -tuo I L Tucano -tuq I L Tedaga -tur tur tur tr I L Turkish -tus I L Tuscarora -tuu I L Tututni -tuv I L Turkana -tux I E Tuxináwa -tuy I L North Tugen -tuz I L Turka -tva I L Vaghua -tvd I L Tsuvadi -tve I L Te'un -tvk I L Southeast Ambrym -tvl tvl tvl I L Tuvalu -tvm I L Tela-Masbuar -tvn I L Tavoyan -tvo I L Tidore -tvs I L Taveta -tvt I L Tutsa Naga -tvw I L Sedoa -tvy I E Timor Pidgin -twa I E Twana -twb I L Western Tawbuid -twc I E Teshenawa -twd I L Twents -twe I L Tewa (Indonesia) -twf I L Northern Tiwa -twg I L Tereweng -twh I L Tai Dón -twi twi twi tw I L Twi -twl I L Tawara -twm I L Tawang Monpa -twn I L Twendi -two I L Tswapong -twp I L Ere -twq I L Tasawaq -twr I L Southwestern Tarahumara -twt I E Turiwára -twu I L Termanu -tww I L Tuwari -twx I L Tewe -twy I L Tawoyan -txa I L Tombonuwo -txb I A Tokharian B -txc I E Tsetsaut -txe I L Totoli -txg I A Tangut -txh I A Thracian -txi I L Ikpeng -txm I L Tomini -txn I L West Tarangan -txo I L Toto -txq I L Tii -txr I A Tartessian -txs I L Tonsea -txt I L Citak -txu I L Kayapó -txx I L Tatana -txy I L Tanosy Malagasy -tya I L Tauya -tye I L Kyenga -tyh I L O'du -tyi I L Teke-Tsaayi -tyj I L Tai Do -tyl I L Thu Lao -tyn I L Kombai -typ I L Thaypan -tyr I L Tai Daeng -tys I L Tày Sa Pa -tyt I L Tày Tac -tyu I L Kua -tyv tyv tyv I L Tuvinian -tyx I L Teke-Tyee -tyz I L Tày -tza I L Tanzanian Sign Language -tzb I L Bachajón Tzeltal -tzc I L Chamula Tzotzil -tze I L Chenalhó Tzotzil -tzh I L Oxchuc Tzeltal -tzj I L Eastern Tzutujil -tzm I L Central Atlas Tamazight -tzn I L Tugun -tzo I L Venustiano Carranza Tzotzil -tzs I L San Andrés Larrainzar Tzotzil -tzt I L Western Tzutujil -tzu I L Huixtán Tzotzil -tzx I L Tabriak -tzz I L Zinacantán Tzotzil -uam I E Uamué -uan I L Kuan -uar I L Tairuma -uba I L Ubang -ubi I L Ubi -ubm I L Upper Baram Kenyah -ubr I L Ubir -ubu I L Umbu-Ungu -uby I E Ubykh -uda I L Uda -ude I L Udihe -udg I L Muduga -udi I L Udi -udj I L Ujir -udl I L Wuzlam -udm udm udm I L Udmurt -udu I L Uduk -ues I L Kioko -ufi I L Ufim -uga uga uga I A Ugaritic -ugb I L Kuku-Ugbanh -uge I L Ughele -ugn I L Ugandan Sign Language -ugo I L Ugong -ugy I L Uruguayan Sign Language -uha I L Uhami -uhn I L Damal -uig uig uig ug I L Uighur -uis I L Uisai -uiv I L Iyive -uji I L Tanjijili -uka I L Kaburi -ukg I L Ukuriguma -ukh I L Ukhwejo -ukl I L Ukrainian Sign Language -ukp I L Ukpe-Bayobiri -ukq I L Ukwa -ukr ukr ukr uk I L Ukrainian -uks I L Urubú-Kaapor Sign Language -uku I L Ukue -ukw I L Ukwuani-Aboh-Ndoni -ula I L Fungwa -ulb I L Ulukwumi -ulc I L Ulch -ulf I L Usku -uli I L Ulithian -ulk I L Meriam -ull I L Ullatan -ulm I L Ulumanda' -uln I L Unserdeutsch -uma I L Umatilla -umb umb umb I L Umbundu -umc I A Marrucinian -umd I L Umbindhamu -umg I L Umbuygamu -umi I L Ukit -umm I L Umon -umo I E Umotína -ump I L Umpila -umr I L Umbugarla -ums I L Pendau -umu I L Munsee -una I L North Watut -und und und S S Undetermined -une I L Uneme -ung I L Ngarinyin -unk I L Enawené-Nawé -unm I E Unami -unp I L Worora -unz I L Unde Kaili -uok I L Uokha -upi I L Umeda -upv I L Uripiv-Wala-Rano-Atchin -ura I L Urarina -urb I L Urubú-Kaapor -urc I L Urningangg -urd urd urd ur I L Urdu -ure I L Uru -urf I L Uradhi -urg I L Urigina -urh I L Urhobo -uri I L Urim -urk I L Urak Lawoi' -url I L Urali -urm I L Urapmin -urn I L Uruangnirin -uro I L Ura (Papua New Guinea) -urp I L Uru-Pa-In -urr I L Lehalurup -urt I L Urat -uru I E Urumi -urv I E Uruava -urw I L Sop -urx I L Urimo -ury I L Orya -urz I L Uru-Eu-Wau-Wau -usa I L Usarufa -ush I L Ushojo -usi I L Usui -usk I L Usaghade -usp I L Uspanteco -usu I L Uya -uta I L Otank -ute I L Ute-Southern Paiute -utp I L Amba (Solomon Islands) -utr I L Etulo -utu I L Utu -uum I L Urum -uun I E Kulon-Pazeh -uur I L Ura (Vanuatu) -uuu I L U -uve I L West Uvean -uvh I L Uri -uvl I L Lote -uwa I L Kuku-Uwanh -uya I L Doko-Uyanga -uzb uzb uzb uz M L Uzbek -uzn I L Northern Uzbek -uzs I L Southern Uzbek -vaa I L Vaagri Booli -vae I L Vale -vaf I L Vafsi -vag I L Vagla -vah I L Varhadi-Nagpuri -vai vai vai I L Vai -vaj I L Vasekela Bushman -val I L Vehes -vam I L Vanimo -van I L Valman -vao I L Vao -vap I L Vaiphei -var I L Huarijio -vas I L Vasavi -vau I L Vanuma -vav I L Varli -vay I L Wayu -vbb I L Southeast Babar -vec I L Venetian -ved I L Veddah -vel I L Veluws -vem I L Vemgo-Mabas -ven ven ven ve I L Venda -veo I E Ventureño -vep I L Veps -ver I L Mom Jango -vgr I L Vaghri -vgt I L Vlaamse Gebarentaal -vic I L Virgin Islands Creole English -vid I L Vidunda -vie vie vie vi I L Vietnamese -vif I L Vili -vig I L Viemo -vil I L Vilela -vin I L Vinza -vis I L Vishavan -vit I L Viti -viv I L Iduna -vka I E Kariyarra -vki I L Ija-Zuba -vkj I L Kujarge -vkk I L Kaur -vkl I L Kulisusu -vkm I E Kamakan -vko I L Kodeoha -vkp I L Korlai Creole Portuguese -vkt I L Tenggarong Kutai Malay -vku I L Kurrama -vky I L Kayu Agung -vlp I L Valpei -vlr I L Vatrata -vls I L Vlaams -vma I L Martuyhunira -vmb I L Mbabaram -vmc I L Juxtlahuaca Mixtec -vmd I L Mudu Koraga -vme I L East Masela -vmf I L Mainfränkisch -vmg I L Minigir -vmh I L Maraghei -vmi I L Miwa -vmj I L Ixtayutla Mixtec -vmk I L Makhuwa-Shirima -vml I E Malgana -vmm I L Mitlatongo Mixtec -vmo I L Muko-Muko -vmp I L Soyaltepec Mazatec -vmq I L Soyaltepec Mixtec -vmr I L Marenje -vms I E Moksela -vmu I L Muluridyi -vmv I E Valley Maidu -vmw I L Makhuwa -vmx I L Tamazola Mixtec -vmy I L Ayautla Mazatec -vmz I L Mazatlán Mazatec -vnk I E Vano -vnm I L Vinmavis -vnp I L Vunapu -vol vol vol vo I C Volapük -vor I L Voro -vot vot vot I L Votic -vrs I L Varisi -vrt I L Burmbar -vsi I L Moldova Sign Language -vsl I L Venezuelan Sign Language -vsv I L Valencian Sign Language -vum I L Vumbu -vun I L Vunjo -vut I L Vute -waa I L Walla Walla -wab I L Wab -wac I L Wasco-Wishram -wad I L Wandamen -wae I L Walser -waf I E Wakoná -wag I L Wa'ema -wah I L Watubela -wai I L Wares -waj I L Waffa -wal wal wal I L Walamo -wam I E Wampanoag -wan I L Wan -wao I E Wappo -wap I L Wapishana -waq I L Wageman -war war war I L Waray (Philippines) -was was was I L Washo -wat I L Kaninuwa -wau I L Waurá -wav I L Waka -waw I L Waiwai -wax I L Watam -way I L Wayana -waz I L Wampur -wba I L Warao -wbb I L Wabo -wbe I L Waritai -wbf I L Wara -wbh I L Wanda -wbi I L Wanji -wbj I L Alagwa -wbk I L Waigali -wbl I L Wakhi -wbm I L Wa -wbp I L Warlpiri -wbq I L Waddar -wbr I L Wagdi -wbt I L Wanman -wbv I L Wajarri -wbw I L Woi -wca I L Yanomámi -wci I L Waci Gbe -wdd I L Wandji -wdg I L Wadaginam -wdj I L Wadjiginy -wdu I L Wadjigu -wea I L Wewaw -wec I L Wè Western -wed I L Wedau -weh I L Weh -wei I L Were -wem I L Weme Gbe -weo I L North Wemale -wep I L Westphalien -wer I L Weri -wes I L Cameroon Pidgin -wet I L Perai -weu I L Welaung -wew I L Wejewa -wfg I L Yafi -wga I L Wagaya -wgg I L Wangganguru -wgi I L Wahgi -wgo I L Waigeo -wgw I L Wagawaga -wgy I L Warrgamay -wha I L Manusela -whg I L North Wahgi -whk I L Wahau Kenyah -whu I L Wahau Kayan -wib I L Southern Toussian -wic I L Wichita -wie I L Wik-Epa -wif I L Wik-Keyangan -wig I L Wik-Ngathana -wih I L Wik-Me'anha -wii I L Minidien -wij I L Wik-Iiyanh -wik I L Wikalkan -wil I L Wilawila -wim I L Wik-Mungkan -win I L Ho-Chunk -wir I E Wiraféd -wit I L Wintu -wiu I L Wiru -wiv I L Muduapa -wiw I L Wirangu -wiy I E Wiyot -wja I L Waja -wji I L Warji -wka I E Kw'adza -wkb I L Kumbaran -wkd I L Wakde -wkl I L Kalanadi -wku I L Kunduvadi -wkw I L Wakawaka -wla I L Walio -wlc I L Mwali Comorian -wlg I L Kunbarlang -wli I L Waioli -wlk I E Wailaki -wll I L Wali (Sudan) -wlm I H Middle Welsh -wln wln wln wa I L Walloon -wlo I L Wolio -wlr I L Wailapa -wls I L Wallisian -wlu I E Wuliwuli -wlv I L Wichí Lhamtés Vejoz -wlw I L Walak -wlx I L Wali (Ghana) -wly I E Waling -wma I E Mawa (Nigeria) -wmb I L Wambaya -wmc I L Wamas -wme I L Wambule -wmh I L Waima'a -wmi I L Wamin -wmm I L Maiwa (Indonesia) -wmn I E Waamwang -wmo I L Wom (Papua New Guinea) -wms I L Wambon -wmt I L Walmajarri -wmw I L Mwani -wnb I L Wanambre -wnc I L Wantoat -wnd I E Wandarang -wne I L Waneci -wng I L Wanggom -wni I L Ndzwani Comorian -wnk I L Wanukaka -wnm I L Wanggamala -wno I L Wano -wnp I L Wanap -wnu I L Usan -woa I L Tyaraity -wob I L Wè Northern -woc I L Wogeo -wod I L Wolani -woe I L Woleaian -wof I L Gambian Wolof -wog I L Wogamusin -woi I L Kamang -wok I L Longto -wol wol wol wo I L Wolof -wom I L Wom (Nigeria) -won I L Wongo -woo I L Manombai -wor I L Woria -wos I L Hanga Hundi -wow I L Wawonii -woy I E Weyto -wpc I L Maco -wra I L Warapu -wrb I L Warluwara -wrd I L Warduji -wre I L Ware -wrg I L Warungu -wrh I L Wiradhuri -wri I E Wariyangga -wrl I L Warlmanpa -wrm I L Warumungu -wrn I L Warnang -wrp I L Waropen -wrr I L Wardaman -wrs I L Waris -wru I L Waru -wrv I L Waruna -wrw I E Gugu Warra -wrx I L Wae Rana -wry I L Merwari -wrz I L Waray (Australia) -wsa I L Warembori -wsi I L Wusi -wsk I L Waskia -wsr I L Owenia -wss I L Wasa -wsu I E Wasu -wsv I L Wotapuri-Katarqalai -wtf I L Dumpu -wti I L Berta -wtk I L Watakataui -wtm I L Mewati -wtw I L Wotu -wua I L Wikngenchera -wub I L Wunambal -wud I L Wudu -wuh I L Wutunhua -wul I L Silimo -wum I L Wumbvu -wun I L Bungu -wur I E Wurrugu -wut I L Wutung -wuu I L Wu Chinese -wuv I L Wuvulu-Aua -wux I L Wulna -wuy I L Wauyai -wwa I L Waama -wwo I L Wetamut -wwr I L Warrwa -www I L Wawa -wxa I L Waxianghua -wya I E Wyandot -wyb I L Wangaaybuwan-Ngiyambaa -wym I L Wymysorys -wyr I L Wayoró -wyy I L Western Fijian -xaa I H Andalusian Arabic -xab I L Sambe -xac I L Kachari -xad I E Adai -xae I A Aequian -xag I E Aghwan -xah I L Kahayan -xai I E Kaimbé -xal xal xal I L Kalmyk -xam I E /Xam -xan I L Xamtanga -xao I L Khao -xap I E Apalachee -xaq I A Aquitanian -xar I E Karami -xas I E Kamas -xat I L Katawixi -xau I L Kauwera -xav I L Xavánte -xaw I L Kawaiisu -xay I L Kayan Mahakam -xba I E Kamba (Brazil) -xbc I A Bactrian -xbi I L Kombio -xbm I H Middle Breton -xbo I E Bolgarian -xbr I L Kambera -xbw I E Kambiwá -xbx I L Kabixí -xcb I E Cumbric -xcc I A Camunic -xce I A Celtiberian -xcg I A Cisalpine Gaulish -xch I E Chemakum -xcl I H Classical Armenian -xcm I E Comecrudo -xcn I E Cotoname -xco I A Chorasmian -xcr I A Carian -xct I H Classical Tibetan -xcu I E Curonian -xcv I E Chuvantsy -xcw I E Coahuilteco -xcy I E Cayuse -xdc I A Dacian -xdm I A Edomite -xdy I L Malayic Dayak -xeb I A Eblan -xed I L Hdi -xeg I E //Xegwi -xel I L Kelo -xem I L Kembayan -xep I A Epi-Olmec -xer I L Xerénte -xes I L Kesawai -xet I L Xetá -xeu I L Keoru-Ahia -xfa I A Faliscan -xga I A Galatian -xgf I E Gabrielino-Fernandeño -xgl I E Galindan -xgr I E Garza -xha I A Harami -xhc I E Hunnic -xhd I A Hadrami -xhe I L Khetrani -xho xho xho xh I L Xhosa -xhr I A Hernican -xht I A Hattic -xhu I A Hurrian -xhv I L Khua -xia I L Xiandao -xib I A Iberian -xii I L Xiri -xil I A Illyrian -xin I E Xinca -xip I E Xipináwa -xir I E Xiriâna -xiv I A Indus Valley Language -xiy I L Xipaya -xka I L Kalkoti -xkb I L Manigri-Kambolé Ede Nago -xkc I L Kho'ini -xkd I L Mendalam Kayan -xke I L Kereho -xkf I L Khengkha -xkg I L Kagoro -xkh I L Karahawyana -xki I L Kenyan Sign Language -xkj I L Kajali -xkk I L Kaco' -xkl I L Kelinyau Kenyah -xkm I L Mahakam Kenyah -xkn I L Kayan River Kayan -xko I L Kiorr -xkp I L Kabatei -xkq I L Koroni -xkr I E Xakriabá -xks I L Kumbewaha -xkt I L Kantosi -xku I L Kaamba -xkv I L Kgalagadi -xkw I L Kembra -xkx I L Karore -xky I L Western Kenyah -xkz I L Kurtokha -xla I L Kamula -xlb I E Loup B -xlc I A Lycian -xld I A Lydian -xle I A Lemnian -xlg I A Ligurian (Ancient) -xli I A Liburnian -xln I A Alanic -xlo I E Loup A -xlp I A Lepontic -xls I A Lusitanian -xlu I A Cuneiform Luwian -xly I A Elymian -xma I L Mushungulu -xmb I L Mbonga -xmc I L Makhuwa-Marrevone -xmd I L Mbedam -xme I A Median -xmf I L Mingrelian -xmg I L Mengaka -xmh I L Kuku-Muminh -xmj I L Majera -xmk I A Ancient Macedonian -xml I L Malaysian Sign Language -xmm I L Manado Malay -xmn I H Manichaean Middle Persian -xmo I L Morerebi -xmp I L Kuku-Mu'inh -xmq I L Kuku-Mangk -xmr I A Meroitic -xms I L Moroccan Sign Language -xmt I L Matbat -xmu I L Kamu -xmv I L Antankarana Malagasy -xmw I L Tsimihety Malagasy -xmx I L Maden -xmy I L Mayaguduna -xmz I L Mori Bawah -xna I A Ancient North Arabian -xnb I L Kanakanabu -xng I H Middle Mongolian -xnh I L Kuanhua -xnn I L Northern Kankanay -xno I H Anglo-Norman -xnr I L Kangri -xns I L Kanashi -xoc I L O'chi'chi' -xod I L Kokoda -xog I L Soga -xoi I L Kominimung -xok I L Xokleng -xom I L Komo (Sudan) -xon I L Konkomba -xoo I E Xukurú -xop I L Kopar -xor I L Korubo -xow I L Kowaki -xpc I E Pecheneg -xpe I L Liberia Kpelle -xpg I A Phrygian -xpi I E Pictish -xpk I L Kulina Pano -xpm I E Pumpokol -xpn I E Kapinawá -xpo I E Pochutec -xpp I E Puyo-Paekche -xpr I A Parthian -xps I E Pisidian -xpu I A Punic -xpy I E Puyo -xqa I H Karakhanid -xqt I A Qatabanian -xra I L Krahô -xrb I L Eastern Karaboro -xre I L Kreye -xri I L Krikati-Timbira -xrm I E Armazic -xrn I E Arin -xrr I A Raetic -xrt I E Aranama-Tamique -xru I L Marriammu -xrw I L Karawa -xsa I A Sabaean -xsb I L Tinà Sambal -xsc I A Scythian -xsd I A Sidetic -xse I L Sempan -xsh I L Shamang -xsi I L Sio -xsj I L Subi -xsk I A Sakan -xsl I L South Slavey -xsm I L Kasem -xsn I L Sanga (Nigeria) -xso I E Solano -xsp I L Silopi -xsq I L Makhuwa-Saka -xsr I L Sherpa -xss I E Assan -xst I L Silt'e -xsu I L Sanumá -xsv I E Sudovian -xsy I L Saisiyat -xta I L Alcozauca Mixtec -xtb I L Chazumba Mixtec -xtc I L Katcha-Kadugli-Miri -xtd I L Diuxi-Tilantongo Mixtec -xte I L Ketengban -xtg I A Transalpine Gaulish -xti I L Sinicahua Mixtec -xtj I L San Juan Teita Mixtec -xtl I L Tijaltepec Mixtec -xtm I L Magdalena Peñasco Mixtec -xtn I L Northern Tlaxiaco Mixtec -xto I A Tokharian A -xtp I L San Miguel Piedras Mixtec -xtq I H Tumshuqese -xtr I A Early Tripuri -xts I L Sindihui Mixtec -xtt I L Tacahua Mixtec -xtu I L Cuyamecalco Mixtec -xty I L Yoloxochitl Mixtec -xtz I E Tasmanian -xua I L Alu Kurumba -xub I L Betta Kurumba -xuf I L Kunfal -xug I L Kunigami -xuj I L Jennu Kurumba -xum I A Umbrian -xuo I L Kuo -xup I E Upper Umpqua -xur I A Urartian -xut I L Kuthant -xuu I L Kxoe -xve I A Venetic -xvi I L Kamviri -xvn I A Vandalic -xvo I A Volscian -xvs I A Vestinian -xwa I L Kwaza -xwc I E Woccon -xwe I L Xwela Gbe -xwg I L Kwegu -xwl I L Western Xwla Gbe -xwo I E Written Oirat -xwr I L Kwerba Mamberamo -xxk I L Ke'o -xzh I A Zhang-Zhung -xzm I E Zemgalian -xzp I H Ancient Zapotec -yaa I L Yaminahua -yab I L Yuhup -yac I L Pass Valley Yali -yad I L Yagua -yae I L Pumé -yaf I L Yaka (Democratic Republic of Congo) -yag I L Yámana -yah I L Yazgulyam -yai I L Yagnobi -yaj I L Banda-Yangere -yak I L Yakima -yal I L Yalunka -yam I L Yamba -yao yao yao I L Yao -yap yap yap I L Yapese -yaq I L Yaqui -yar I L Yabarana -yas I L Nugunu (Cameroon) -yat I L Yambeta -yau I L Yuwana -yav I L Yangben -yaw I E Yawalapití -yax I L Yauma -yay I L Agwagwune -yaz I L Lokaa -yba I L Yala -ybb I L Yemba -ybd I L Yangbye -ybe I L West Yugur -ybh I L Yakha -ybi I L Yamphu -ybj I L Hasha -ybl I L Yukuben -ybm I L Yaben -ybn I E Yabaâna -ybo I L Yabong -ybx I L Yawiyo -yby I L Yaweyuha -ycl I L Central Yi -ycn I L Yucuna -ydd I L Eastern Yiddish -yde I L Yangum Dey -ydg I L Yidgha -ydk I L Yoidik -yds I L Yiddish Sign Language -yea I L Ravula -yec I L Yeniche -yee I L Yimas -yei I E Yeni -yej I L Yevanic -yel I L Yela -yen I L Yendang -yer I L Tarok -yes I L Yeskwa -yet I L Yetfa -yeu I L Yerukula -yev I L Yapunda -yey I L Yeyi -ygl I L Yangum Gel -ygm I L Yagomi -ygr I L Yagaria -ygw I L Yagwoia -yhd I L Judeo-Iraqi Arabic -yia I L Yinggarda -yid yid yid yi M L Yiddish -yif I L Ache Yi -yig I L Guizhou Yi -yih I L Western Yiddish -yii I L Yidiny -yij I L Yindjibarndi -yik I L Xishan Lalu Yi -yil I L Yindjilandji -yim I L Yimchungru Naga -yin I L Yinchia -yio I L Dayao Yi -yip I L Poluo Yi -yiq I L Miqie Yi -yir I L North Awyu -yis I L Yis -yit I L Eastern Lalu Yi -yiu I L Awu Yi -yiv I L Eshan-Xinping Yi -yix I L Axi Yi -yiy I L Yir Yoront -yiz I L Azhe Yi -yka I L Yakan -ykg I L Northern Yukaghir -yki I L Yoke -ykk I L Yakaikeke -ykm I L Yakamul -yko I L Yasa -ykr I L Yekora -yky I L Yakoma -yla I L Yaul -yle I L Yele -ylg I L Yelogu -yli I L Angguruk Yali -yll I L Yil -ylm I L Limi Yi -ylo I L Naluo Yi -ylr I E Yalarnnga -ylu I L Aribwaung -yly I L Nyâlayu -yma I L Yamphe -ymb I L Yambes -yme I E Yameo -ymg I L Yamongeri -ymh I L Mili Yi -ymj I L Muji Yi -ymk I L Makwe -yml I L Iamalele -ymm I L Maay -ymn I L Yamna -ymo I L Yangum Mon -ymp I L Yamap -ymr I L Malasar -yms I A Mysian -ymt I E Mator-Taygi-Karagas -ynd I L Yandruwandha -yng I L Yango -ynh I L Yangho -ynk I L Naukan Yupik -ynl I L Yangulam -ynn I E Yana -yno I L Yong -yns I L Yansi -ynu I E Yahuna -yob I E Yoba -yog I L Yogad -yoi I L Yonaguni -yok I L Yokuts -yom I L Yombe -yon I L Yonggom -yor yor yor yo I L Yoruba -yos I L Yos -yox I L Yoron -yoy I L Yoy -ypl I L Pula Yi -ypw I L Puwa Yi -yra I L Yerakai -yrb I L Yareba -yre I L Yaouré -yri I L Yarí -yrk I L Nenets -yrl I L Nhengatu -yrn I L Yerong -yrs I L Yarsun -yrw I L Yarawata -ysc I E Yassic -ysl I L Yugoslavian Sign Language -ysn I L Sani Yi -yso I L Southeastern Lolo Yi -ysp I L Southern Lolopho Yi -ysr I E Sirenik Yupik -yss I L Yessan-Mayo -yua I L Yucatán Maya -yub I E Yugambal -yuc I L Yuchi -yud I L Judeo-Tripolitanian Arabic -yue I L Yue Chinese -yuf I L Havasupai-Walapai-Yavapai -yug I E Yug -yui I L Yurutí -yuj I L Karkar-Yuri -yuk I E Yuki -yul I L Yulu -yum I L Quechan -yun I L Bena (Nigeria) -yup I L Yukpa -yuq I L Yuqui -yur I L Yurok -yus I L Chan Santa Cruz Maya -yut I L Yopno -yuu I L Yugh -yuw I L Yau (Morobe Province) -yux I L Southern Yukaghir -yuy I L East Yugur -yuz I L Yuracare -yva I L Yawa -yvt I E Yavitero -ywa I L Kalou -ywl I L Western Lalu Yi -ywm I L Wumeng Yi -ywn I L Yawanawa -ywq I L Wuding-Luquan Yi -ywr I L Yawuru -ywt I L Western Yi -ywu I L Wusa Yi -yww I L Yawarawarga -yym I L Yuanjiang-Mojiang Yi -yyu I L Yau (Sandaun Province) -zaa I L Sierra de Juárez Zapotec -zab I L San Juan Guelavía Zapotec -zac I L Ocotlán Zapotec -zad I L Cajonos Zapotec -zae I L Yareni Zapotec -zaf I L Ayoquesco Zapotec -zag I L Zaghawa -zah I L Zangwal -zai I L Isthmus Zapotec -zaj I L Zaramo -zak I L Zanaki -zal I L Zauzou -zam I L Miahuatlán Zapotec -zao I L Ozolotepec Zapotec -zap zap zap M L Zapotec -zaq I L Aloápam Zapotec -zar I L Rincón Zapotec -zas I L Santo Domingo Albarradas Zapotec -zat I L Tabaa Zapotec -zau I L Zangskari -zav I L Yatzachi Zapotec -zaw I L Mitla Zapotec -zax I L Xadani Zapotec -zay I L Zayse-Zergulla -zaz I L Zari -zca I L Coatecas Altas Zapotec -zdj I L Ngazidja Comorian -zea I L Zeeuws -zeg I L Zenag -zen zen zen I L Zenaga -zga I L Kinga -zgr I L Magori -zha zha zha za M L Zhuang -zhb I L Zhaba -zhd I L Dai Zhuang -zhi I L Zhire -zhn I L Nong Zhuang -zho chi zho zh M L Chinese -zhw I L Zhoa -zia I L Zia -zib I L Zimbabwe Sign Language -zik I L Zimakani -zim I L Mesme -zin I L Zinza -zir I L Ziriya -ziw I L Zigula -ziz I L Zizilivakan -zka I L Kaimbulawa -zkb I E Koibal -zkg I E Koguryo -zkh I E Khorezmian -zkk I E Karankawa -zko I E Kott -zkp I E São Paulo Kaingáng -zkr I L Zakhring -zkt I E Kitan -zku I E Kaurna -zkv I E Krevinian -zkz I E Khazar -zma I L Manda (Australia) -zmb I L Zimba -zmc I L Margany -zmd I L Maridan -zme I L Mangerr -zmf I L Mfinu -zmg I L Marti Ke -zmh I L Makolkol -zmi I L Negeri Sembilan Malay -zmj I L Maridjabin -zmk I L Mandandanyi -zml I L Madngele -zmm I L Marimanindji -zmn I L Mbangwe -zmo I L Molo -zmp I L Mpuono -zmq I L Mituku -zmr I L Maranunggu -zms I L Mbesa -zmt I L Maringarr -zmu I L Muruwari -zmv I L Mbariman-Gudhinma -zmw I L Mbo (Democratic Republic of Congo) -zmx I L Bomitaba -zmy I L Mariyedi -zmz I L Mbandja -zna I L Zan Gula -zne I L Zande (individual language) -zng I L Mang -znk I E Manangkari -zns I L Mangas -zoc I L Copainalá Zoque -zoh I L Chimalapa Zoque -zom I L Zou -zoo I L Asunción Mixtepec Zapotec -zoq I L Tabasco Zoque -zor I L Rayón Zoque -zos I L Francisco León Zoque -zpa I L Lachiguiri Zapotec -zpb I L Yautepec Zapotec -zpc I L Choapan Zapotec -zpd I L Southeastern Ixtlán Zapotec -zpe I L Petapa Zapotec -zpf I L San Pedro Quiatoni Zapotec -zpg I L Guevea De Humboldt Zapotec -zph I L Totomachapan Zapotec -zpi I L Santa María Quiegolani Zapotec -zpj I L Quiavicuzas Zapotec -zpk I L Tlacolulita Zapotec -zpl I L Lachixío Zapotec -zpm I L Mixtepec Zapotec -zpn I L Santa Inés Yatzechi Zapotec -zpo I L Amatlán Zapotec -zpp I L El Alto Zapotec -zpq I L Zoogocho Zapotec -zpr I L Santiago Xanica Zapotec -zps I L Coatlán Zapotec -zpt I L San Vicente Coatlán Zapotec -zpu I L Yalálag Zapotec -zpv I L Chichicapan Zapotec -zpw I L Zaniza Zapotec -zpx I L San Baltazar Loxicha Zapotec -zpy I L Mazaltepec Zapotec -zpz I L Texmelucan Zapotec -zra I E Kara (Korea) -zrg I L Mirgan -zrn I L Zirenkel -zro I L Záparo -zrp I E Zarphatic -zrs I L Mairasi -zsk I A Kaskean -zsl I L Zambian Sign Language -zsr I L Southern Rincon Zapotec -zte I L Elotepec Zapotec -ztg I L Xanaguía Zapotec -ztl I L Lapaguía-Guivini Zapotec -ztm I L San Agustín Mixtepec Zapotec -ztn I L Santa Catarina Albarradas Zapotec -ztp I L Loxicha Zapotec -ztq I L Quioquitani-Quierí Zapotec -zts I L Tilquiapan Zapotec -ztt I L Tejalapan Zapotec -ztu I L Güilá Zapotec -ztx I L Zaachila Zapotec -zty I L Yatee Zapotec -zua I L Zeem -zuh I L Tokano -zul zul zul zu I L Zulu -zum I L Kumzari -zun zun zun I L Zuni -zuy I L Zumaya -zwa I L Zay -zxx zxx zxx S S No linguistic content -zyg I L Yang Zhuang -zyn I L Yongnan Zhuang -zyp I L Zyphe -zza zza zza M L Zaza -zzj I L Zuojiang Zhuang \ No newline at end of file From c63dac6034bd459969bdaa2e0843acf4631ca0c8 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 20 Feb 2019 11:18:50 +0100 Subject: [PATCH 33/49] Update readme --- README.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e2af4ad3e..33e55a4bf 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,24 @@ Palaso Library ============== +The Palaso repo is a collection of shared libraries that are used in SIL .NET applications. The +libraries are mostly cross-platform compatible. All non-test assemblies have a corresponding nuget +package. + +The Palaso library adheres to [Semantic Versioning](http://semver.org/) and +[keeps a Changelog](http://keepachangelog.com/) to record noteworthy changes. + Documentation ------------- -- Notes on [Re-Distribution](http://projects.palaso.org/projects/palaso/wiki/Re-Distribution) -- [Error Reporting](http://projects.palaso.org/projects/palaso/wiki/Error_Reporting) -- [Writing Systems](http://projects.palaso.org/projects/palaso/wiki/Writing_Systems) - +- Overview over the [assemblies](https://github.com/sillsdev/libpalaso/wiki/Assemblies) +- See [wiki](https://github.com/sillsdev/libpalaso/wiki) for documentation Binaries -------- [Binary builds](http://build.palaso.org/repository/downloadAll/bt32/.lastSuccessful/artifacts.zip) of all the Palaso libraries are available from our [Team City continuous build server](http://build.palaso.org/). - Source Code ----------- @@ -22,7 +26,7 @@ To get the source code, you'll need Git. Then from a command line, give this com `git clone https://github.com/sillsdev/libpalaso` - Development ----------- -For instructions on building and contributing, see . + +For instructions on building and contributing, see [Development](https://github.com/sillsdev/libpalaso/wiki/Development). From e12d44c002935ef815991a4ef74a89ceedcab240 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 21 Feb 2019 21:43:26 +0100 Subject: [PATCH 34/49] Always use native line endings in tests AppVeyor for some reason uses \n line endings when checking out files. This caused failing tests on Windows when building with AppVeyor. --- ExtractCopyright.Tests/ExtractCopyrightTests.cs | 3 ++- SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ExtractCopyright.Tests/ExtractCopyrightTests.cs b/ExtractCopyright.Tests/ExtractCopyrightTests.cs index e73009331..70bef4c55 100755 --- a/ExtractCopyright.Tests/ExtractCopyrightTests.cs +++ b/ExtractCopyright.Tests/ExtractCopyrightTests.cs @@ -159,7 +159,8 @@ public void WriteSimpleCopyrightFileWorks() copyrights.WriteDebianParagraphs(writer); } - Assert.AreEqual(_writeTestData, Encoding.UTF8.GetString(mem.ToArray())); + Assert.AreEqual(_writeTestData.Replace("\r", "").Replace("\n", Environment.NewLine), + Encoding.UTF8.GetString(mem.ToArray())); } [Test] diff --git a/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs b/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs index d5b9ab6db..891901a0b 100644 --- a/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs +++ b/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs @@ -1,6 +1,7 @@ // Copyright (c) 2018 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) +using System; using System.Diagnostics; using NUnit.Framework; using SIL.Email; @@ -47,7 +48,7 @@ set content to ""This is a test email."" make new to recipient at end of to recipients with properties {address:""someone@example.com""} end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } [Test] @@ -79,7 +80,7 @@ set content to ""This is a test email."" make new to recipient at end of to recipients with properties {address:""whoever@example.com""} end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } [Test] @@ -111,7 +112,7 @@ set content to ""This is a test email."" make new to recipient at end of bcc recipients with properties {address:""whoever@example.com""} end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } [Test] @@ -143,7 +144,7 @@ set content to ""This is a test email."" make new attachment with properties {{file name:""{tempFile.Path}""}} at after the last paragraph end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } } @@ -179,7 +180,7 @@ set content to ""This is a test email."" make new attachment with properties {{file name:""{tempFile2.Path}""}} at after the last paragraph end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } } } From af94925a60c784a35c108c5dd535f3cc51867d22 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 26 Feb 2019 22:38:58 +0100 Subject: [PATCH 35/49] Update GitVersionTask.alt --- AddSortKey/AddSortKey.csproj | 2 +- ExtractCopyright.Tests/ExtractCopyright.Tests.csproj | 2 +- ExtractCopyright/ExtractCopyright.csproj | 2 +- SIL.Archiving.Tests/SIL.Archiving.Tests.csproj | 2 +- SIL.Archiving/SIL.Archiving.csproj | 2 +- SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj | 2 +- SIL.Core.Desktop/SIL.Core.Desktop.csproj | 2 +- SIL.Core/SIL.Core.csproj | 2 +- SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj | 2 +- SIL.DblBundle/SIL.DblBundle.csproj | 2 +- .../SIL.DictionaryServices.Tests.csproj | 2 +- SIL.DictionaryServices/SIL.DictionaryServices.csproj | 2 +- SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj | 2 +- SIL.Lexicon/SIL.Lexicon.csproj | 2 +- SIL.Lift.Tests/SIL.Lift.Tests.csproj | 2 +- SIL.Lift/SIL.Lift.csproj | 2 +- SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj | 2 +- SIL.Linux.Logging/SIL.Linux.Logging.csproj | 7 +++---- SIL.Media.Tests/SIL.Media.Tests.csproj | 4 ++-- SIL.Media/SIL.Media.csproj | 2 +- SIL.Scripture.Tests/SIL.Scripture.Tests.csproj | 2 +- SIL.Scripture/SIL.Scripture.csproj | 2 +- SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj | 2 +- SIL.TestUtilities/SIL.TestUtilities.csproj | 7 +++---- .../SIL.Windows.Forms.DblBundle.csproj | 2 +- .../SIL.Windows.Forms.GeckoBrowserAdapter.csproj | 4 ++-- .../SIL.Windows.Forms.Keyboarding.csproj | 5 ++--- .../SIL.Windows.Forms.Scripture.Tests.csproj | 2 +- .../SIL.Windows.Forms.Scripture.csproj | 2 +- .../SIL.Windows.Forms.WritingSystems.Tests.csproj | 2 +- .../SIL.Windows.Forms.WritingSystems.csproj | 2 +- SIL.Windows.Forms/SIL.Windows.Forms.csproj | 2 +- SIL.WritingSystems/SIL.WritingSystems.csproj | 2 +- TestApps/FastSplitterTest/FastSplitterTest.csproj | 2 +- TestApps/ReportingTest/Reporting.TestApp.csproj | 2 +- TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj | 2 +- .../SIL.Windows.Forms.TestApp.csproj | 2 +- TestApps/TestAppKeyboard/TestAppKeyboard.csproj | 2 +- 38 files changed, 45 insertions(+), 48 deletions(-) diff --git a/AddSortKey/AddSortKey.csproj b/AddSortKey/AddSortKey.csproj index f1f195f2e..b88c1b816 100644 --- a/AddSortKey/AddSortKey.csproj +++ b/AddSortKey/AddSortKey.csproj @@ -18,7 +18,7 @@ - + all diff --git a/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj b/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj index e4dd89d21..48cfbbd91 100644 --- a/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj +++ b/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/ExtractCopyright/ExtractCopyright.csproj b/ExtractCopyright/ExtractCopyright.csproj index 11dd0c183..7328bc6fb 100644 --- a/ExtractCopyright/ExtractCopyright.csproj +++ b/ExtractCopyright/ExtractCopyright.csproj @@ -18,7 +18,7 @@ - + all diff --git a/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj b/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj index c75520ec5..50cb09f27 100644 --- a/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj +++ b/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj @@ -18,7 +18,7 @@ - + all diff --git a/SIL.Archiving/SIL.Archiving.csproj b/SIL.Archiving/SIL.Archiving.csproj index 858ddfb59..cff62ee11 100644 --- a/SIL.Archiving/SIL.Archiving.csproj +++ b/SIL.Archiving/SIL.Archiving.csproj @@ -21,7 +21,7 @@ - + all diff --git a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj index 28ff67ee8..5650eb787 100644 --- a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj +++ b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Core.Desktop/SIL.Core.Desktop.csproj b/SIL.Core.Desktop/SIL.Core.Desktop.csproj index 6bd20a86d..3615c5935 100644 --- a/SIL.Core.Desktop/SIL.Core.Desktop.csproj +++ b/SIL.Core.Desktop/SIL.Core.Desktop.csproj @@ -21,7 +21,7 @@ ../palaso.snk - + all diff --git a/SIL.Core/SIL.Core.csproj b/SIL.Core/SIL.Core.csproj index 1adda0d4e..bfe5e107b 100644 --- a/SIL.Core/SIL.Core.csproj +++ b/SIL.Core/SIL.Core.csproj @@ -19,7 +19,7 @@ - + all diff --git a/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj b/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj index cdee1bfdf..71870f5b3 100644 --- a/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj +++ b/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj @@ -18,7 +18,7 @@ - + all diff --git a/SIL.DblBundle/SIL.DblBundle.csproj b/SIL.DblBundle/SIL.DblBundle.csproj index 2efffca49..a73a0db55 100644 --- a/SIL.DblBundle/SIL.DblBundle.csproj +++ b/SIL.DblBundle/SIL.DblBundle.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj b/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj index c3497886b..b6678103b 100644 --- a/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj +++ b/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.DictionaryServices/SIL.DictionaryServices.csproj b/SIL.DictionaryServices/SIL.DictionaryServices.csproj index eebedd175..078a7f45d 100644 --- a/SIL.DictionaryServices/SIL.DictionaryServices.csproj +++ b/SIL.DictionaryServices/SIL.DictionaryServices.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj b/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj index 9b2e29212..897ca1089 100644 --- a/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj +++ b/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Lexicon/SIL.Lexicon.csproj b/SIL.Lexicon/SIL.Lexicon.csproj index 58d507fa3..0fbd929f5 100644 --- a/SIL.Lexicon/SIL.Lexicon.csproj +++ b/SIL.Lexicon/SIL.Lexicon.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.Lift.Tests/SIL.Lift.Tests.csproj b/SIL.Lift.Tests/SIL.Lift.Tests.csproj index 13a28f194..573d83cf4 100644 --- a/SIL.Lift.Tests/SIL.Lift.Tests.csproj +++ b/SIL.Lift.Tests/SIL.Lift.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Lift/SIL.Lift.csproj b/SIL.Lift/SIL.Lift.csproj index 51920d83c..e561f1991 100644 --- a/SIL.Lift/SIL.Lift.csproj +++ b/SIL.Lift/SIL.Lift.csproj @@ -20,7 +20,7 @@ ../palaso.snk - + all diff --git a/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj b/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj index 6cb82ea3c..5216f843c 100644 --- a/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj +++ b/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Linux.Logging/SIL.Linux.Logging.csproj b/SIL.Linux.Logging/SIL.Linux.Logging.csproj index d7cf34f14..8d28b709e 100644 --- a/SIL.Linux.Logging/SIL.Linux.Logging.csproj +++ b/SIL.Linux.Logging/SIL.Linux.Logging.csproj @@ -1,4 +1,4 @@ - + net461 @@ -20,11 +20,10 @@ - + all - + all diff --git a/SIL.Media.Tests/SIL.Media.Tests.csproj b/SIL.Media.Tests/SIL.Media.Tests.csproj index fd8db59c7..5d7fe64de 100644 --- a/SIL.Media.Tests/SIL.Media.Tests.csproj +++ b/SIL.Media.Tests/SIL.Media.Tests.csproj @@ -1,4 +1,4 @@ - + net461 @@ -15,7 +15,7 @@ - + all diff --git a/SIL.Media/SIL.Media.csproj b/SIL.Media/SIL.Media.csproj index f1a0f16d9..1183fac0d 100644 --- a/SIL.Media/SIL.Media.csproj +++ b/SIL.Media/SIL.Media.csproj @@ -23,7 +23,7 @@ None - + all diff --git a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj index deaf06695..ef586025b 100644 --- a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj +++ b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Scripture/SIL.Scripture.csproj b/SIL.Scripture/SIL.Scripture.csproj index 5dd216a0a..22b601717 100644 --- a/SIL.Scripture/SIL.Scripture.csproj +++ b/SIL.Scripture/SIL.Scripture.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj b/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj index 306e3fdfa..f6f2c726d 100644 --- a/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj +++ b/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.TestUtilities/SIL.TestUtilities.csproj b/SIL.TestUtilities/SIL.TestUtilities.csproj index 553141aff..f5980ff37 100644 --- a/SIL.TestUtilities/SIL.TestUtilities.csproj +++ b/SIL.TestUtilities/SIL.TestUtilities.csproj @@ -1,4 +1,4 @@ - + net461 @@ -20,11 +20,10 @@ - + all - + all diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj index 0f35203e0..8bbaade9c 100644 --- a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj index 74c464b33..3870338b6 100644 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj @@ -1,4 +1,4 @@ - + net461 @@ -20,7 +20,7 @@ - + all diff --git a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj index b9aaf3c20..f4bcaafa3 100644 --- a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj +++ b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj @@ -20,14 +20,13 @@ - + all - + all diff --git a/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj b/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj index 58eaeed56..e857e90ef 100644 --- a/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj +++ b/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj index eed5ce7b3..18a203c8f 100644 --- a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj +++ b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj index 75fb41c32..109b72d53 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj +++ b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj @@ -17,7 +17,7 @@ - + all diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj index 711fff029..3786a0ad5 100644 --- a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj @@ -20,7 +20,7 @@ - + all diff --git a/SIL.Windows.Forms/SIL.Windows.Forms.csproj b/SIL.Windows.Forms/SIL.Windows.Forms.csproj index 13115cf87..2d5864187 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms.csproj @@ -23,7 +23,7 @@ - + all diff --git a/SIL.WritingSystems/SIL.WritingSystems.csproj b/SIL.WritingSystems/SIL.WritingSystems.csproj index ffea7c485..a8392a2fb 100644 --- a/SIL.WritingSystems/SIL.WritingSystems.csproj +++ b/SIL.WritingSystems/SIL.WritingSystems.csproj @@ -18,7 +18,7 @@ - + all diff --git a/TestApps/FastSplitterTest/FastSplitterTest.csproj b/TestApps/FastSplitterTest/FastSplitterTest.csproj index 81f3126aa..50217e71d 100644 --- a/TestApps/FastSplitterTest/FastSplitterTest.csproj +++ b/TestApps/FastSplitterTest/FastSplitterTest.csproj @@ -18,7 +18,7 @@ - + all diff --git a/TestApps/ReportingTest/Reporting.TestApp.csproj b/TestApps/ReportingTest/Reporting.TestApp.csproj index 587545ef8..3ee18903c 100644 --- a/TestApps/ReportingTest/Reporting.TestApp.csproj +++ b/TestApps/ReportingTest/Reporting.TestApp.csproj @@ -18,7 +18,7 @@ - + all diff --git a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj index 086b68427..779a4729f 100644 --- a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj +++ b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj @@ -18,7 +18,7 @@ - + all diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj index cdb653737..bd08407c2 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj @@ -16,7 +16,7 @@ - + all diff --git a/TestApps/TestAppKeyboard/TestAppKeyboard.csproj b/TestApps/TestAppKeyboard/TestAppKeyboard.csproj index d7a1cca8e..102fcf42f 100644 --- a/TestApps/TestAppKeyboard/TestAppKeyboard.csproj +++ b/TestApps/TestAppKeyboard/TestAppKeyboard.csproj @@ -18,7 +18,7 @@ - + all From 20c5224f4dc8a28b37adaa8e7b1b18ad22fb0b77 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 8 Mar 2019 18:21:46 +0100 Subject: [PATCH 36/49] Use renamed L10NSharp.tmx nuget package --- SIL.Archiving/SIL.Archiving.csproj | 2 +- SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj | 2 +- .../SIL.Windows.Forms.Keyboarding.csproj | 2 +- .../SIL.Windows.Forms.WritingSystems.csproj | 2 +- SIL.Windows.Forms/SIL.Windows.Forms.csproj | 2 +- .../SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SIL.Archiving/SIL.Archiving.csproj b/SIL.Archiving/SIL.Archiving.csproj index cff62ee11..b30debc9d 100644 --- a/SIL.Archiving/SIL.Archiving.csproj +++ b/SIL.Archiving/SIL.Archiving.csproj @@ -24,7 +24,7 @@ all - + all diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj index 8bbaade9c..2f9a5377e 100644 --- a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj @@ -23,7 +23,7 @@ all - + all diff --git a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj index f4bcaafa3..887f00b61 100644 --- a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj +++ b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj @@ -25,7 +25,7 @@ - + all diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj index 3786a0ad5..2ba98ff2b 100644 --- a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj @@ -23,7 +23,7 @@ all - + all diff --git a/SIL.Windows.Forms/SIL.Windows.Forms.csproj b/SIL.Windows.Forms/SIL.Windows.Forms.csproj index 2d5864187..6e6726bda 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms.csproj @@ -26,7 +26,7 @@ all - + diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj index bd08407c2..b295049d3 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj @@ -20,7 +20,7 @@ all - + From 0a58f8dd951e9cf2a19c628c6e84f021c861de91 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 11 Mar 2019 15:31:43 +0100 Subject: [PATCH 37/49] Adjust namespace and test name to current test class name/location --- SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs | 2 +- SIL.Core.Tests/IO/FileHelperTests.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs b/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs index 01ee84187..c6981b4d6 100644 --- a/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs +++ b/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs @@ -6,7 +6,7 @@ using System.IO; using System.Reflection; -namespace SIL.Tests.IO +namespace SIL.Core.Desktop.Tests.IO { [TestFixture] public class FileUtilTests diff --git a/SIL.Core.Tests/IO/FileHelperTests.cs b/SIL.Core.Tests/IO/FileHelperTests.cs index 25f9ffab3..c51f22374 100644 --- a/SIL.Core.Tests/IO/FileHelperTests.cs +++ b/SIL.Core.Tests/IO/FileHelperTests.cs @@ -9,7 +9,7 @@ namespace SIL.Tests.IO { [TestFixture] - public class FileUtilTests + public class FileHelperTests { private TemporaryFolder _parentFolder; @@ -17,7 +17,7 @@ public class FileUtilTests [SetUp] public void Setup() { - _parentFolder = new TemporaryFolder("FileUtilsTests"); + _parentFolder = new TemporaryFolder("FileHelperTests"); } /// ------------------------------------------------------------------------------------ From 1819b04e70cf58132c6ce095b85942419fff1d11 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 15 Mar 2019 14:25:54 +0100 Subject: [PATCH 38/49] Add Designer projects The old-style *-Designer.csproj files allow to use the designer in Visual Studio 2017. They are not part of the regular build, but exist solely as a convenience to edit forms and controls in the designer. --- .gitignore | 1 + Palaso.sln | 118 ++- ReadmeDesignerProjects.md | 4 + SIL.Archiving/SIL.Archiving-Designer.csproj | 182 ++++ SIL.Archiving/packages.config | 4 + SIL.Core.Desktop/SIL.Core.Desktop.csproj | 13 + .../SIL.Media.Tests-Designer.csproj | 150 +++ SIL.Media.Tests/packages.config | 6 + SIL.Media/SIL.Media-Designer.csproj | 248 +++++ SIL.Media/packages.config | 4 + ...IL.Windows.Forms.DblBundle-Designer.csproj | 118 +++ ....Forms.GeckoBrowserAdapter-Designer.csproj | 90 ++ ...IL.Windows.Forms.Scripture-Designer.csproj | 178 ++++ .../SIL.Windows.Forms.Tests-Designer.csproj | 218 +++++ SIL.Windows.Forms.Tests/packages.config | 6 + ...ndows.Forms.WritingSystems-Designer.csproj | 321 ++++++ .../SIL.Windows.Forms-Designer.csproj | 919 ++++++++++++++++++ SIL.Windows.Forms/packages.config | 15 + .../FastSplitterTest-Designer.csproj | 99 ++ .../Reporting.TestApp-Designer.csproj | 194 ++++ .../SIL.Email.TestApp-Designer.csproj | 101 ++ .../SIL.Windows.Forms.TestApp-Designer.csproj | 144 +++ .../SIL.Windows.Forms.TestApp/packages.config | 5 + .../TestAppKeyboard-Designer.csproj | 150 +++ .../lib/policy.2.0.taglib-sharp.config | 10 - 25 files changed, 3268 insertions(+), 30 deletions(-) create mode 100644 ReadmeDesignerProjects.md create mode 100644 SIL.Archiving/SIL.Archiving-Designer.csproj create mode 100644 SIL.Archiving/packages.config create mode 100644 SIL.Media.Tests/SIL.Media.Tests-Designer.csproj create mode 100644 SIL.Media.Tests/packages.config create mode 100644 SIL.Media/SIL.Media-Designer.csproj create mode 100644 SIL.Media/packages.config create mode 100644 SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj create mode 100644 SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj create mode 100644 SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj create mode 100644 SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj create mode 100644 SIL.Windows.Forms.Tests/packages.config create mode 100644 SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj create mode 100644 SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj create mode 100644 SIL.Windows.Forms/packages.config create mode 100644 TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj create mode 100644 TestApps/ReportingTest/Reporting.TestApp-Designer.csproj create mode 100644 TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj create mode 100644 TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj create mode 100644 TestApps/SIL.Windows.Forms.TestApp/packages.config create mode 100644 TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj delete mode 100644 packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config diff --git a/.gitignore b/.gitignore index eba905f47..d4058a8e4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ Thumbs.db .bzr/ obj/ bin/ +bin-Designer/ test-results/ *.suo *.resharper diff --git a/Palaso.sln b/Palaso.sln index e8b39b398..89664636b 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -10,36 +10,36 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Tests", "SIL.Core. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms", "SIL.Windows.Forms\SIL.Windows.Forms.csproj", "{DB44F49C-D8C6-434F-81ED-28EA5C9E8195}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddSortKey", "AddSortKey\AddSortKey.csproj", "{3D4F73A8-DB05-4580-98A0-DEE34C010636}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AddSortKey", "AddSortKey\AddSortKey.csproj", "{3D4F73A8-DB05-4580-98A0-DEE34C010636}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Tests", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests.csproj", "{6E16866F-FF8D-4136-AD67-36AFE3626432}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Media", "SIL.Media\SIL.Media.csproj", "{66B3504A-3B4E-45CB-903A-A9A75B22EF68}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media.Tests", "SIL.Media.Tests\SIL.Media.Tests.csproj", "{CD4AF11C-C214-4D90-8F12-6DA97836B800}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Media.Tests", "SIL.Media.Tests\SIL.Media.Tests.csproj", "{CD4AF11C-C214-4D90-8F12-6DA97836B800}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.TestUtilities", "SIL.TestUtilities\SIL.TestUtilities.csproj", "{D74CE910-D44A-44F5-8C0F-F5E50B26F85D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reporting.TestApp", "TestApps\ReportingTest\Reporting.TestApp.csproj", "{13B5E313-1B26-4DAE-9E96-133768B62FD2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Reporting.TestApp", "TestApps\ReportingTest\Reporting.TestApp.csproj", "{13B5E313-1B26-4DAE-9E96-133768B62FD2}" ProjectSection(ProjectDependencies) = postProject {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} = {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Archiving", "SIL.Archiving\SIL.Archiving.csproj", "{BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving.Tests", "SIL.Archiving.Tests\SIL.Archiving.Tests.csproj", "{892C7F20-FBBB-4AB3-BAC2-E40A135567B6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Archiving.Tests", "SIL.Archiving.Tests\SIL.Archiving.Tests.csproj", "{892C7F20-FBBB-4AB3-BAC2-E40A135567B6}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Scripture", "SIL.Scripture\SIL.Scripture.csproj", "{F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Scripture.Tests", "SIL.Scripture.Tests\SIL.Scripture.Tests.csproj", "{4528287F-BA86-49D8-AFBB-1250A60CE7EA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Scripture.Tests", "SIL.Scripture.Tests\SIL.Scripture.Tests.csproj", "{4528287F-BA86-49D8-AFBB-1250A60CE7EA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestAppKeyboard", "TestApps\TestAppKeyboard\TestAppKeyboard.csproj", "{776BECCD-102A-4C69-A478-4A4A6F695019}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestAppKeyboard", "TestApps\TestAppKeyboard\TestAppKeyboard.csproj", "{776BECCD-102A-4C69-A478-4A4A6F695019}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.GeckoBrowserAdapter", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter.csproj", "{D000879E-9AA6-4811-A6F0-80DF6119FB08}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Scripture", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture.csproj", "{6CA85A3E-4AB3-4BBC-861F-0C68F018868B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture.Tests", "SIL.Windows.Forms.Scripture.Tests\SIL.Windows.Forms.Scripture.Tests.csproj", "{CCF34218-52D9-4092-ADB8-1893BBE5ED31}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Scripture.Tests", "SIL.Windows.Forms.Scripture.Tests\SIL.Windows.Forms.Scripture.Tests.csproj", "{CCF34218-52D9-4092-ADB8-1893BBE5ED31}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.WritingSystems.Tests", "SIL.WritingSystems.Tests\SIL.WritingSystems.Tests.csproj", "{641EB241-BF16-4A5F-89BD-54411F9AC973}" EndProject @@ -48,7 +48,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.WritingSy {0580ED5F-6274-4928-83EE-175F01AD052D} = {0580ED5F-6274-4928-83EE-175F01AD052D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems.Tests", "SIL.Windows.Forms.WritingSystems.Tests\SIL.Windows.Forms.WritingSystems.Tests.csproj", "{24E0B3A0-EE71-48CE-82F9-549F1F47322F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.WritingSystems.Tests", "SIL.Windows.Forms.WritingSystems.Tests\SIL.Windows.Forms.WritingSystems.Tests.csproj", "{24E0B3A0-EE71-48CE-82F9-549F1F47322F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Keyboarding", "SIL.Windows.Forms.Keyboarding\SIL.Windows.Forms.Keyboarding.csproj", "{0580ED5F-6274-4928-83EE-175F01AD052D}" EndProject @@ -56,25 +56,25 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Keyboardi EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DblBundle", "SIL.DblBundle\SIL.DblBundle.csproj", "{D4F0F320-FAF6-4775-8411-4D03FAE99F84}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DblBundle.Tests", "SIL.DblBundle.Tests\SIL.DblBundle.Tests.csproj", "{66685009-8F78-4FED-A106-E5BD6E746E1A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DblBundle.Tests", "SIL.DblBundle.Tests\SIL.DblBundle.Tests.csproj", "{66685009-8F78-4FED-A106-E5BD6E746E1A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lexicon", "SIL.Lexicon\SIL.Lexicon.csproj", "{FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lexicon.Tests", "SIL.Lexicon.Tests\SIL.Lexicon.Tests.csproj", "{67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lexicon.Tests", "SIL.Lexicon.Tests\SIL.Lexicon.Tests.csproj", "{67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DictionaryServices.Tests", "SIL.DictionaryServices.Tests\SIL.DictionaryServices.Tests.csproj", "{CC84BDED-CECD-466A-9397-F5D83527B218}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DictionaryServices.Tests", "SIL.DictionaryServices.Tests\SIL.DictionaryServices.Tests.csproj", "{CC84BDED-CECD-466A-9397-F5D83527B218}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DictionaryServices", "SIL.DictionaryServices\SIL.DictionaryServices.csproj", "{5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lift", "SIL.Lift\SIL.Lift.csproj", "{60B4A08C-54F3-4BC7-83ED-F84274FABFAC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lift.Tests", "SIL.Lift.Tests\SIL.Lift.Tests.csproj", "{FE61F837-8EAA-4FD7-824A-9949194430DC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lift.Tests", "SIL.Lift.Tests\SIL.Lift.Tests.csproj", "{FE61F837-8EAA-4FD7-824A-9949194430DC}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{3C695301-9C39-4715-8EDD-817C63EF81E7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Email.TestApp", "TestApps\SIL.Email.TestApp\SIL.Email.TestApp.csproj", "{2A206833-C713-4ACB-ACD3-EB971415119E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Email.TestApp", "TestApps\SIL.Email.TestApp\SIL.Email.TestApp.csproj", "{2A206833-C713-4ACB-ACD3-EB971415119E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp", "TestApps\SIL.Windows.Forms.TestApp\SIL.Windows.Forms.TestApp.csproj", "{24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.TestApp", "TestApps\SIL.Windows.Forms.TestApp\SIL.Windows.Forms.TestApp.csproj", "{24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}" ProjectSection(ProjectDependencies) = postProject {0580ED5F-6274-4928-83EE-175F01AD052D} = {0580ED5F-6274-4928-83EE-175F01AD052D} {D000879E-9AA6-4811-A6F0-80DF6119FB08} = {D000879E-9AA6-4811-A6F0-80DF6119FB08} @@ -82,21 +82,21 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp", {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9} = {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastSplitterTest", "TestApps\FastSplitterTest\FastSplitterTest.csproj", "{CA8F3657-3D85-4C97-81A6-5C212627B2F6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FastSplitterTest", "TestApps\FastSplitterTest\FastSplitterTest.csproj", "{CA8F3657-3D85-4C97-81A6-5C212627B2F6}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.DblBundle", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle.csproj", "{A5260B7F-A48B-495C-86C4-73B1419B17F2}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Linux.Logging", "SIL.Linux.Logging\SIL.Linux.Logging.csproj", "{D098D062-0B47-4A68-BE0A-5FB597B6896C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Linux.Logging.Tests", "SIL.Linux.Logging.Tests\SIL.Linux.Logging.Tests.csproj", "{D7AD97B3-88DB-400D-B748-0E06914F17FC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Linux.Logging.Tests", "SIL.Linux.Logging.Tests\SIL.Linux.Logging.Tests.csproj", "{D7AD97B3-88DB-400D-B748-0E06914F17FC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Desktop", "SIL.Core.Desktop\SIL.Core.Desktop.csproj", "{C48DE000-2086-4CEB-A5A1-3171C272725E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Desktop.Tests", "SIL.Core.Desktop.Tests\SIL.Core.Desktop.Tests.csproj", "{4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Desktop.Tests", "SIL.Core.Desktop.Tests\SIL.Core.Desktop.Tests.csproj", "{4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtractCopyright", "ExtractCopyright\ExtractCopyright.csproj", "{EB720294-B74B-47F4-BE43-9B3B4C33C86D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtractCopyright", "ExtractCopyright\ExtractCopyright.csproj", "{EB720294-B74B-47F4-BE43-9B3B4C33C86D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtractCopyright.Tests", "ExtractCopyright.Tests\ExtractCopyright.Tests.csproj", "{085A7785-C407-4623-80C0-BFFD2B0D2475}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtractCopyright.Tests", "ExtractCopyright.Tests\ExtractCopyright.Tests.csproj", "{085A7785-C407-4623-80C0-BFFD2B0D2475}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core", "SIL.Core\SIL.Core.csproj", "{53CB36D9-2F66-4823-B1F0-4523E8565200}" EndProject @@ -111,7 +111,42 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution GitVersion.yml = GitVersion.yml EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DesignerProjects", "DesignerProjects", "{266192AE-881F-4823-9D25-D124C51C81E3}" + ProjectSection(SolutionItems) = preProject + ReadmeDesignerProjects.md = ReadmeDesignerProjects.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{A3AE611B-C8D6-4EF3-B669-B0A869B012F9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastSplitterTest-Designer", "TestApps\FastSplitterTest\FastSplitterTest-Designer.csproj", "{92088975-691B-45E7-A6EB-2B0F02C1AA10}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reporting.TestApp-Designer", "TestApps\ReportingTest\Reporting.TestApp-Designer.csproj", "{61A11571-7E4B-4B35-AB5A-21814C6D44B4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Email.TestApp-Designer", "TestApps\SIL.Email.TestApp\SIL.Email.TestApp-Designer.csproj", "{26250929-0BFE-435F-A1CE-6F082EC97D3A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp-Designer", "TestApps\SIL.Windows.Forms.TestApp\SIL.Windows.Forms.TestApp-Designer.csproj", "{71407727-8774-4871-BF9C-BFFF8DE884DC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestAppKeyboard-Designer", "TestApps\TestAppKeyboard\TestAppKeyboard-Designer.csproj", "{5DC731FF-2CEF-4F2D-B153-55F7ABC1085F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving-Designer", "SIL.Archiving\SIL.Archiving-Designer.csproj", "{0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media-Designer", "SIL.Media\SIL.Media-Designer.csproj", "{D6E7D28F-72F8-48C8-A4AB-452A1431847F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media.Tests-Designer", "SIL.Media.Tests\SIL.Media.Tests-Designer.csproj", "{800ED1E6-53B2-43C4-AFA6-872625076332}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms-Designer", "SIL.Windows.Forms\SIL.Windows.Forms-Designer.csproj", "{78BFB566-7BC9-460C-8F5D-7333192BDEE6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.DblBundle-Designer", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle-Designer.csproj", "{0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.GeckoBrowserAdapter-Designer", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj", "{9CD88656-640A-4143-A9E7-6ACA604609A3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture-Designer", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture-Designer.csproj", "{0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Tests-Designer", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests-Designer.csproj", "{E7BD6834-F0A2-4966-A459-629D43BA5399}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems-Designer", "SIL.Windows.Forms.WritingSystems\SIL.Windows.Forms.WritingSystems-Designer.csproj", "{7B1638B6-DBB3-4978-B900-5A65F5C93BEA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -287,6 +322,34 @@ Global {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.Build.0 = Release|Any CPU + {92088975-691B-45E7-A6EB-2B0F02C1AA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92088975-691B-45E7-A6EB-2B0F02C1AA10}.Release|Any CPU.ActiveCfg = Release|Any CPU + {61A11571-7E4B-4B35-AB5A-21814C6D44B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {61A11571-7E4B-4B35-AB5A-21814C6D44B4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {26250929-0BFE-435F-A1CE-6F082EC97D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {26250929-0BFE-435F-A1CE-6F082EC97D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {71407727-8774-4871-BF9C-BFFF8DE884DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {71407727-8774-4871-BF9C-BFFF8DE884DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6E7D28F-72F8-48C8-A4AB-452A1431847F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D6E7D28F-72F8-48C8-A4AB-452A1431847F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {800ED1E6-53B2-43C4-AFA6-872625076332}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {800ED1E6-53B2-43C4-AFA6-872625076332}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78BFB566-7BC9-460C-8F5D-7333192BDEE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78BFB566-7BC9-460C-8F5D-7333192BDEE6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9CD88656-640A-4143-A9E7-6ACA604609A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9CD88656-640A-4143-A9E7-6ACA604609A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E7BD6834-F0A2-4966-A459-629D43BA5399}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E7BD6834-F0A2-4966-A459-629D43BA5399}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -297,6 +360,21 @@ Global {2A206833-C713-4ACB-ACD3-EB971415119E} = {3C695301-9C39-4715-8EDD-817C63EF81E7} {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} = {3C695301-9C39-4715-8EDD-817C63EF81E7} {CA8F3657-3D85-4C97-81A6-5C212627B2F6} = {3C695301-9C39-4715-8EDD-817C63EF81E7} + {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} = {266192AE-881F-4823-9D25-D124C51C81E3} + {92088975-691B-45E7-A6EB-2B0F02C1AA10} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {61A11571-7E4B-4B35-AB5A-21814C6D44B4} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {26250929-0BFE-435F-A1CE-6F082EC97D3A} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {71407727-8774-4871-BF9C-BFFF8DE884DC} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD} = {266192AE-881F-4823-9D25-D124C51C81E3} + {D6E7D28F-72F8-48C8-A4AB-452A1431847F} = {266192AE-881F-4823-9D25-D124C51C81E3} + {800ED1E6-53B2-43C4-AFA6-872625076332} = {266192AE-881F-4823-9D25-D124C51C81E3} + {78BFB566-7BC9-460C-8F5D-7333192BDEE6} = {266192AE-881F-4823-9D25-D124C51C81E3} + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9} = {266192AE-881F-4823-9D25-D124C51C81E3} + {9CD88656-640A-4143-A9E7-6ACA604609A3} = {266192AE-881F-4823-9D25-D124C51C81E3} + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8} = {266192AE-881F-4823-9D25-D124C51C81E3} + {E7BD6834-F0A2-4966-A459-629D43BA5399} = {266192AE-881F-4823-9D25-D124C51C81E3} + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA} = {266192AE-881F-4823-9D25-D124C51C81E3} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {0915B762-D4AE-4892-BF4F-AC428A687B02} diff --git a/ReadmeDesignerProjects.md b/ReadmeDesignerProjects.md new file mode 100644 index 000000000..1f2cf5468 --- /dev/null +++ b/ReadmeDesignerProjects.md @@ -0,0 +1,4 @@ +The projects ending in *-Designer.csproj are old-style csproj files +that allow to open WinForms files in the Designer in Visual Studio. +These projects don't get built from these csproj files, but have +a sdk-style csproj file that's included in the build. \ No newline at end of file diff --git a/SIL.Archiving/SIL.Archiving-Designer.csproj b/SIL.Archiving/SIL.Archiving-Designer.csproj new file mode 100644 index 000000000..101083876 --- /dev/null +++ b/SIL.Archiving/SIL.Archiving-Designer.csproj @@ -0,0 +1,182 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD} + Library + Properties + SIL.Archiving + SIL.Archiving + v4.6.1 + 6 + 512 + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Archiving.XML + 1591 + false + + + pdbonly + true + bin-Designer\Release\ + TRACE + prompt + 4 + + + + + false + + + + ..\packages\DotNetZip.1.13.3\lib\net40\DotNetZip.dll + True + + + ..\packages\L10NSharp.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + ArchivingDlg.cs + + + + + + + + + + + Form + + + + + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + True + True + Settings.settings + + + + + ArchivingDlg.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} + SIL.Windows.Forms + + + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA} + SIL.WritingSystems + + + + + + + Designer + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIL.Archiving/packages.config b/SIL.Archiving/packages.config new file mode 100644 index 000000000..6438d2c6d --- /dev/null +++ b/SIL.Archiving/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/SIL.Core.Desktop/SIL.Core.Desktop.csproj b/SIL.Core.Desktop/SIL.Core.Desktop.csproj index 3615c5935..5fbb7e288 100644 --- a/SIL.Core.Desktop/SIL.Core.Desktop.csproj +++ b/SIL.Core.Desktop/SIL.Core.Desktop.csproj @@ -37,4 +37,17 @@ + + + True + True + ErrorReportSettings.settings + + + + + SettingsSingleFileGenerator + ErrorReportSettings.Designer.cs + + diff --git a/SIL.Media.Tests/SIL.Media.Tests-Designer.csproj b/SIL.Media.Tests/SIL.Media.Tests-Designer.csproj new file mode 100644 index 000000000..31426180b --- /dev/null +++ b/SIL.Media.Tests/SIL.Media.Tests-Designer.csproj @@ -0,0 +1,150 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {800ED1E6-53B2-43C4-AFA6-872625076332} + WinExe + Properties + SIL.Media.Tests + SIL.Media.Tests + v4.6.1 + 6 + 512 + + + + + 3.5 + + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + AnyCPU + + + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + + + + + + + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll + + + ..\packages\NUnit.2.6.4\lib\nunit.framework.dll + + + False + + + + + + + + + True + True + Resources.resx + + + Form + + + SampleForm.cs + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + SampleForm.cs + Designer + + + + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {66B3504A-3B4E-45CB-903A-A9A75B22EF68} + SIL.Media + + + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} + SIL.Core.Tests + + + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} + SIL.TestUtilities + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIL.Media.Tests/packages.config b/SIL.Media.Tests/packages.config new file mode 100644 index 000000000..f231c72c7 --- /dev/null +++ b/SIL.Media.Tests/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SIL.Media/SIL.Media-Designer.csproj b/SIL.Media/SIL.Media-Designer.csproj new file mode 100644 index 000000000..d093d8031 --- /dev/null +++ b/SIL.Media/SIL.Media-Designer.csproj @@ -0,0 +1,248 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {D6E7D28F-72F8-48C8-A4AB-452A1431847F} + Library + Properties + SIL.Media + SIL.Media + 512 + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + v4.6.1 + 6 + + true + true + obj\Designer + + + True + full + False + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Media.xml + AnyCPU + + + 1591 + false + + + pdbonly + True + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + False + + + + + + + + + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll + + + + + Always + + + Always + + + + + + + + + + + + + True + True + AudioDeviceIcons.resx + + + Component + + + PeakMeterCtrl.cs + + + UserControl + + + RecordingDeviceIndicator.cs + + + + + + + + + + + + + + + UserControl + + + ShortSoundFieldControl.cs + + + + True + True + Resources.resx + + + UserControl + + + SoundFieldControl.cs + + + + + + + + ResXFileCodeGenerator + AudioDeviceIcons.Designer.cs + Designer + + + RecordingDeviceIndicator.cs + + + + + ShortSoundFieldControl.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + SoundFieldControl.cs + Designer + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + + + + + + + + + + + + + + + + + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + + + + + + \ No newline at end of file diff --git a/SIL.Media/packages.config b/SIL.Media/packages.config new file mode 100644 index 000000000..ccacfed58 --- /dev/null +++ b/SIL.Media/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj new file mode 100644 index 000000000..cbb46d81a --- /dev/null +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj @@ -0,0 +1,118 @@ + + + + + Debug + AnyCPU + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9} + Library + Properties + SIL.Windows.Forms.DblBundle + SIL.Windows.Forms.DblBundle + v4.6.2 + 6 + 512 + + + true + true + obj\Designer + + + AnyCPU + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Windows.Forms.DblBundle.XML + false + + + AnyCPU + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + false + + + + + + + ..\packages\L10NSharp.tmx.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + + + + + + + + + + + + + UserControl + + + ProjectsListBase.cs + + + + + ProjectsListBase.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {d4f0f320-faf6-4775-8411-4d03fae99f84} + SIL.DblBundle + + + {78bfb566-7bc9-460c-8f5d-7333192bdee6} + SIL.Windows.Forms-Designer + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj new file mode 100644 index 000000000..4c40aecd8 --- /dev/null +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj @@ -0,0 +1,90 @@ + + + + Debug + AnyCPU + {9CD88656-640A-4143-A9E7-6ACA604609A3} + Library + SIL.Windows.Forms.GeckoBrowserAdapter + v4.6.1 + 6 + + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG; + prompt + 4 + false + SIL.Windows.Forms.GeckoBrowserAdapter + AnyCPU + 1591 + bin-Designer\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML + false + + + pdbonly + true + bin-Designer\Release + prompt + 4 + false + SIL.WindowsForms.GeckoBrowserAdapter + true + AnyCPU + false + + + + + + + + + + UserControl + + + + + UserControl + + + UserControl + + + + + + + + + + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj new file mode 100644 index 000000000..caf58d4e5 --- /dev/null +++ b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj @@ -0,0 +1,178 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8} + Library + Properties + SIL.Windows.Forms.Scripture + SIL.Windows.Forms.Scripture + + + 3.5 + + + false + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + bin-Designer\Debug\SIL.Windows.Forms.Scripture.xml + prompt + true + 4 + AllRules.ruleset + AnyCPU + 1591 + false + + + pdbonly + true + bin-Designer\Release\ + TRACE + prompt + true + 4 + AllRules.ruleset + bin-Designer\Release\SIL.Windows.Forms.Scripture.xml + AnyCPU + 1591 + false + + + + + 3.5 + + + + + + + + + Form + + + Component + + + True + True + Resources.resx + + + + UserControl + + + Form + + + Component + + + UserControl + + + VerseControl.cs + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + ScrPassageControl.cs + Designer + + + ScrPassageDropDown.cs + Designer + + + VerseControl.cs + Designer + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {f71ba7b9-d9dc-4f8c-a307-87b503d0e05b} + SIL.Scripture + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj new file mode 100644 index 000000000..bb45352df --- /dev/null +++ b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj @@ -0,0 +1,218 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {E7BD6834-F0A2-4966-A459-629D43BA5399} + Library + Properties + SIL.Windows.Forms.Tests + SIL.Windows.Forms.Tests + + + + + 3.5 + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + true + true + obj\Designer + true + ../palaso.snk + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + AnyCPU + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll + + + + + 3.5 + + + + + + ..\packages\NUnit.2.6.4\lib\nunit.framework.dll + + + + + + + + + + + + + + + + + + + + + + + + + True + True + TestImages.resx + + + + + + + + ResXFileCodeGenerator + TestImages.Designer.cs + + + DialogWithLinkToSettings.cs + Designer + + + DialogWithSomeSettings.cs + + + SuperToolTipTestForm.cs + Designer + + + True + True + Settings.settings + + + + Form + + + DialogWithLinkToSettings.cs + + + Form + + + DialogWithSomeSettings.cs + + + + + + + Form + + + SuperToolTipTestForm.cs + + + + + + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} + SIL.TestUtilities + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + + + + Always + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.Tests/packages.config b/SIL.Windows.Forms.Tests/packages.config new file mode 100644 index 000000000..f33b7677d --- /dev/null +++ b/SIL.Windows.Forms.Tests/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj new file mode 100644 index 000000000..3e2aa12b1 --- /dev/null +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj @@ -0,0 +1,321 @@ + + + + Debug + AnyCPU + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA} + Library + Properties + SIL.Windows.Forms.WritingSystems + SIL.Windows.Forms.WritingSystems + 3.5 + v4.6.1 + 6 + 512 + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Windows.Forms.WritingSystems.XML + AnyCPU + + + 1591 + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + + + 3.5 + + + + + + + ..\packages\Enchant.Net.1.4.2\lib\net461\Enchant.Net.dll + + + ..\packages\L10NSharp.tmx.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + + + Form + + + CannotFindMyLanguageDialog.cs + + + Form + + + DeleteInputSystemDialog.cs + + + Form + + + LanguageLookupDialog.cs + + + + UserControl + + + LanguageLookupControl.cs + + + + Form + + + ScriptsAndVariantsDialog.cs + + + + Form + + + WritingSystemSetupDialog.cs + + + + + UserControl + + + WritingSystemSetupView.cs + + + UserControl + + + WSAddDuplicateMoreButtonBar.cs + + + UserControl + + + WSFontControl.cs + + + UserControl + + + CustomIdentifierView.cs + + + UserControl + + + IpaIdentifierView.cs + + + UserControl + + + NothingSpecialView.cs + + + UserControl + + + ScriptRegionVariantView.cs + + + UserControl + + + UnlistedLanguageView.cs + + + UserControl + + + VoiceIdentifierView.cs + + + UserControl + + + WSIdentifierView.cs + + + UserControl + + + WSKeyboardControl.cs + + + Component + + + WSPickerUsingComboBox.cs + + + UserControl + + + WSPickerUsingListView.cs + + + UserControl + + + WSPropertiesTabControl.cs + + + UserControl + + + WSSortControl.cs + + + UserControl + + + WSSpellingControl.cs + + + Form + + + GetDialectNameDialog.cs + + + + + + + UserControl + + + WritingSystemTreeView.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {0580ed5f-6274-4928-83ee-175f01ad052d} + SIL.Windows.Forms.Keyboarding + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + CannotFindMyLanguageDialog.cs + + + DeleteInputSystemDialog.cs + + + LanguageLookupDialog.cs + + + LanguageLookupControl.cs + + + ScriptsAndVariantsDialog.cs + + + WritingSystemSetupDialog.cs + + + WritingSystemSetupView.cs + + + WSAddDuplicateMoreButtonBar.cs + + + WSFontControl.cs + + + CustomIdentifierView.cs + + + IpaIdentifierView.cs + + + NothingSpecialView.cs + + + ScriptRegionVariantView.cs + + + UnlistedLanguageView.cs + + + VoiceIdentifierView.cs + + + WSIdentifierView.cs + + + WSKeyboardControl.cs + + + WSPickerUsingComboBox.cs + + + WSPickerUsingListView.cs + + + WSPropertiesTabControl.cs + + + WSSortControl.cs + + + WSSpellingControl.cs + + + GetDialectNameDialog.cs + + + WritingSystemTreeView.cs + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj b/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj new file mode 100644 index 000000000..fdeb45062 --- /dev/null +++ b/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj @@ -0,0 +1,919 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {78BFB566-7BC9-460C-8F5D-7333192BDEE6} + Library + Properties + SIL.Windows.Forms + SIL.Windows.Forms + + + + + 3.5 + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + ..\ + true + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Windows.Forms.xml + AnyCPU + + + 1591 + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + ..\packages\Enchant.Net.1.4.2\lib\net461\Enchant.Net.dll + + + ..\packages\L10NSharp.tmx.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll + + + + False + False + ..\lib\Release\Interop.WIA.dll + + + + + False + + + False + + + False + + + False + + + False + + + False + + + + + ..\packages\GtkSharp.3.22.24.37\lib\netstandard2.0\GtkSharp.dll + + + ..\packages\GdkSharp.3.22.24.37\lib\netstandard2.0\GdkSharp.dll + + + ..\packages\GLibSharp.3.22.24.37\lib\netstandard2.0\GLibSharp.dll + + + ..\packages\GioSharp.3.22.24.37\lib\netstandard2.0\GioSharp.dll + + + ..\packages\Mono.Posix.5.4.0.201\build\net45\win\Mono.Posix.dll + + + + + ..\packages\DialogAdapters.0.1.3.26068\lib\net45\DialogAdapters.dll + + + ..\packages\MarkdownDeep.NET.Patched.1.5.0.1\lib\net35\MarkdownDeep.dll + True + + + + + + + + + + + + + + ..\packages\TagLibSharp-patched.2.2.0-beta.1\lib\netstandard2.0\taglib-sharp.dll + + + + + + + + SettingsSingleFileGenerator + LogBoxSettings.Designer.cs + + + PublicSettingsSingleFileGenerator + Registration.Designer.cs + + + PublicSettingsSingleFileGenerator + SettingsProtectionSettings.Designer.cs + + + + + + Component + + + + + + UserControl + + + ContributorsListControl.cs + + + + + Form + + + FadingMessageForm.cs + + + + + + + Form + + + MetadataEditorDialog.cs + + + + + + + + + + + UserControl + + + FileDialogControlBase.cs + + + UserControl + + + + + Form + + + ConfirmRecycleDialog.cs + + + + UserControl + + + + + + + + + Component + + + LocalizationHelper.cs + + + + + Component + + + ListViewThumbnailViewer.cs + + + UserControl + + + UserControl + + + AcquireImageControl.cs + + + UserControl + + + ImageGalleryControl.cs + + + + + + UserControl + + + ImageCropper.cs + + + UserControl + + + MetadataDisplayControl.cs + + + Component + + + True + True + ImageToolboxSettings.settings + + + UserControl + + + ImageToolboxControl.cs + + + Form + + + ImageToolboxDialog.cs + + + + True + True + LicenseLogos.resx + + + UserControl + + + MetadataEditorControl.cs + + + + True + True + ImageToolboxButtons.resx + + + True + True + SampleImages.resx + + + + + Form + + + + Form + + + SILAboutBox.cs + + + + Form + + + Form + + + UserRegistrationDialog.cs + + + + + + + + Form + + + SimpleMessageDialog.cs + + + + + + + + + UserControl + + + LogBox.cs + + + Form + + + + + + + + Resources.resx + True + True + + + + + True + True + Registration.settings + + + Component + + + SettingsProtectionHelper.cs + + + Form + + + SettingsPasswordDialog.cs + + + True + True + SettingsProtectionIcons.resx + + + UserControl + + + SettingsLauncherButton.cs + + + Form + + + SettingProtectionDialog.cs + + + + True + True + SettingsProtectionSettings.settings + + + UserControl + + + SettingsProtectionLauncherButton.cs + + + Form + + + ShowReleaseNotesDialog.cs + + + + Form + + + dlgSuperToolTipEditor.cs + + + Component + + + SuperToolTip.cs + + + + + UserControl + + + SuperToolTipWindowData.cs + + + Component + + + Component + + + BetterCheckedListBox.cs + + + Component + + + + + Component + + + Component + + + + + + + Component + + + BetterLabel.cs + + + Component + + + Component + + + UserControl + + + ControlListBox.cs + + + Component + + + Component + + + Component + + + + Component + + + Component + + + Component + + + UserControl + + + HtmlLabel.cs + + + Component + + + + + Component + + + Component + + + StdTextInputBox.cs + + + UserControl + + + Form + + + + LogBoxResources.resx + True + True + + + LogBoxSettings.settings + True + True + + + Form + + + ProblemNotificationDialog.cs + + + Form + + + ProxyCredentialsRequestDialog.cs + + + Component + + + Component + + + + + + + Component + + + + + + + Component + + + + + Designer + + + ContributorsListControl.cs + Designer + + + FadingMessageForm.cs + Designer + + + MetadataEditorDialog.cs + + + FileDialogControlBase.cs + + + ConfirmRecycleDialog.cs + Designer + + + FolderBrowserControl.cs + Designer + + + AcquireImageControl.cs + Designer + + + ImageGalleryControl.cs + Designer + + + ImageCropper.cs + Designer + + + MetadataDisplayControl.cs + Designer + + + ResXFileCodeGenerator + ImageToolboxButtons.Designer.cs + Designer + + + ImageToolboxControl.cs + Designer + + + ImageToolboxDialog.cs + Designer + + + ResXFileCodeGenerator + LicenseLogos.Designer.cs + Designer + + + MetadataEditorControl.cs + Designer + + + ResXFileCodeGenerator + SampleImages.Designer.cs + Designer + + + SILAboutBox.cs + + + UsageEmailDialog.cs + + + UserRegistrationDialog.cs + + + LogBox.cs + Designer + + + ProgressDialog.cs + Designer + + + Designer + PublicResXFileCodeGenerator + Resources1.Designer.cs + + + ShowReleaseNotesDialog.cs + + + SettingsProtectionHelper.cs + + + SettingsPasswordDialog.cs + + + ResXFileCodeGenerator + SettingsProtectionIcons.Designer.cs + Designer + + + SettingsLauncherButton.cs + + + SettingProtectionDialog.cs + + + SettingsProtectionLauncherButton.cs + + + SimpleMessageDialog.cs + + + dlgSuperToolTipEditor.cs + Designer + + + SuperToolTipWindowData.cs + Designer + + + BetterCheckedListBox.cs + + + BetterLabel.cs + Designer + + + BitmapButton.cs + + + ControlListBox.cs + Designer + + + HtmlLabel.cs + + + StdTextInputBox.cs + + + ExceptionReportingDialog.cs + Designer + + + ResXFileCodeGenerator + LogBoxResources.Designer.cs + Designer + + + ProblemNotificationDialog.cs + Designer + + + ProxyCredentialsRequestDialog.cs + Designer + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + 3.5 + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + SettingsSingleFileGenerator + ImageToolboxSettings.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms/packages.config b/SIL.Windows.Forms/packages.config new file mode 100644 index 000000000..e0bbd6485 --- /dev/null +++ b/SIL.Windows.Forms/packages.config @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj b/TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj new file mode 100644 index 000000000..95d7ee094 --- /dev/null +++ b/TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj @@ -0,0 +1,99 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {92088975-691B-45E7-A6EB-2B0F02C1AA10} + WinExe + Properties + FastSplitterTest + FastSplitterTest + v4.6.1 + 6 + 512 + + + true + true + obj\Designer + + + true + bin-Designer\Debug\ + DEBUG;TRACE + full + AnyCPU + bin\Debug\FastSplitterTest.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + false + false + false + + + bin-Designer\Release\ + TRACE + true + pdbonly + AnyCPU + bin\Release\FastSplitterTest.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + true + false + false + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + Form1.cs + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + + + + + + \ No newline at end of file diff --git a/TestApps/ReportingTest/Reporting.TestApp-Designer.csproj b/TestApps/ReportingTest/Reporting.TestApp-Designer.csproj new file mode 100644 index 000000000..af0a2bcc8 --- /dev/null +++ b/TestApps/ReportingTest/Reporting.TestApp-Designer.csproj @@ -0,0 +1,194 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {61A11571-7E4B-4B35-AB5A-21814C6D44B4} + WinExe + Properties + TestApp + TestApp + + + + + 3.5 + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + true + true + obj\Designer + + + true + full + false + bin-Designer\$(Configuration) + DEBUG;TRACE + prompt + 4 + WinExe + TestApp + true + AnyCPU + + + false + + + pdbonly + true + bin-Designer\$(Configuration) + TRACE + prompt + 4 + WinExe + true + TestApp + true + AnyCPU + false + + + + + + 3.5 + + + + + + + + + + Form + + + FastXmlSplitterTestForm.cs + + + Form + + + Form1.cs + + + + FastXmlSplitterTestForm.cs + + + Form1.cs + Designer + + + Designer + ResXFileCodeGenerator + Resources.Designer.cs + + + WritingSystemPickerTestForm.cs + Designer + + + WritingSystemTest.cs + Designer + + + Resources.resx + + + + SettingsSingleFileGenerator + Settings1.Designer.cs + + + True + True + Settings.settings + + + + Form + + + WritingSystemPickerTestForm.cs + + + Form + + + WritingSystemTest.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {66B3504A-3B4E-45CB-903A-A9A75B22EF68} + SIL.Media + + + {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} + SIL.Windows.Forms.WritingSystems + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj new file mode 100644 index 000000000..96c934d2e --- /dev/null +++ b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj @@ -0,0 +1,101 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {26250929-0BFE-435F-A1CE-6F082EC97D3A} + WinExe + Properties + SIL.Email.TestApp + SIL.Email.TestApp + v4.6.1 + 6 + 512 + + + 3.5 + + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + false + + + pdbonly + true + bin-Designer\Release\ + TRACE + prompt + 4 + AnyCPU + false + + + + + + + + + + Form + + + Form1.cs + + + + Form1.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + + + \ No newline at end of file diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj new file mode 100644 index 000000000..7d48b5662 --- /dev/null +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj @@ -0,0 +1,144 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {71407727-8774-4871-BF9C-BFFF8DE884DC} + WinExe + Properties + SIL.Windows.Forms.TestApp + SIL.Windows.Forms.TestApp + + + + + 3.5 + v4.6.1 + 6 + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + prompt + 4 + false + x86 + + false + + + pdbonly + true + bin-Designer\Release\ + TRACE;TESTING_WS + prompt + 4 + AnyCPU + false + + + + ..\..\packages\L10NSharp.3.1.0-nuget0010\lib\net461\L10NSharp.dll + True + + + + 3.5 + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + TestAppForm.cs + SIL.FieldWorks.TestApp.resources + + + Form + + + TestAppForm.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {fad20de2-d5bb-4d9d-aeef-61f02663105f} + SIL.Lexicon + + + {66B3504A-3B4E-45CB-903A-A9A75B22EF68} + SIL.Media + + + {0580ed5f-6274-4928-83ee-175f01ad052d} + SIL.Windows.Forms.Keyboarding + + + {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} + SIL.Windows.Forms.WritingSystems + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/TestApps/SIL.Windows.Forms.TestApp/packages.config b/TestApps/SIL.Windows.Forms.TestApp/packages.config new file mode 100644 index 000000000..b10505710 --- /dev/null +++ b/TestApps/SIL.Windows.Forms.TestApp/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj b/TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj new file mode 100644 index 000000000..14b20fddd --- /dev/null +++ b/TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj @@ -0,0 +1,150 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F} + WinExe + Properties + TestAppKeyboard + TestAppKeyboard + v4.6.1 + 6 + 512 + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + true + true + obj\Designer + + + true + full + false + bin-Designer\$(Configuration) + DEBUG;TRACE + prompt + 4 + AnyCPU + AllRules.ruleset + false + + + pdbonly + true + bin-Designer\$(Configuration) + TRACE + prompt + 4 + AllRules.ruleset + AnyCPU + false + + + + ..\..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll + + + + + + 3.5 + + + + + + + Form + + + KeyboardForm.cs + + + + KeyboardForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {0580ed5f-6274-4928-83ee-175f01ad052d} + SIL.Windows.Forms.Keyboarding + + + {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} + SIL.Windows.Forms.WritingSystems + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + \ No newline at end of file diff --git a/packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config b/packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config deleted file mode 100644 index e9203a203..000000000 --- a/packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - From 53ab2e3db1b696f59eac3c2fae6a63fc6296c71b Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 22 Mar 2019 12:04:12 +0100 Subject: [PATCH 39/49] Remove Jenkinsfile --- Jenkinsfile | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index b37e550e2..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,17 +0,0 @@ -#!groovy -// Copyright (c) 2019 SIL International -// This software is licensed under the MIT license (http://opensource.org/licenses/MIT) - -@Library('lsdev-pipeline-library') _ - -xplatformBuildAndRunTests { - buildFileName = 'build/Palaso.proj' - winNodeSpec = 'windows && supported && vs2017' - linuxNodeSpec = 'linux64 && !packager && ubuntu && mono5' - winTool = 'msbuild15' - linuxTool = 'mono-msbuild15' - configuration = 'Release' - uploadNuGet = true - restorePackages = true - clean = true -} From 23d4cac0a21794c643d8a1688af70efca4a2e885 Mon Sep 17 00:00:00 2001 From: Jason Naylor Date: Mon, 25 Mar 2019 13:05:02 -0500 Subject: [PATCH 40/49] Clean-up AudioSession API * Make session classes internal * Re-name IrrKlangSession to match the current purpose --- SIL.Media/AlsaAudio/AudioAlsaSession.cs | 2 +- SIL.Media/AudioFactory.cs | 2 +- .../{AudioIrrKlangSession.cs => WindowsAudioSession.cs} | 7 ++----- 3 files changed, 4 insertions(+), 7 deletions(-) rename SIL.Media/{AudioIrrKlangSession.cs => WindowsAudioSession.cs} (96%) diff --git a/SIL.Media/AlsaAudio/AudioAlsaSession.cs b/SIL.Media/AlsaAudio/AudioAlsaSession.cs index ad1f21bf6..6e0e71c2c 100644 --- a/SIL.Media/AlsaAudio/AudioAlsaSession.cs +++ b/SIL.Media/AlsaAudio/AudioAlsaSession.cs @@ -10,7 +10,7 @@ namespace SIL.Media.AlsaAudio /// Implementation of ISimpleAudioSession that uses the standard ALSA sound /// library on Linux. /// - public class AudioAlsaSession : ISimpleAudioSession + internal class AudioAlsaSession : ISimpleAudioSession { DateTime _startRecordingTime = DateTime.MinValue; DateTime _stopRecordingTime = DateTime.MinValue; diff --git a/SIL.Media/AudioFactory.cs b/SIL.Media/AudioFactory.cs index a0a5ab1be..23b5e18de 100644 --- a/SIL.Media/AudioFactory.cs +++ b/SIL.Media/AudioFactory.cs @@ -20,7 +20,7 @@ public static ISimpleAudioSession CreateAudioSession(string filePath) private static ISimpleAudioSession CreateIrrKlangSession(string filePath) { - return new AudioIrrKlangSession(filePath); + return new WindowsAudioSession(filePath); } [Obsolete("This was a unfortunate method name. Use CreateAudioSession Instead.")] diff --git a/SIL.Media/AudioIrrKlangSession.cs b/SIL.Media/WindowsAudioSession.cs similarity index 96% rename from SIL.Media/AudioIrrKlangSession.cs rename to SIL.Media/WindowsAudioSession.cs index cc80f8675..39dd8a530 100644 --- a/SIL.Media/AudioIrrKlangSession.cs +++ b/SIL.Media/WindowsAudioSession.cs @@ -5,8 +5,6 @@ using System.ComponentModel; using System.Diagnostics; using System.IO; -using System.Threading; -using System.Threading.Tasks; using IrrKlang; using NAudio.Wave; using SIL.Code; @@ -18,8 +16,7 @@ namespace SIL.Media /// A Windows implementation of an ISimpleAudioSession. /// Uses IrrKlang for recording and NAudio for playback. /// - /// This class should really be named WindowsAudioSession, and be internal. - public class AudioIrrKlangSession : ISimpleAudioSession, ISimpleAudioWithEvents + internal class WindowsAudioSession : ISimpleAudioSession, ISimpleAudioWithEvents { private readonly IAudioRecorder _recorder; private readonly ISoundEngine _engine = new ISoundEngine(); @@ -38,7 +35,7 @@ public class AudioIrrKlangSession : ISimpleAudioSession, ISimpleAudioWithEvents /// /// Constructor for an AudioSession using the IrrKlang library /// - public AudioIrrKlangSession(string filePath) + public WindowsAudioSession(string filePath) { Guard.AgainstNull(filePath, "filePath"); _soundFile = new SoundFile(filePath); From 69ac3031b82cf832911314dc9324b98fa6459ebe Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 27 Mar 2019 11:32:13 +0100 Subject: [PATCH 41/49] SIL.Media refactorings Move IAudioPlayer, IAudioRecorder, IRecordingDevice, RecordingState to SIL.Media namespace. --- CHANGELOG.md | 7 ++++- SIL.Media/AlsaAudio/AudioRecorder.cs | 34 ++++++++++------------ SIL.Media/AlsaAudio/RecordingDevice.cs | 1 - SIL.Media/{Naudio => }/IAudioPlayer.cs | 2 +- SIL.Media/{Naudio => }/IAudioRecorder.cs | 4 +-- SIL.Media/{Naudio => }/IRecordingDevice.cs | 4 ++- SIL.Media/{Naudio => }/RecordingState.cs | 2 +- SIL.Media/WindowsAudioSession.cs | 6 ++-- 8 files changed, 30 insertions(+), 30 deletions(-) rename SIL.Media/{Naudio => }/IAudioPlayer.cs (94%) rename SIL.Media/{Naudio => }/IAudioRecorder.cs (93%) rename SIL.Media/{Naudio => }/IRecordingDevice.cs (60%) rename SIL.Media/{Naudio => }/RecordingState.cs (80%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6dbe1f901..839098d33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,9 +20,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Create nuget packages - [SIL.Media] `IAudioRecorder.SelectedDevice` now returns a `IRecordingDevice` which both the - NAudio and AlsaAudio `RecordingDevice` implement. This allows to use to use the same assembly + NAudio and AlsaAudio `RecordingDevice` implement. This allows to use the same assembly on both Windows and Linux (although the limitations what works and what doesn't work remain the same) +- [SIL.Media] cleanup of `AudioSession` API: rename `AudioIrrKlangSession` to `WindowsAudioSession`. + `AudioAlsaSession` and `WindowsAudioSession` are now internal (they were never intended to + be used directly) +- [SIL.Media] move some interfaces around so that they live in `SIL.Media` instead of + `SIL.Media.Naudio`: `IAudioRecorder`, `RecordingState`, `IAudioPlayer` ### Added diff --git a/SIL.Media/AlsaAudio/AudioRecorder.cs b/SIL.Media/AlsaAudio/AudioRecorder.cs index 14a3b244c..0d60cedb3 100644 --- a/SIL.Media/AlsaAudio/AudioRecorder.cs +++ b/SIL.Media/AlsaAudio/AudioRecorder.cs @@ -1,13 +1,9 @@ -// Copyright (c) 2017 SIL International +// Copyright (c) 2017-2019 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Runtime.InteropServices; -using System.Threading; using NAudio.Wave; -using SIL.Media.Naudio; namespace SIL.Media.AlsaAudio { @@ -16,22 +12,22 @@ namespace SIL.Media.AlsaAudio /// figure out how to implement (or which aren't needed by AlsaAudio) have do-nothing stubs to allow /// source code compatibility. This implementation may or may not be useful outside of Bloom. /// - public class AudioRecorder : SIL.Media.Naudio.IAudioRecorder, IDisposable + public class AudioRecorder : IAudioRecorder, IDisposable { // variables copied from SIL.Media.Naudio implementation. protected readonly int _maxMinutes; - protected SIL.Media.Naudio.RecordingState _recordingState = SIL.Media.Naudio.RecordingState.NotYetStarted; + protected RecordingState _recordingState = RecordingState.NotYetStarted; //private DateTime _recordingStartTime; //private DateTime _recordingStopTime; public TimeSpan RecordedTime { get; set; } #pragma warning disable CS0067 - public event EventHandler PeakLevelChanged; // IGNORED, not used anyway - public event EventHandler RecordingProgress; // IGNORED, not used anyway + public event EventHandler PeakLevelChanged; // IGNORED, not used anyway + public event EventHandler RecordingProgress; // IGNORED, not used anyway public event EventHandler RecordingStarted; // IGNORED, not used anyway public event EventHandler SelectedDeviceChanged; // IGNORED, not used anyway #pragma warning restore CS0067 /// Fired when the transition from recording to monitoring is complete - public event Action Stopped; + public event Action Stopped; // variables added for this Alsa implementation. private AudioAlsaSession _session; @@ -53,7 +49,7 @@ protected virtual void Dispose(bool disposing) _session.StopRecordingAndSaveAsWav(); _session = null; } - RecordingState = SIL.Media.Naudio.RecordingState.NotYetStarted; + RecordingState = RecordingState.NotYetStarted; } public void Dispose() @@ -65,7 +61,7 @@ public void Dispose() } } - public virtual Naudio.RecordingState RecordingState + public virtual RecordingState RecordingState { get { @@ -91,20 +87,20 @@ public void BeginMonitoring() lock (lockObj) { // Alsa is too simple-minded to really need this, but let's play along. - RecordingState = SIL.Media.Naudio.RecordingState.Monitoring; + RecordingState = RecordingState.Monitoring; } } public virtual void BeginRecording(string waveFileName) { - if (_recordingState == SIL.Media.Naudio.RecordingState.NotYetStarted) + if (_recordingState == RecordingState.NotYetStarted) BeginMonitoring(); - if (_recordingState != SIL.Media.Naudio.RecordingState.Monitoring) + if (_recordingState != RecordingState.Monitoring) throw new InvalidOperationException("Can't begin recording while we are in this state: " + _recordingState.ToString()); lock (lockObj) { - RecordingState = SIL.Media.Naudio.RecordingState.Recording; + RecordingState = RecordingState.Recording; _session = new AudioAlsaSession(waveFileName); var device = "default"; if (SelectedDevice != null && !SelectedDevice.Equals(RecordingDevice.DefaultDevice)) @@ -118,13 +114,13 @@ public virtual void Stop() { lock (lockObj) { - if (_recordingState == SIL.Media.Naudio.RecordingState.Recording) + if (_recordingState == RecordingState.Recording) { // _recordingStopTime = DateTime.Now; - RecordingState = SIL.Media.Naudio.RecordingState.RequestedStop; + RecordingState = RecordingState.RequestedStop; Debug.WriteLine("Setting RequestedStop"); _session.StopRecordingAndSaveAsWav(); - RecordingState = SIL.Media.Naudio.RecordingState.Monitoring; // not really, but who cares? + RecordingState = RecordingState.Monitoring; // not really, but who cares? if (Stopped != null) Stopped(this, null); } diff --git a/SIL.Media/AlsaAudio/RecordingDevice.cs b/SIL.Media/AlsaAudio/RecordingDevice.cs index 6a904d53b..d12a7b98c 100644 --- a/SIL.Media/AlsaAudio/RecordingDevice.cs +++ b/SIL.Media/AlsaAudio/RecordingDevice.cs @@ -5,7 +5,6 @@ using System.Diagnostics; using System.Runtime.InteropServices; using NAudio.Wave; -using SIL.Media.Naudio; namespace SIL.Media.AlsaAudio { diff --git a/SIL.Media/Naudio/IAudioPlayer.cs b/SIL.Media/IAudioPlayer.cs similarity index 94% rename from SIL.Media/Naudio/IAudioPlayer.cs rename to SIL.Media/IAudioPlayer.cs index cd95531f5..e5db5e853 100644 --- a/SIL.Media/Naudio/IAudioPlayer.cs +++ b/SIL.Media/IAudioPlayer.cs @@ -1,6 +1,6 @@ using System; -namespace SIL.Media.Naudio +namespace SIL.Media { public class PlaybackProgressEventArgs : EventArgs { diff --git a/SIL.Media/Naudio/IAudioRecorder.cs b/SIL.Media/IAudioRecorder.cs similarity index 93% rename from SIL.Media/Naudio/IAudioRecorder.cs rename to SIL.Media/IAudioRecorder.cs index 7590087dd..d8ebe375a 100644 --- a/SIL.Media/Naudio/IAudioRecorder.cs +++ b/SIL.Media/IAudioRecorder.cs @@ -1,10 +1,10 @@ -// Copyright (c) 2017 SIL International +// Copyright (c) 2017-2019 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; using System.IO; using NAudio.Wave; -namespace SIL.Media.Naudio +namespace SIL.Media { public class PeakLevelEventArgs : EventArgs { diff --git a/SIL.Media/Naudio/IRecordingDevice.cs b/SIL.Media/IRecordingDevice.cs similarity index 60% rename from SIL.Media/Naudio/IRecordingDevice.cs rename to SIL.Media/IRecordingDevice.cs index a577b2192..c768d8200 100644 --- a/SIL.Media/Naudio/IRecordingDevice.cs +++ b/SIL.Media/IRecordingDevice.cs @@ -1,6 +1,8 @@ +// Copyright (c) 2019 SIL International +// This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using NAudio.Wave; -namespace SIL.Media.Naudio +namespace SIL.Media { public interface IRecordingDevice { diff --git a/SIL.Media/Naudio/RecordingState.cs b/SIL.Media/RecordingState.cs similarity index 80% rename from SIL.Media/Naudio/RecordingState.cs rename to SIL.Media/RecordingState.cs index 1981871d6..f3a6ceb9d 100644 --- a/SIL.Media/Naudio/RecordingState.cs +++ b/SIL.Media/RecordingState.cs @@ -1,4 +1,4 @@ -namespace SIL.Media.Naudio +namespace SIL.Media { public enum RecordingState { diff --git a/SIL.Media/WindowsAudioSession.cs b/SIL.Media/WindowsAudioSession.cs index 39dd8a530..76d1f2b44 100644 --- a/SIL.Media/WindowsAudioSession.cs +++ b/SIL.Media/WindowsAudioSession.cs @@ -3,12 +3,10 @@ using System; using System.ComponentModel; -using System.Diagnostics; using System.IO; using IrrKlang; using NAudio.Wave; using SIL.Code; -using IAudioRecorder = IrrKlang.IAudioRecorder; namespace SIL.Media { @@ -18,7 +16,7 @@ namespace SIL.Media /// internal class WindowsAudioSession : ISimpleAudioSession, ISimpleAudioWithEvents { - private readonly IAudioRecorder _recorder; + private readonly IrrKlang.IAudioRecorder _recorder; private readonly ISoundEngine _engine = new ISoundEngine(); private bool _thinkWeAreRecording; private DateTime _startRecordingTime; @@ -40,7 +38,7 @@ public WindowsAudioSession(string filePath) Guard.AgainstNull(filePath, "filePath"); _soundFile = new SoundFile(filePath); _engine.AddFileFactory(_soundFile); - _recorder = new IAudioRecorder(_engine); + _recorder = new IrrKlang.IAudioRecorder(_engine); _path = filePath; } public string FilePath From ff88b63cb4eaed5ccc9ccbfc3fd030ca4134f224 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 27 Mar 2019 11:33:40 +0100 Subject: [PATCH 42/49] Refactor getting program files directories in FFmpegRunner --- SIL.Media/FFmpegRunner.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/SIL.Media/FFmpegRunner.cs b/SIL.Media/FFmpegRunner.cs index 557dfca63..5b1a03e2b 100644 --- a/SIL.Media/FFmpegRunner.cs +++ b/SIL.Media/FFmpegRunner.cs @@ -58,16 +58,10 @@ static private string LocateFFmpeg() if (!string.IsNullOrEmpty(withApplicationDirectory) && File.Exists(withApplicationDirectory)) return withApplicationDirectory; - //nb: this is sensitive to whether we are compiled against win32 or not, - //not just the host OS, as you might guess. - var pf = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); - - - var progFileDirs = new List() - { - pf.Replace(" (x86)", ""), //native (win32 or 64, depending) - pf.Replace(" (x86)", "")+" (x86)" //win32 - }; + var progFileDirs = new List { + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + }; /* We DON't SUPPORT THIS ONE (it lacks some information on the output, at least as of * Julu 2010) From 58855831b8197c7939b7d43be9303ea96222173c Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 27 Mar 2019 11:34:11 +0100 Subject: [PATCH 43/49] Clearify next-version property in GitVersion.yml --- GitVersion.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/GitVersion.yml b/GitVersion.yml index 22e84c2a6..05250d741 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -19,4 +19,5 @@ branches: regex: feature[/-] mode: ContinuousDeployment tag: alpha +# Tell gitversion to use a version number >= next-version next-version: 6.1.0 From feb1b06a505aae8c1fc8f24acce570eb992fd2db Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 9 Apr 2019 11:44:33 +0200 Subject: [PATCH 44/49] Use new L10NSharp nuget package --- SIL.Archiving/SIL.Archiving.csproj | 2 +- .../SIL.Windows.Forms.DblBundle.csproj | 2 +- .../SIL.Windows.Forms.Keyboarding.csproj | 2 +- .../SIL.Windows.Forms.WritingSystems.csproj | 2 +- .../SIL.Windows.Forms-Designer.csproj | 6 ++++-- SIL.Windows.Forms/SIL.Windows.Forms.csproj | 2 +- SIL.Windows.Forms/packages.config | 14 +++++++------- TestApps/SIL.Windows.Forms.TestApp/Program.cs | 2 +- .../SIL.Windows.Forms.TestApp-Designer.csproj | 5 +++-- .../SIL.Windows.Forms.TestApp.csproj | 2 +- TestApps/SIL.Windows.Forms.TestApp/packages.config | 2 +- 11 files changed, 22 insertions(+), 19 deletions(-) diff --git a/SIL.Archiving/SIL.Archiving.csproj b/SIL.Archiving/SIL.Archiving.csproj index b30debc9d..45bd32460 100644 --- a/SIL.Archiving/SIL.Archiving.csproj +++ b/SIL.Archiving/SIL.Archiving.csproj @@ -24,7 +24,7 @@ all - + all diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj index 2f9a5377e..9e332b0e4 100644 --- a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj @@ -23,7 +23,7 @@ all - + all diff --git a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj index 887f00b61..f34bfd257 100644 --- a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj +++ b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj @@ -25,7 +25,7 @@ - + all diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj index 2ba98ff2b..a90053774 100644 --- a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj @@ -23,7 +23,7 @@ all - + all diff --git a/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj b/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj index fdeb45062..29331d3fc 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj @@ -68,8 +68,9 @@ ..\packages\Enchant.Net.1.4.2\lib\net461\Enchant.Net.dll - - ..\packages\L10NSharp.tmx.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + ..\packages\L10NSharp.4.0.0\lib\net461\L10NSharp.dll + True ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll @@ -134,6 +135,7 @@ + diff --git a/SIL.Windows.Forms/SIL.Windows.Forms.csproj b/SIL.Windows.Forms/SIL.Windows.Forms.csproj index 6e6726bda..022565118 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms.csproj @@ -26,7 +26,7 @@ all - + diff --git a/SIL.Windows.Forms/packages.config b/SIL.Windows.Forms/packages.config index e0bbd6485..f28bb6685 100644 --- a/SIL.Windows.Forms/packages.config +++ b/SIL.Windows.Forms/packages.config @@ -1,15 +1,15 @@  - - - - - + - - + + + + + + \ No newline at end of file diff --git a/TestApps/SIL.Windows.Forms.TestApp/Program.cs b/TestApps/SIL.Windows.Forms.TestApp/Program.cs index e578b6e41..6eb09d05f 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/Program.cs +++ b/TestApps/SIL.Windows.Forms.TestApp/Program.cs @@ -20,7 +20,7 @@ static void Main(string[] args) Application.SetCompatibleTextRenderingDefault(false); Sldr.Initialize(); var localizationFolder = Path.GetDirectoryName(FileLocationUtilities.GetFileDistributedWithApplication("Palaso.en.tmx")); - LocalizationManager.Create("fr", "Palaso", "Palaso", "1.0.0", localizationFolder, "SIL/Palaso", + LocalizationManager.Create(TranslationMemory.Tmx, "fr", "Palaso", "Palaso", "1.0.0", localizationFolder, "SIL/Palaso", null, ""); if(args.Length>0) //for testing commandlinerunner { diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj index 7d48b5662..aa0e7f713 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj @@ -46,8 +46,8 @@ false - - ..\..\packages\L10NSharp.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + ..\..\packages\L10NSharp.4.0.0\lib\net461\L10NSharp.dll True @@ -72,6 +72,7 @@ True + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj index b295049d3..528e6b5e6 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj @@ -20,7 +20,7 @@ all - + diff --git a/TestApps/SIL.Windows.Forms.TestApp/packages.config b/TestApps/SIL.Windows.Forms.TestApp/packages.config index b10505710..fb68f936d 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/packages.config +++ b/TestApps/SIL.Windows.Forms.TestApp/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file From f66e37a5e3b1b953ea7ac4b5b68a248776305340 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 9 Apr 2019 14:35:50 +0200 Subject: [PATCH 45/49] Add settings for Rider on Linux This allows to successfully build the solution on Ubuntu. --- Palaso.sln.DotSettings | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 Palaso.sln.DotSettings diff --git a/Palaso.sln.DotSettings b/Palaso.sln.DotSettings new file mode 100644 index 000000000..696da2b8c --- /dev/null +++ b/Palaso.sln.DotSettings @@ -0,0 +1,3 @@ + + /opt/mono5-sil/lib/mono/msbuild/15.0/bin/MSBuild.dll + /opt/mono5-sil/bin/mono-sil.sh \ No newline at end of file From 49b1217e22bce16e200fa1ba4c29d8de54ed010e Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 10 Apr 2019 09:47:57 +0200 Subject: [PATCH 46/49] Create SIL.WritingSystems.Tests nuget package This is needed for Chorus tests. --- .../SIL.WritingSystems.Tests.csproj | 12 ++++++++++-- SIL.WritingSystems/SIL.WritingSystems.csproj | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj b/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj index a921d1022..71259baef 100644 --- a/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj +++ b/SIL.WritingSystems.Tests/SIL.WritingSystems.Tests.csproj @@ -11,8 +11,10 @@ ../output/$(Configuration) true ../palaso.snk - false - true + MIT + https://github.com/sillsdev/libpalaso + false + ../output @@ -20,6 +22,12 @@ + + all + + + all + diff --git a/SIL.WritingSystems/SIL.WritingSystems.csproj b/SIL.WritingSystems/SIL.WritingSystems.csproj index a8392a2fb..2af8b76ea 100644 --- a/SIL.WritingSystems/SIL.WritingSystems.csproj +++ b/SIL.WritingSystems/SIL.WritingSystems.csproj @@ -24,7 +24,7 @@ all - + From f68f6ae69ce2ec0a203bc28c61f544e84f976885 Mon Sep 17 00:00:00 2001 From: Robin Munn Date: Fri, 14 Jun 2019 12:17:16 -0500 Subject: [PATCH 47/49] More Palaso-to-SIL renaming, mostly in comments Some commented-out code still used the old Palaso namespaces, and would cause compilation errors if it was ever uncommented and used. --- SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs | 2 +- SIL.Core.Desktop/IO/DirectoryUtilities.cs | 2 +- SIL.Core.Desktop/IO/FileUtils.cs | 2 +- SIL.Core.Desktop/Reporting/ErrorReport.cs | 6 +++--- SIL.Core.Desktop/Reporting/ErrorReportSettings.settings | 2 +- SIL.Core.Desktop/Reporting/ExceptionHandler.cs | 2 +- SIL.Core.Desktop/Reporting/UsageReporter.cs | 6 +++--- SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs | 2 +- SIL.Core/Progress/ProgressState.cs | 2 +- SIL.DictionaryServices.Tests/Model/LexRelationTests.cs | 2 +- SIL.DictionaryServices/Lift/LiftWriter.cs | 2 +- SIL.Lift/Validation/Validator.cs | 4 ++-- SIL.Media.Tests/SampleForm.Designer.cs | 2 +- SIL.Scripture.Tests/BCVRefTests.cs | 2 +- SIL.Scripture/BCVRef.cs | 2 +- SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs | 2 +- .../WritingSystemFromWindowsLocaleProvider.cs | 2 +- .../FileSystem/ConfirmRecycleDialog.designer.cs | 2 +- SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs | 2 +- SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs | 2 +- build/platform.targets | 2 +- 21 files changed, 26 insertions(+), 26 deletions(-) diff --git a/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs b/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs index 4c1a126c6..4b5e9f541 100644 --- a/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs +++ b/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs @@ -99,7 +99,7 @@ public void GetFormatted_TooFewParamsInCatalog_ShowsMessageAndReturnRightMessage { StringCatalog catalog = new StringCatalog(_poFile, null, 9); //todo: when palaso is upgraded to the other branch, we can add something like this - //using(new Palaso.Reporting.NonFatalErrorDialog()) + //using(new SIL.Reporting.NonFatalErrorDialog()) var answer = StringCatalog.GetFormatted("noParams", "blah blah","one"); Assert.AreEqual("!!first", answer); } diff --git a/SIL.Core.Desktop/IO/DirectoryUtilities.cs b/SIL.Core.Desktop/IO/DirectoryUtilities.cs index 6309990f3..3f87f7837 100644 --- a/SIL.Core.Desktop/IO/DirectoryUtilities.cs +++ b/SIL.Core.Desktop/IO/DirectoryUtilities.cs @@ -88,7 +88,7 @@ public static bool CopyDirectoryContents(string sourcePath, string destinationPa } catch (Exception e) { - //Review: generally, it's better if Palaso doesn't undertake to make these kind of UI decisions. + //Review: generally, it's better if SIL.Core doesn't undertake to make these kind of UI decisions. //I've extracted CopyDirectoryWithException, so as not to mess up whatever client is using this version ReportFailedCopyAndCleanUp(e, sourcePath, destinationPath); return false; diff --git a/SIL.Core.Desktop/IO/FileUtils.cs b/SIL.Core.Desktop/IO/FileUtils.cs index 14d1f73e0..f247671d4 100644 --- a/SIL.Core.Desktop/IO/FileUtils.cs +++ b/SIL.Core.Desktop/IO/FileUtils.cs @@ -110,7 +110,7 @@ private static bool GetIsSpecifiedFileType(StringCollection extensions, string p } /// - /// NB: This will show a dialog if the file writing can't be done (subject to Palaso.Reporting settings). + /// NB: This will show a dialog if the file writing can't be done (subject to SIL.Reporting settings). /// It will throw whatever exception was encountered, if the user can't resolve it. /// /// diff --git a/SIL.Core.Desktop/Reporting/ErrorReport.cs b/SIL.Core.Desktop/Reporting/ErrorReport.cs index 84fed9d27..d0aac1a5c 100644 --- a/SIL.Core.Desktop/Reporting/ErrorReport.cs +++ b/SIL.Core.Desktop/Reporting/ErrorReport.cs @@ -100,7 +100,7 @@ public static string GetWindowsVersionInfoFromNetworkAPI() private static IErrorReporter _errorReporter; - //We removed all references to Winforms from Palaso.dll but our error reporting relied heavily on it. + //We removed all references to Winforms from SIL.Core.dll but our error reporting relied heavily on it. //Not wanting to break existing applications we have now added this class initializer which will //look for a reference to SIL.Windows.Forms in the consuming app and if it exists instantiate the //WinformsErrorReporter from there through Reflection. otherwise we will simply use a console @@ -207,7 +207,7 @@ public static string UserFriendlyVersionString /// /// use this in unit tests to cleanly check that a message would have been shown. - /// E.g. using (new Palaso.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} + /// E.g. using (new SIL.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} /// public class NonFatalErrorReportExpected :IDisposable { @@ -236,7 +236,7 @@ public string Message /// /// use this in unit tests to cleanly check that a message would have been shown. - /// E.g. using (new Palaso.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} + /// E.g. using (new SIL.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} /// public class NoNonFatalErrorReportExpected : IDisposable { diff --git a/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings b/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings index 21cc4a918..47a4b5d8f 100644 --- a/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings +++ b/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings @@ -1,5 +1,5 @@  - + diff --git a/SIL.Core.Desktop/Reporting/ExceptionHandler.cs b/SIL.Core.Desktop/Reporting/ExceptionHandler.cs index 6a43f1a16..1fac3a1f3 100644 --- a/SIL.Core.Desktop/Reporting/ExceptionHandler.cs +++ b/SIL.Core.Desktop/Reporting/ExceptionHandler.cs @@ -18,7 +18,7 @@ public abstract class ExceptionHandler private static ExceptionHandler _singleton; // ------------------------------------------------------------------------------------ - //We removed all references to Winforms from Palaso.dll but our error reporting relied heavily on it. + //We removed all references to Winforms from SIL.Core.dll but our error reporting relied heavily on it. //Not wanting to break existing applications we have now added this class initializer which will //look for a reference to SIL.Windows.Forms in the consuming app and if it exists instantiate the //ExceptionHandler from there through Reflection. Otherwise we will simply use a console diff --git a/SIL.Core.Desktop/Reporting/UsageReporter.cs b/SIL.Core.Desktop/Reporting/UsageReporter.cs index e5a7b3bac..3c0c87b52 100644 --- a/SIL.Core.Desktop/Reporting/UsageReporter.cs +++ b/SIL.Core.Desktop/Reporting/UsageReporter.cs @@ -45,7 +45,7 @@ public static void Init(ReportingSettings settings, string domain, string google /// /// /// Normally this is true for DEBUG builds. It is separated out here because sometimes a developer - /// uses a Release build of Palaso.dll, but would still want his/her activities logged as a developer. + /// uses a Release build of SIL.Core.Desktop.dll, but would still want his/her activities logged as a developer. public static void Init(ReportingSettings settings, string domain, string googleAnalyticsAccountCode, bool reportAsDeveloper) { s_singleton = new UsageReporter(); @@ -154,9 +154,9 @@ public static string UserIdentifier /// /// [UserScopedSetting()] /// [DebuggerNonUserCode()] - /// public Palaso.Reporting.ReportingSettings Reporting + /// public SIL.Reporting.ReportingSettings Reporting /// { - /// get { return ((Palaso.Reporting.ReportingSettings)(this["Reporting"])); } + /// get { return ((SIL.Reporting.ReportingSettings)(this["Reporting"])); } /// set { this["Reporting"] = value; } /// } /// diff --git a/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs b/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs index 6990e51c3..90bc88932 100644 --- a/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs +++ b/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs @@ -111,7 +111,7 @@ public static List GetDrives() if (Platform.IsWindows) return UsbDriveInfoWindows.GetDrives(); - // Using Palaso.UsbDrive on Linux/Mono results in NDesk spinning up a thread that + // Using SIL.UsbDrive on Linux/Mono results in NDesk spinning up a thread that // continues until NDesk Bus is closed. Failure to close the thread results in a // program hang when closing. Closing the system bus allows the thread to close, // and thus the program to close. diff --git a/SIL.Core/Progress/ProgressState.cs b/SIL.Core/Progress/ProgressState.cs index eec703bf9..daebebc4e 100644 --- a/SIL.Core/Progress/ProgressState.cs +++ b/SIL.Core/Progress/ProgressState.cs @@ -3,7 +3,7 @@ //For UML diagram, see ProgressSystem.uml (done in StarUML) -//NOTE: this "ProgressState" system is deprecated. Newer clients use the extensive Palaso.Progress.IProgress classes, often along with the logbox. +//NOTE: this "ProgressState" system is deprecated. Newer clients use the extensive SIL.Progress.IProgress classes, often along with the logbox. namespace SIL.Progress { /// diff --git a/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs b/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs index 5de6e844f..426f0caeb 100644 --- a/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs @@ -1,4 +1,4 @@ -// TODO Can this be moved up to Palaso.Lift.Tests? +// TODO Can this be moved up to SIL.Lift.Tests? using System.Collections.Generic; using System.IO; using NUnit.Framework; diff --git a/SIL.DictionaryServices/Lift/LiftWriter.cs b/SIL.DictionaryServices/Lift/LiftWriter.cs index c197fba29..210071708 100644 --- a/SIL.DictionaryServices/Lift/LiftWriter.cs +++ b/SIL.DictionaryServices/Lift/LiftWriter.cs @@ -676,7 +676,7 @@ private void WriteTrait(LexTrait trait) private void WriteEmbeddedXmlCollection(MultiText text) { - foreach (string rawXml in text.EmbeddedXmlElements) // todo cp Promote roundtripping to Palaso.Lift / Palaso.Data also then can use MultiTextBase here (or a better interface). + foreach (string rawXml in text.EmbeddedXmlElements) // todo cp Promote roundtripping to SIL.Lift / SIL.Data also then can use MultiTextBase here (or a better interface). { Writer.WriteRaw(rawXml); } diff --git a/SIL.Lift/Validation/Validator.cs b/SIL.Lift/Validation/Validator.cs index 616994414..f61ace063 100644 --- a/SIL.Lift/Validation/Validator.cs +++ b/SIL.Lift/Validation/Validator.cs @@ -17,7 +17,7 @@ public enum ValidationOptions /// /// Provide progress reporting for validation. /// - /// TODO: provide a single IProgressReport interface for Palaso.Lift (or Palaso?). + /// TODO: provide a single IProgressReport interface for SIL.Lift (or SIL.Core?). public interface IValidationProgress { /// @@ -38,7 +38,7 @@ public interface IValidationProgress /// Trivial, nonfunctional implementation of IValidationProgress. /// /// - /// TODO: provide a single IProgressReport interface for Palaso.Lift (or Palaso?), and a single trivial + /// TODO: provide a single IProgressReport interface for SIL.Lift (or SIL.Core?), and a single trivial /// implementation thereof. /// public class NullValidationProgress : IValidationProgress diff --git a/SIL.Media.Tests/SampleForm.Designer.cs b/SIL.Media.Tests/SampleForm.Designer.cs index 548c1e1e0..d408d9dd9 100644 --- a/SIL.Media.Tests/SampleForm.Designer.cs +++ b/SIL.Media.Tests/SampleForm.Designer.cs @@ -110,7 +110,7 @@ private void InitializeComponent() this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "Form1"; - this.Text = "Palaso.Media Sample App"; + this.Text = "SIL.Media Sample App"; this.ResumeLayout(false); } diff --git a/SIL.Scripture.Tests/BCVRefTests.cs b/SIL.Scripture.Tests/BCVRefTests.cs index 71725cf33..7aea0dc3d 100644 --- a/SIL.Scripture.Tests/BCVRefTests.cs +++ b/SIL.Scripture.Tests/BCVRefTests.cs @@ -8,7 +8,7 @@ #endregion // // This class originated in FieldWorks (under the GNU Lesser General Public License), but we -// have decided to make it avaialble in SIL.ScriptureUtils as part of Palaso so it will be more +// have decided to make it avaialble in SIL.Scripture as part of Palaso so it will be more // readily available to other projects. // -------------------------------------------------------------------------------------------- using System; diff --git a/SIL.Scripture/BCVRef.cs b/SIL.Scripture/BCVRef.cs index c610bb6c4..698a3f043 100644 --- a/SIL.Scripture/BCVRef.cs +++ b/SIL.Scripture/BCVRef.cs @@ -8,7 +8,7 @@ #endregion // // This class originated in FieldWorks (under the GNU Lesser General Public License), but we -// have decided to make it avaialble in SIL.ScriptureUtils as part of Palaso so it will be more +// have decided to make it avaialble in SIL.Scripture as part of Palaso so it will be more // readily available to other projects. // --------------------------------------------------------------------------------------------- using System; diff --git a/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs b/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs index 0da8d7bd0..aa779b416 100644 --- a/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs +++ b/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs @@ -9,7 +9,7 @@ namespace SIL.Windows.Forms.Keyboarding { /// - /// We define an interface IInputLanguage in Palaso.dll (which does not reference Windows.Forms) which contains + /// We define an interface IInputLanguage in SIL.Core.dll (which does not reference Windows.Forms) which contains /// the properties of InputLanguage (a Windows.Forms class) that interest us. InputLanguageWrapper allows us to pretend /// that InputLanguage implements the interface. In particular the implicit operator allows us to simply /// pass an InputLanguage as an argument to any method expecting IInputLanguage...a wrapper is automatically diff --git a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs index 3a33b91dd..9f39fe942 100644 --- a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs +++ b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs @@ -22,7 +22,7 @@ public WritingSystemFromWindowsLocaleProvider(IWritingSystemFactory writingSyste _writingSystemFactory = writingSystemFactory; } - // public static Palaso.WritingSystems.WritingSystemDefinition Get(string rfc4646) + // public static SIL.WritingSystems.WritingSystemDefinition Get(string rfc4646) // { // foreach (InputLanguage language in InputLanguage.InstalledInputLanguages) // { diff --git a/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs b/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs index b4b9a04a8..f2abe6473 100644 --- a/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs +++ b/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs @@ -92,7 +92,7 @@ private void InitializeComponent() // // _L10NSharpExtender // - this._L10NSharpExtender.LocalizationManagerId = "Palaso.UI.WindowsForms.FileSystem"; + this._L10NSharpExtender.LocalizationManagerId = "SIL.Windows.Forms.FileSystem"; this._L10NSharpExtender.PrefixForNewItems = "DialogBoxes"; // // flowLayoutPanel1 diff --git a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs index 5ab9d8afc..38f0e428e 100644 --- a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs +++ b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs @@ -14,7 +14,7 @@ namespace SIL.Windows.Forms.Reporting { /// /// Display exception reporting dialog. - /// NOTE: It is recommended to call one of Palaso.Reporting.ErrorReport.Report(Non)Fatal* + /// NOTE: It is recommended to call one of SIL.Reporting.ErrorReport.Report(Non)Fatal* /// methods instead of instantiating this class. /// public class ExceptionReportingDialog : Form diff --git a/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs b/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs index 8c06568f4..d8e97dc27 100644 --- a/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs +++ b/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs @@ -7,7 +7,7 @@ namespace SIL.Windows.Forms.Reporting { /// /// Display problem notification dialog. - /// NOTE: It is recommended to call Palaso.Reporting.ErrorReport.NotifyUserOfProblem + /// NOTE: It is recommended to call SIL.Reporting.ErrorReport.NotifyUserOfProblem /// instead of instantiating this class. /// public partial class ProblemNotificationDialog : Form diff --git a/build/platform.targets b/build/platform.targets index a92b99ef0..89e416859 100644 --- a/build/platform.targets +++ b/build/platform.targets @@ -3,7 +3,7 @@ Include this file at the end of a csproj file (just before the include of Microsoft.CSharp.targets) to add system-specific defines for conditional compilation. -Example: libpalaso/Palaso.Tests/Palaso.Tests.csproj +Example: libpalaso/SIL.Core.Tests/SIL.Core.Tests.csproj These constants will be defined: SYSTEM_UNIX - should be compiled on Linux and Mac From 4bb82c741912f4962541c1242ea57efe87aeaa57 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 17 Jun 2019 16:03:29 +0200 Subject: [PATCH 48/49] Adjust build scripts We no longer have StrongName builds nor separate Mono builds. This change modifies the scripts to build the Debug or Release configuration instead. --- build/TestBuild.bat | 2 +- build/TestBuild.sh | 4 ++-- build/TestInstallerBuild.bat | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/TestBuild.bat b/build/TestBuild.bat index 770bae979..50593a94e 100644 --- a/build/TestBuild.bat +++ b/build/TestBuild.bat @@ -21,7 +21,7 @@ if "%INCLUDE%%LIB%" == "" ( ) :build if "%~1" == "" ( - SET BUILD=DebugStrongName + SET BUILD=Debug ) else ( SET BUILD=%~1 ) diff --git a/build/TestBuild.sh b/build/TestBuild.sh index c3c9e0c42..20de8ac09 100755 --- a/build/TestBuild.sh +++ b/build/TestBuild.sh @@ -2,5 +2,5 @@ cd "$(dirname "$0")/.." root=$PWD cd build -#If a parameter is defined, then it will be used as the Configuration (defaulting to DebugMonoStrongName) -msbuild "/target:${2-Clean;Compile}" /property:Configuration="${1-DebugMonoStrongName}" /property:RootDir=$root Palaso.proj +#If a parameter is defined, then it will be used as the Configuration (defaulting to Debug) +msbuild "/target:${2-Clean;Compile}" /property:Configuration="${1-Debug}" /property:RootDir=$root Palaso.proj diff --git a/build/TestInstallerBuild.bat b/build/TestInstallerBuild.bat index e4873076e..5d16591ad 100644 --- a/build/TestInstallerBuild.bat +++ b/build/TestInstallerBuild.bat @@ -21,13 +21,13 @@ if "%INCLUDE%%LIB%" == "" ( ) :build if "%~1" == "" ( - SET BUILD=ReleaseStrongName + SET BUILD=Release ) else ( SET BUILD=%~1 ) @echo on @pushd "%~dp0" -msbuild Palaso.proj /target:build /property:Configuration="%BUILD%" /property:RootDir=.. /property:teamcity_dotnet_nunitlauncher_msbuild_task="notthere" /property:BUILD_NUMBER="0.1.345.abcd" /property:Minor="1" +msbuild Palaso.proj /target:build /property:Configuration="%BUILD%" /property:RootDir=.. /property:teamcity_dotnet_nunitlauncher_msbuild_task="notthere" /property:Minor="1" @popd \ No newline at end of file From 5b7b9a3625dec2238053c6473ed9445d19942416 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 1 Jul 2019 17:11:05 +0200 Subject: [PATCH 49/49] Improve copying (or not copying) of irrKlang.NET4.dll --- SIL.Media/SIL.Media.targets | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/SIL.Media/SIL.Media.targets b/SIL.Media/SIL.Media.targets index d1eddf9ba..bd88c9df3 100644 --- a/SIL.Media/SIL.Media.targets +++ b/SIL.Media/SIL.Media.targets @@ -1,13 +1,9 @@ - + %(RecursiveDir)%(FileName)%(Extension) Always - - - - - \ No newline at end of file