diff --git a/.gitignore b/.gitignore
index b6ae0caf3..2c8375b32 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,6 +34,7 @@ _ReSharper*/
*.VC.db
V8/build/
V8/DepotTools.zip
+V8/icudtl.dat
.vs/
packages/
NuGet/Private/
diff --git a/ClearScript.NoV8.sln.DotSettings b/ClearScript.NoV8.sln.DotSettings
index 3c61efcb2..69cbbc79c 100644
--- a/ClearScript.NoV8.sln.DotSettings
+++ b/ClearScript.NoV8.sln.DotSettings
@@ -1,5 +1,7 @@
- CSharp73
+ CSharp90
+ True
+ True
False
SUGGESTION
DO_NOT_SHOW
@@ -10,12 +12,15 @@
DO_NOT_SHOW
HINT
DO_NOT_SHOW
+ HINT
DO_NOT_SHOW
DO_NOT_SHOW
DO_NOT_SHOW
DO_NOT_SHOW
DO_NOT_SHOW
+ HINT
DO_NOT_SHOW
+ HINT
DO_NOT_SHOW
Experimental
False
@@ -38,6 +43,11 @@
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static readonly fields (private)"><ElementKinds><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Any" AccessRightKinds="Private" Description="Constant fields (private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Any" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Constant fields (not private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></Policy>
+ <Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static fields (private)"><ElementKinds><Kind Name="FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
False
@@ -45,9 +55,11 @@
True
True
True
+ True
True
True
True
+ True
True
True
True
@@ -73,6 +85,7 @@
True
True
True
+ True
True
True
True
@@ -92,11 +105,11 @@
True
True
True
+ True
True
True
True
True
-
True
True
True
@@ -121,9 +134,11 @@
True
True
True
+ True
True
True
True
True
True
+ True
True
\ No newline at end of file
diff --git a/ClearScript.sln b/ClearScript.sln
index 4bec83d8e..5984307ef 100644
--- a/ClearScript.sln
+++ b/ClearScript.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.29418.71
+# Visual Studio Version 17
+VisualStudioVersion = 17.2.32519.379
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest", "NetFramework\ClearScriptTest\ClearScriptTest.csproj", "{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}"
ProjectSection(ProjectDependencies) = postProject
@@ -32,11 +32,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "NetCo
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest", "NetCore\ClearScriptTest\ClearScriptTest.csproj", "{269669D3-78D8-4AF3-A2AF-08D3446BD6BC}"
ProjectSection(ProjectDependencies) = postProject
- {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD} = {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}
- {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
- {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96} = {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}
{497012BC-959C-43A0-90A6-156A35DF2F43} = {497012BC-959C-43A0-90A6-156A35DF2F43}
{6576FFFD-BA73-4123-8E4B-8589E5163C04} = {6576FFFD-BA73-4123-8E4B-8589E5163C04}
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD} = {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96} = {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Framework", ".NET Framework", "{526BA3EF-4E1D-48C1-9923-2485B63993EE}"
@@ -68,6 +68,7 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8", "NetFramework\ClearScript.V8\ClearScript.V8.csproj", "{59CC81A3-3D97-469A-9C8B-533F920085F1}"
ProjectSection(ProjectDependencies) = postProject
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} = {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C} = {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}
{725B6D7A-ECC7-4A28-AF52-B1CB22C37134} = {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}
{CDCF4EEA-1CA4-412E-8C77-78893A67A577} = {CDCF4EEA-1CA4-412E-8C77-78893A67A577}
EndProjectSection
@@ -84,6 +85,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows", "NetC
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8", "NetCore\ClearScript.V8\ClearScript.V8.csproj", "{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}"
ProjectSection(ProjectDependencies) = postProject
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C} = {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}
{59CC81A3-3D97-469A-9C8B-533F920085F1} = {59CC81A3-3D97-469A-9C8B-533F920085F1}
EndProjectSection
EndProject
@@ -101,8 +103,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "Unix\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest", "Unix\ClearScriptTest\ClearScriptTest.csproj", "{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}"
ProjectSection(ProjectDependencies) = postProject
- {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
{3CD8AB65-BA34-4BB9-862F-D31CE861560F} = {3CD8AB65-BA34-4BB9-862F-D31CE861560F}
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8.win-arm64", "ClearScriptV8\win-arm64\ClearScriptV8.win-arm64.vcxproj", "{725B6D7A-ECC7-4A28-AF52-B1CB22C37134}"
@@ -119,8 +121,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Core", "UWP\Cle
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.V8", "UWP\ClearScript.V8\ClearScript.V8.csproj", "{CF1FD52F-A933-48D9-92A4-A39565896A42}"
ProjectSection(ProjectDependencies) = postProject
- {D3391831-65CE-4C1E-A21B-01A283F3E193} = {D3391831-65CE-4C1E-A21B-01A283F3E193}
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C} = {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}
{59CC81A3-3D97-469A-9C8B-533F920085F1} = {59CC81A3-3D97-469A-9C8B-533F920085F1}
+ {D3391831-65CE-4C1E-A21B-01A283F3E193} = {D3391831-65CE-4C1E-A21B-01A283F3E193}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows.Core", "NetCore\ClearScript.Windows.Core\ClearScript.Windows.Core.csproj", "{B9C99091-E616-4DC2-A711-4DCDAC602E38}"
@@ -139,6 +142,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Core", "NetStan
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8", "NetStandard\ClearScript.V8\ClearScript.V8.csproj", "{0DEC74E5-FF8A-4B61-B847-875BAD0AE781}"
ProjectSection(ProjectDependencies) = postProject
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C} = {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}
{59CC81A3-3D97-469A-9C8B-533F920085F1} = {59CC81A3-3D97-469A-9C8B-533F920085F1}
EndProjectSection
EndProject
@@ -149,15 +153,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows.Core",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest.NetStandard", "NetStandard\ClearScriptTest.NetStandard\ClearScriptTest.NetStandard.csproj", "{BF28C9F2-2935-4FDE-B812-977D601F9208}"
ProjectSection(ProjectDependencies) = postProject
- {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
- {497012BC-959C-43A0-90A6-156A35DF2F43} = {497012BC-959C-43A0-90A6-156A35DF2F43}
{6F6B59D0-6538-4D02-91D2-07D24DAFE39A} = {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413} = {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptTest.NetStandard", "Unix\ClearScriptTest.NetStandard\ClearScriptTest.NetStandard.csproj", "{EF6090B9-7349-4868-9C43-D7D3F048C54F}"
ProjectSection(ProjectDependencies) = postProject
- {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
{3CD8AB65-BA34-4BB9-862F-D31CE861560F} = {3CD8AB65-BA34-4BB9-862F-D31CE861560F}
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} = {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "NetStandard\ClearScriptConsole\ClearScriptConsole.csproj", "{C0E7BCAD-B4B3-4291-A87A-384D5F99C413}"
@@ -165,124 +169,484 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScriptConsole", "NetSt
{28980C99-77E7-4B62-8484-AF06C5745B8C} = {28980C99-77E7-4B62-8484-AF06C5745B8C}
EndProjectSection
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8.ICUData", "NetStandard\ClearScript.V8.ICUData\ClearScript.V8.ICUData.csproj", "{47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|arm64 = Debug|arm64
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|arm64 = Release|arm64
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|arm64.Build.0 = Debug|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|x64.Build.0 = Debug|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Debug|x86.Build.0 = Debug|Any CPU
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|arm64.ActiveCfg = Release|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|arm64.Build.0 = Release|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|x64.ActiveCfg = Release|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|x64.Build.0 = Release|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|x86.ActiveCfg = Release|Any CPU
+ {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}.Release|x86.Build.0 = Release|Any CPU
{28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|arm64.Build.0 = Debug|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|x64.Build.0 = Debug|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Debug|x86.Build.0 = Debug|Any CPU
{28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|arm64.ActiveCfg = Release|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|arm64.Build.0 = Release|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|x64.ActiveCfg = Release|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|x64.Build.0 = Release|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|x86.ActiveCfg = Release|Any CPU
+ {28980C99-77E7-4B62-8484-AF06C5745B8C}.Release|x86.Build.0 = Release|Any CPU
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|arm64.Build.0 = Debug|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|x64.Build.0 = Debug|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Debug|x86.Build.0 = Debug|Any CPU
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|arm64.ActiveCfg = Release|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|arm64.Build.0 = Release|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|x64.ActiveCfg = Release|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|x64.Build.0 = Release|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|x86.ActiveCfg = Release|Any CPU
+ {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}.Release|x86.Build.0 = Release|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|arm64.Build.0 = Debug|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|x64.Build.0 = Debug|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Debug|x86.Build.0 = Debug|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{497012BC-959C-43A0-90A6-156A35DF2F43}.Release|Any CPU.Build.0 = Release|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Release|arm64.ActiveCfg = Release|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Release|arm64.Build.0 = Release|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Release|x64.ActiveCfg = Release|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Release|x64.Build.0 = Release|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Release|x86.ActiveCfg = Release|Any CPU
+ {497012BC-959C-43A0-90A6-156A35DF2F43}.Release|x86.Build.0 = Release|Any CPU
{269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|arm64.Build.0 = Debug|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|x64.Build.0 = Debug|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Debug|x86.Build.0 = Debug|Any CPU
{269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|arm64.ActiveCfg = Release|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|arm64.Build.0 = Release|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|x64.ActiveCfg = Release|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|x64.Build.0 = Release|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|x86.ActiveCfg = Release|Any CPU
+ {269669D3-78D8-4AF3-A2AF-08D3446BD6BC}.Release|x86.Build.0 = Release|Any CPU
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|arm64.Build.0 = Debug|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|x64.Build.0 = Debug|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Debug|x86.Build.0 = Debug|Any CPU
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|Any CPU.ActiveCfg = Release|Any CPU
{925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|Any CPU.Build.0 = Release|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|arm64.ActiveCfg = Release|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|arm64.Build.0 = Release|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|x64.ActiveCfg = Release|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|x64.Build.0 = Release|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|x86.ActiveCfg = Release|Any CPU
+ {925DD842-4585-4D44-80BB-78E1FB7E9438}.Release|x86.Build.0 = Release|Any CPU
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|Any CPU.ActiveCfg = Debug|Win32
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|Any CPU.Build.0 = Debug|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|arm64.ActiveCfg = Debug|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|arm64.Build.0 = Debug|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|x64.ActiveCfg = Debug|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|x64.Build.0 = Debug|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|x86.ActiveCfg = Debug|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Debug|x86.Build.0 = Debug|Win32
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|Any CPU.ActiveCfg = Release|Win32
{2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|Any CPU.Build.0 = Release|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|arm64.ActiveCfg = Release|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|arm64.Build.0 = Release|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|x64.ActiveCfg = Release|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|x64.Build.0 = Release|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|x86.ActiveCfg = Release|Win32
+ {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6}.Release|x86.Build.0 = Release|Win32
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|Any CPU.ActiveCfg = Debug|x64
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|Any CPU.Build.0 = Debug|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|arm64.ActiveCfg = Debug|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|arm64.Build.0 = Debug|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|x64.ActiveCfg = Debug|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|x64.Build.0 = Debug|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|x86.ActiveCfg = Debug|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Debug|x86.Build.0 = Debug|x64
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|Any CPU.ActiveCfg = Release|x64
{CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|Any CPU.Build.0 = Release|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|arm64.ActiveCfg = Release|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|arm64.Build.0 = Release|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|x64.ActiveCfg = Release|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|x64.Build.0 = Release|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|x86.ActiveCfg = Release|x64
+ {CDCF4EEA-1CA4-412E-8C77-78893A67A577}.Release|x86.Build.0 = Release|x64
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|arm64.Build.0 = Debug|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|x64.Build.0 = Debug|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Debug|x86.Build.0 = Debug|Any CPU
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|arm64.ActiveCfg = Release|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|arm64.Build.0 = Release|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|x64.ActiveCfg = Release|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|x64.Build.0 = Release|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|x86.ActiveCfg = Release|Any CPU
+ {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}.Release|x86.Build.0 = Release|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|arm64.Build.0 = Debug|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|x64.Build.0 = Debug|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Debug|x86.Build.0 = Debug|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|arm64.ActiveCfg = Release|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|arm64.Build.0 = Release|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|x64.ActiveCfg = Release|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|x64.Build.0 = Release|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|x86.ActiveCfg = Release|Any CPU
+ {BC560FF8-AB7A-4DA9-A1FD-99221447D370}.Release|x86.Build.0 = Release|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|arm64.Build.0 = Debug|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|x64.Build.0 = Debug|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Debug|x86.Build.0 = Debug|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|arm64.ActiveCfg = Release|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|arm64.Build.0 = Release|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|x64.ActiveCfg = Release|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|x64.Build.0 = Release|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|x86.ActiveCfg = Release|Any CPU
+ {59CC81A3-3D97-469A-9C8B-533F920085F1}.Release|x86.Build.0 = Release|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|arm64.Build.0 = Debug|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|x64.Build.0 = Debug|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Debug|x86.Build.0 = Debug|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|arm64.ActiveCfg = Release|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|arm64.Build.0 = Release|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|x64.ActiveCfg = Release|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|x64.Build.0 = Release|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|x86.ActiveCfg = Release|Any CPU
+ {7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}.Release|x86.Build.0 = Release|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|arm64.Build.0 = Debug|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|x64.Build.0 = Debug|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Debug|x86.Build.0 = Debug|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|arm64.ActiveCfg = Release|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|arm64.Build.0 = Release|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|x64.ActiveCfg = Release|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|x64.Build.0 = Release|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|x86.ActiveCfg = Release|Any CPU
+ {6576FFFD-BA73-4123-8E4B-8589E5163C04}.Release|x86.Build.0 = Release|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|arm64.Build.0 = Debug|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|x64.Build.0 = Debug|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Debug|x86.Build.0 = Debug|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|arm64.ActiveCfg = Release|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|arm64.Build.0 = Release|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|x64.ActiveCfg = Release|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|x64.Build.0 = Release|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|x86.ActiveCfg = Release|Any CPU
+ {C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}.Release|x86.Build.0 = Release|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|arm64.Build.0 = Debug|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|x64.Build.0 = Debug|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Debug|x86.Build.0 = Debug|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|arm64.ActiveCfg = Release|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|arm64.Build.0 = Release|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|x64.ActiveCfg = Release|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|x64.Build.0 = Release|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|x86.ActiveCfg = Release|Any CPU
+ {FDFA67F7-AEE6-407A-BF94-ACAD3D735CAB}.Release|x86.Build.0 = Release|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|arm64.Build.0 = Debug|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|x64.Build.0 = Debug|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Debug|x86.Build.0 = Debug|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|arm64.ActiveCfg = Release|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|arm64.Build.0 = Release|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|x64.ActiveCfg = Release|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|x64.Build.0 = Release|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|x86.ActiveCfg = Release|Any CPU
+ {3CD8AB65-BA34-4BB9-862F-D31CE861560F}.Release|x86.Build.0 = Release|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|arm64.Build.0 = Debug|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|x64.Build.0 = Debug|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Debug|x86.Build.0 = Debug|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|arm64.ActiveCfg = Release|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|arm64.Build.0 = Release|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|x64.ActiveCfg = Release|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|x64.Build.0 = Release|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|x86.ActiveCfg = Release|Any CPU
+ {052E036D-6D60-4FCA-AA8E-4CF56BC2058D}.Release|x86.Build.0 = Release|Any CPU
{725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|Any CPU.ActiveCfg = Debug|arm64
{725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|Any CPU.Build.0 = Debug|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|arm64.ActiveCfg = Debug|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|arm64.Build.0 = Debug|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|x64.ActiveCfg = Debug|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|x64.Build.0 = Debug|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|x86.ActiveCfg = Debug|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Debug|x86.Build.0 = Debug|arm64
{725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|Any CPU.ActiveCfg = Release|arm64
{725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|Any CPU.Build.0 = Release|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|arm64.ActiveCfg = Release|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|arm64.Build.0 = Release|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|x64.ActiveCfg = Release|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|x64.Build.0 = Release|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|x86.ActiveCfg = Release|arm64
+ {725B6D7A-ECC7-4A28-AF52-B1CB22C37134}.Release|x86.Build.0 = Release|arm64
{D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|arm64.Build.0 = Debug|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|x64.Build.0 = Debug|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Debug|x86.Build.0 = Debug|Any CPU
{D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|arm64.ActiveCfg = Release|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|arm64.Build.0 = Release|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|x64.ActiveCfg = Release|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|x64.Build.0 = Release|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|x86.ActiveCfg = Release|Any CPU
+ {D3391831-65CE-4C1E-A21B-01A283F3E193}.Release|x86.Build.0 = Release|Any CPU
{CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|arm64.Build.0 = Debug|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|x64.Build.0 = Debug|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Debug|x86.Build.0 = Debug|Any CPU
{CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|arm64.ActiveCfg = Release|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|arm64.Build.0 = Release|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|x64.ActiveCfg = Release|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|x64.Build.0 = Release|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|x86.ActiveCfg = Release|Any CPU
+ {CF1FD52F-A933-48D9-92A4-A39565896A42}.Release|x86.Build.0 = Release|Any CPU
{B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|arm64.Build.0 = Debug|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|x64.Build.0 = Debug|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Debug|x86.Build.0 = Debug|Any CPU
{B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|arm64.ActiveCfg = Release|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|arm64.Build.0 = Release|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|x64.ActiveCfg = Release|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|x64.Build.0 = Release|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|x86.ActiveCfg = Release|Any CPU
+ {B9C99091-E616-4DC2-A711-4DCDAC602E38}.Release|x86.Build.0 = Release|Any CPU
{5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|arm64.Build.0 = Debug|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|x64.Build.0 = Debug|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Debug|x86.Build.0 = Debug|Any CPU
{5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|arm64.ActiveCfg = Release|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|arm64.Build.0 = Release|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|x64.ActiveCfg = Release|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|x64.Build.0 = Release|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|x86.ActiveCfg = Release|Any CPU
+ {5FF9CB8B-BC95-44AB-B254-CEB4ADF4A53A}.Release|x86.Build.0 = Release|Any CPU
{D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|arm64.Build.0 = Debug|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|x64.Build.0 = Debug|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Debug|x86.Build.0 = Debug|Any CPU
{D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|arm64.ActiveCfg = Release|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|arm64.Build.0 = Release|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|x64.ActiveCfg = Release|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|x64.Build.0 = Release|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|x86.ActiveCfg = Release|Any CPU
+ {D757A0DB-AEBC-4D77-A187-A701B158D588}.Release|x86.Build.0 = Release|Any CPU
{0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|arm64.Build.0 = Debug|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|x64.Build.0 = Debug|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Debug|x86.Build.0 = Debug|Any CPU
{0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|arm64.ActiveCfg = Release|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|arm64.Build.0 = Release|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|x64.ActiveCfg = Release|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|x64.Build.0 = Release|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|x86.ActiveCfg = Release|Any CPU
+ {0DEC74E5-FF8A-4B61-B847-875BAD0AE781}.Release|x86.Build.0 = Release|Any CPU
{6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|arm64.Build.0 = Debug|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|x64.Build.0 = Debug|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Debug|x86.Build.0 = Debug|Any CPU
{6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|arm64.ActiveCfg = Release|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|arm64.Build.0 = Release|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|x64.ActiveCfg = Release|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|x64.Build.0 = Release|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|x86.ActiveCfg = Release|Any CPU
+ {6F6B59D0-6538-4D02-91D2-07D24DAFE39A}.Release|x86.Build.0 = Release|Any CPU
{BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|arm64.Build.0 = Debug|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|x64.Build.0 = Debug|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Debug|x86.Build.0 = Debug|Any CPU
{BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|arm64.ActiveCfg = Release|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|arm64.Build.0 = Release|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|x64.ActiveCfg = Release|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|x64.Build.0 = Release|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|x86.ActiveCfg = Release|Any CPU
+ {BF28C9F2-2935-4FDE-B812-977D601F9208}.Release|x86.Build.0 = Release|Any CPU
{EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|arm64.Build.0 = Debug|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|x64.Build.0 = Debug|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Debug|x86.Build.0 = Debug|Any CPU
{EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|arm64.ActiveCfg = Release|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|arm64.Build.0 = Release|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|x64.ActiveCfg = Release|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|x64.Build.0 = Release|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|x86.ActiveCfg = Release|Any CPU
+ {EF6090B9-7349-4868-9C43-D7D3F048C54F}.Release|x86.Build.0 = Release|Any CPU
{C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|arm64.Build.0 = Debug|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|x64.Build.0 = Debug|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Debug|x86.Build.0 = Debug|Any CPU
{C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|arm64.ActiveCfg = Release|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|arm64.Build.0 = Release|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|x64.ActiveCfg = Release|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|x64.Build.0 = Release|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|x86.ActiveCfg = Release|Any CPU
+ {C0E7BCAD-B4B3-4291-A87A-384D5F99C413}.Release|x86.Build.0 = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|arm64.ActiveCfg = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|arm64.Build.0 = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|x64.Build.0 = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Debug|x86.Build.0 = Debug|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|arm64.ActiveCfg = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|arm64.Build.0 = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|x64.ActiveCfg = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|x64.Build.0 = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|x86.ActiveCfg = Release|Any CPU
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -316,6 +680,7 @@ Global
{BF28C9F2-2935-4FDE-B812-977D601F9208} = {3047C214-A12B-4C8B-AEED-021FAA0B4CD3}
{EF6090B9-7349-4868-9C43-D7D3F048C54F} = {48C9730D-CA6C-47ED-B72C-DB9B6EE24D47}
{C0E7BCAD-B4B3-4291-A87A-384D5F99C413} = {3047C214-A12B-4C8B-AEED-021FAA0B4CD3}
+ {47FC5CB5-A6F2-4FEE-99F8-A758D3A7373C} = {3047C214-A12B-4C8B-AEED-021FAA0B4CD3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3BAF1393-35E4-45F1-AC56-4A22646B56E5}
diff --git a/ClearScript.sln.DotSettings b/ClearScript.sln.DotSettings
index 3c61efcb2..69cbbc79c 100644
--- a/ClearScript.sln.DotSettings
+++ b/ClearScript.sln.DotSettings
@@ -1,5 +1,7 @@
- CSharp73
+ CSharp90
+ True
+ True
False
SUGGESTION
DO_NOT_SHOW
@@ -10,12 +12,15 @@
DO_NOT_SHOW
HINT
DO_NOT_SHOW
+ HINT
DO_NOT_SHOW
DO_NOT_SHOW
DO_NOT_SHOW
DO_NOT_SHOW
DO_NOT_SHOW
+ HINT
DO_NOT_SHOW
+ HINT
DO_NOT_SHOW
Experimental
False
@@ -38,6 +43,11 @@
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static readonly fields (private)"><ElementKinds><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Any" AccessRightKinds="Private" Description="Constant fields (private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Any" AccessRightKinds="Protected, ProtectedInternal, Internal, Public, PrivateProtected" Description="Constant fields (not private)"><ElementKinds><Kind Name="CONSTANT_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></Policy>
+ <Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static fields (private)"><ElementKinds><Kind Name="FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></Policy>
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
False
@@ -45,9 +55,11 @@
True
True
True
+ True
True
True
True
+ True
True
True
True
@@ -73,6 +85,7 @@
True
True
True
+ True
True
True
True
@@ -92,11 +105,11 @@
True
True
True
+ True
True
True
True
True
-
True
True
True
@@ -121,9 +134,11 @@
True
True
True
+ True
True
True
True
True
True
+ True
True
\ No newline at end of file
diff --git a/ClearScript/AsyncDocumentLoadCallback.cs b/ClearScript/AsyncDocumentLoadCallback.cs
new file mode 100644
index 000000000..1e7ba867a
--- /dev/null
+++ b/ClearScript/AsyncDocumentLoadCallback.cs
@@ -0,0 +1,20 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT license.
+
+using System.IO;
+using System.Threading.Tasks;
+
+namespace Microsoft.ClearScript
+{
+ ///
+ /// Represents a method to be called asynchronously when a document is loaded.
+ ///
+ /// A structure containing meta-information for the document.
+ /// A stream that provides read access to the document.
+ /// A task that represents the method's asynchronous operation.
+ ///
+ /// The callback can modify the document meta-information by specifying or overriding any of
+ /// its mutable properties.
+ ///
+ public delegate Task AsyncDocumentLoadCallback(ValueRef info, Stream contents);
+}
diff --git a/ClearScript/BindSignature.cs b/ClearScript/BindSignature.cs
index 41c2da295..706904d51 100644
--- a/ClearScript/BindSignature.cs
+++ b/ClearScript/BindSignature.cs
@@ -2,7 +2,9 @@
// Licensed under the MIT license.
using System;
+using System.Diagnostics;
using System.Reflection;
+using Microsoft.ClearScript.Util;
namespace Microsoft.ClearScript
{
@@ -65,7 +67,7 @@ public override int GetHashCode()
public bool Equals(BindSignature that)
{
- if (that == null)
+ if (that is null)
{
return false;
}
@@ -147,7 +149,7 @@ public TargetInfo(HostTarget target)
kind = TargetKind.Static;
targetType = target.Type;
}
- else if (target.InvokeTarget == null)
+ else if (target.InvokeTarget is null)
{
kind = TargetKind.Null;
targetType = target.Type;
@@ -192,7 +194,7 @@ public override int GetHashCode()
public bool Equals(TargetInfo that)
{
- return (that != null) && (kind == that.kind) && (targetType == that.targetType) && (instanceType == that.instanceType);
+ return (that is not null) && (kind == that.kind) && (targetType == that.targetType) && (instanceType == that.instanceType);
}
#endregion
@@ -205,6 +207,7 @@ public bool Equals(TargetInfo that)
private enum ArgKind
{
Null,
+ Zero,
ByValue,
Out,
Ref
@@ -221,7 +224,7 @@ private sealed class ArgInfo : IEquatable
public ArgInfo(object arg)
{
- if (arg == null)
+ if (arg is null)
{
kind = ArgKind.Null;
return;
@@ -269,14 +272,22 @@ public ArgInfo(object arg)
return;
}
- if (arg is HostTarget hostTarget)
+ if (arg is HostObject hostObject)
{
- kind = ArgKind.ByValue;
- type = hostTarget.Type;
+ kind = hostObject.Target.IsZero() ? ArgKind.Zero : ArgKind.ByValue;
+ type = hostObject.Type;
+ return;
+ }
+
+ if (arg is HostVariable hostVariable)
+ {
+ kind = hostVariable.Target.IsZero() ? ArgKind.Zero : ArgKind.ByValue;
+ type = hostVariable.Type;
return;
}
- kind = ArgKind.ByValue;
+ Debug.Assert(arg is not HostTarget);
+ kind = arg.IsZero() ? ArgKind.Zero : ArgKind.ByValue;
type = arg.GetType();
}
@@ -306,7 +317,7 @@ public override int GetHashCode()
public bool Equals(ArgInfo that)
{
- return (that != null) && (kind == that.kind) && (type == that.type);
+ return (that is not null) && (kind == that.kind) && (type == that.type);
}
#endregion
@@ -316,7 +327,7 @@ public bool Equals(ArgInfo that)
#region Nested type: HashAccumulator
- private struct HashAccumulator
+ private ref struct HashAccumulator
{
public int HashCode { get; private set; }
diff --git a/ClearScript/ByRefArg.cs b/ClearScript/ByRefArg.cs
index f4007d161..28428fd1a 100644
--- a/ClearScript/ByRefArg.cs
+++ b/ClearScript/ByRefArg.cs
@@ -46,34 +46,34 @@ public T Value
public override object DynamicInvokeTarget => target.DynamicInvokeTarget;
- public override HostTargetFlags GetFlags(IHostInvokeContext context)
+ public override HostTargetFlags GetFlags(IHostContext context)
{
return target.GetFlags(context);
}
- public override string[] GetAuxMethodNames(IHostInvokeContext context, BindingFlags bindFlags)
+ public override string[] GetAuxMethodNames(IHostContext context, BindingFlags bindFlags)
{
return target.GetAuxMethodNames(context, bindFlags);
}
- public override string[] GetAuxPropertyNames(IHostInvokeContext context, BindingFlags bindFlags)
+ public override string[] GetAuxPropertyNames(IHostContext context, BindingFlags bindFlags)
{
return target.GetAuxPropertyNames(context, bindFlags);
}
- public override bool TryInvokeAuxMember(IHostInvokeContext context, string name, BindingFlags invokeFlags, object[] args, object[] bindArgs, out object result)
+ public override bool TryInvokeAuxMember(IHostContext context, string name, BindingFlags invokeFlags, object[] args, object[] bindArgs, out object result)
{
return target.TryInvokeAuxMember(context, name, invokeFlags, args, bindArgs, out result);
}
- public override bool TryInvoke(IHostInvokeContext context, BindingFlags invokeFlags, object[] args, object[] bindArgs, out object result)
+ public override bool TryInvoke(IHostContext context, BindingFlags invokeFlags, object[] args, object[] bindArgs, out object result)
{
return target.TryInvoke(context, invokeFlags, args, bindArgs, out result);
}
- public override Invocability GetInvocability(BindingFlags bindFlags, Type accessContext, ScriptAccess defaultAccess, bool ignoreDynamic)
+ public override Invocability GetInvocability(IHostContext context, BindingFlags bindFlags, bool ignoreDynamic)
{
- return target.GetInvocability(bindFlags, accessContext, defaultAccess, ignoreDynamic);
+ return target.GetInvocability(context, bindFlags, ignoreDynamic);
}
#endregion
diff --git a/ClearScript/CanonicalRefTable.cs b/ClearScript/CanonicalRefTable.cs
index 8775b1c22..bf57754ab 100644
--- a/ClearScript/CanonicalRefTable.cs
+++ b/ClearScript/CanonicalRefTable.cs
@@ -10,14 +10,14 @@ namespace Microsoft.ClearScript
{
internal static class CanonicalRefTable
{
- private static readonly Dictionary table = new Dictionary();
+ private static readonly Dictionary table = new();
public static object GetCanonicalRef(object obj)
{
if (obj is ValueType)
{
var map = GetMap(obj);
- if (map != null)
+ if (map is not null)
{
obj = map.GetRef(obj);
}
@@ -38,9 +38,13 @@ private static ICanonicalRefMap GetMap(object obj)
type == typeof(DateTime) ||
type == typeof(DateTimeOffset) ||
type == typeof(TimeSpan) ||
- type.GetCustomAttributes(typeof(ImmutableValueAttribute), false).Any())
+ type == typeof(Guid) ||
+ #if NET471_OR_GREATER || NETCOREAPP2_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER
+ type.GetOrLoadCustomAttributes(null, false).Any() ||
+ #endif
+ type.GetOrLoadCustomAttributes(null, false).Any())
{
- map = (ICanonicalRefMap)typeof(CanonicalRefMap<>).MakeGenericType(type).CreateInstance();
+ map = (ICanonicalRefMap)Activator.CreateInstance(typeof(CanonicalRefMap<>).MakeGenericType(type));
}
table.Add(type, map);
@@ -66,7 +70,7 @@ private abstract class CanonicalRefMapBase : ICanonicalRefMap
protected const int CompactionThreshold = 256 * 1024;
protected static readonly TimeSpan CompactionInterval = TimeSpan.FromMinutes(2);
- #region ICanonicalRefMap implementation (abstract)
+ #region ICanonicalRefMap implementation
public abstract object GetRef(object obj);
@@ -77,9 +81,9 @@ private abstract class CanonicalRefMapBase : ICanonicalRefMap
#region Nested type: CanonicalRefMap
- private sealed class CanonicalRefMap : CanonicalRefMapBase
+ private sealed class CanonicalRefMap : CanonicalRefMapBase where T : struct
{
- private readonly Dictionary map = new Dictionary();
+ private readonly Dictionary> map = new();
private DateTime lastCompactionTime = DateTime.MinValue;
private object GetRefInternal(object obj)
@@ -89,17 +93,16 @@ private object GetRefInternal(object obj)
if (map.TryGetValue(value, out var weakRef))
{
- result = weakRef.Target;
- if (result == null)
+ if (!weakRef.TryGetTarget(out result))
{
result = obj;
- weakRef.Target = result;
+ weakRef.SetTarget(result);
}
}
else
{
result = obj;
- map.Add(value, new WeakReference(result));
+ map.Add(value, new WeakReference