diff --git a/.github/README.md b/.github/README.md index 0eadab4..16eaa4e 100644 --- a/.github/README.md +++ b/.github/README.md @@ -5,9 +5,9 @@ [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](../LICENSE.md) [![PowerShell 3 | 4 | 5](https://img.shields.io/badge/PowerShell-3%20|%204%20|%205-0000FF.svg?logo=PowerShell)](#) -[![Windows Server 2008 R2 | 2012 R2 | 2016 | 2019 | 2022](https://img.shields.io/badge/Windows%20Server-2008%20R2%20|%202012%20R2%20|%202016%20|%202019%20|%202022-007bb8.svg?logo=Windows%2011)](#) +[![Windows Server 2008 R2 | 2012 R2 | 2016 | 2019 | 2022 | 2025](https://img.shields.io/badge/Windows%20Server-2008%20R2%20|%202012%20R2%20|%202016%20|%202019%20|%202022|%202025-007bb8.svg?logo=Windows%2011)](#) [![.NET Framework 4.7.2+](https://img.shields.io/badge/Framework-4.7.2%2B-007FFF.svg?logo=.net)](#) -[![Architecture x64 | x86 | amd64](https://img.shields.io/badge/Architecture-x64%20|%20x86%20|%20ARM64-0071c5.svg?logo=Amazon%20EC2)](#) +[![Architecture x64 | x86 | arm64](https://img.shields.io/badge/Architecture-x64%20|%20x86%20|%20ARM64-0071c5.svg?logo=Amazon%20EC2)](#) ## Introduction @@ -58,7 +58,7 @@ Additional steps might be required on some freshly installed computers before DS ```powershell # TLS 1.2 must be enabled on older versions of Windows. -[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 +[System.Net.ServicePointManager]::SecurityProtocol += [System.Net.SecurityProtocolType]::Tls12 # Download the NuGet package manager binary. Install-PackageProvider -Name NuGet -Force @@ -68,7 +68,6 @@ if($null -eq (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) { # Download the DSInternals PowerShell module. Install-Module -Name DSInternals -Force - ``` ### Chocolatey Package diff --git a/Documentation/CHANGELOG.md b/Documentation/CHANGELOG.md index 8ae6fce..86fcdb4 100644 --- a/Documentation/CHANGELOG.md +++ b/Documentation/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [4.14] - 2024-04-13 + +### Fixed + +- Increased tolerance for malformed DPAPI CNG private keys. +- Improved parsing of conflicting secret object names, e.g., `CN=BCKUPKEY_PREFERRED Secret\\0ACNF:26c8edbb-6b48-4f11-9e13-9ddbccedab5a,CN=System,DC=contoso,DC=com`. + ## [4.13] - 2023-12-20 ### Fixed @@ -503,7 +510,8 @@ This is a [Chocolatey](https://chocolatey.org/packages/dsinternals-psmodule)-onl ## 1.0 - 2015-01-20 Initial release! -[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.13...HEAD +[Unreleased]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.14...HEAD +[4.14]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.13...v4.14 [4.13]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.12...v4.13 [4.12]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.11...v4.12 [4.11]: https://github.com/MichaelGrafnetter/DSInternals/compare/v4.10...v4.11 diff --git a/Src/Configuration/CommonAssemblyInfo.cs b/Src/Configuration/CommonAssemblyInfo.cs index dc91638..ba8f348 100644 --- a/Src/Configuration/CommonAssemblyInfo.cs +++ b/Src/Configuration/CommonAssemblyInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; [assembly: AssemblyProduct("DSInternals PowerShell Module")] -[assembly: AssemblyCopyright("Copyright © 2015-2023 Michael Grafnetter. All rights reserved.")] +[assembly: AssemblyCopyright("Copyright © 2015-2024 Michael Grafnetter. All rights reserved.")] diff --git a/Src/Configuration/CommonAssemblyInfo.h b/Src/Configuration/CommonAssemblyInfo.h index 6da6769..116cec5 100644 --- a/Src/Configuration/CommonAssemblyInfo.h +++ b/Src/Configuration/CommonAssemblyInfo.h @@ -1,4 +1,4 @@ using namespace System::Reflection; [assembly:AssemblyProductAttribute(L"DSInternals PowerShell Module")]; -[assembly:AssemblyCopyrightAttribute(L"Copyright © 2015-2023 Michael Grafnetter. All rights reserved.")]; +[assembly:AssemblyCopyrightAttribute(L"Copyright © 2015-2024 Michael Grafnetter. All rights reserved.")]; diff --git a/Src/DSInternals.Common/DSInternals.Common.nuspec b/Src/DSInternals.Common/DSInternals.Common.nuspec index 0bfcae9..f036bc3 100644 --- a/Src/DSInternals.Common/DSInternals.Common.nuspec +++ b/Src/DSInternals.Common/DSInternals.Common.nuspec @@ -14,9 +14,9 @@ This package is shared between all other DSInternals packages. Its main features are Azure AD Graph API and ADSI clients for for retrieval of cryptographic material. It contains implementations of common hash functions used by Windows, including NT hash, LM hash and OrgId hash. It also contains methods for SysKey/BootKey retrieval. This package is shared between all other DSInternals packages. -- Fixed a bug in LSA Policy modification. +- Minor credential roaming parser improvement. - Copyright (c) 2015-2023 Michael Grafnetter. All rights reserved. + Copyright (c) 2015-2024 Michael Grafnetter. All rights reserved. ActiveDirectory Security AD AAD Identity Active Directory diff --git a/Src/DSInternals.Common/Properties/AssemblyInfo.cs b/Src/DSInternals.Common/Properties/AssemblyInfo.cs index 739461c..a7055f3 100644 --- a/Src/DSInternals.Common/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.Common/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ using System.Runtime.InteropServices; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals Common Library")] -[assembly: AssemblyVersion("4.13")] -[assembly: AssemblyFileVersion("4.13")] +[assembly: AssemblyVersion("4.14")] +[assembly: AssemblyFileVersion("4.14")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec b/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec index e1c7b63..b23c2b4 100644 --- a/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec +++ b/Src/DSInternals.DataStore/DSInternals.DataStore.nuspec @@ -14,9 +14,9 @@ DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation. It can be used to extract password hashes from Active Directory backups or to modify the sIDHistory and primaryGroupId attributes. DSInternals DataStore is an advanced framework for offline ntds.dit file manipulation. -- Updated dependency version. +- Minor credential roaming parser improvement. - Copyright (c) 2015-2023 Michael Grafnetter. All rights reserved. + Copyright (c) 2015-2024 Michael Grafnetter. All rights reserved. ActiveDirectory Security NTDS AD Identity Active Directory diff --git a/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs b/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs index 2171cab..1b72f6e 100644 --- a/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.DataStore/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ using System.Runtime.InteropServices; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals DataStore Library")] -[assembly: AssemblyVersion("4.13")] -[assembly: AssemblyFileVersion("4.13")] +[assembly: AssemblyVersion("4.14")] +[assembly: AssemblyFileVersion("4.14")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec b/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec index 3dd4a0c..5d99b0c 100644 --- a/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec +++ b/Src/DSInternals.PowerShell/Chocolatey/dsinternals-psmodule.nuspec @@ -3,14 +3,14 @@ DSInternals-PSModule - 4.13 + 4.14 https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src/DSInternals.PowerShell/Chocolatey MichaelGrafnetter DSInternals PowerShell Module Michael Grafnetter https://github.com/MichaelGrafnetter/DSInternals https://raw.githubusercontent.com/MichaelGrafnetter/DSInternals/master/Src/Icons/module_black.png - (c) 2015-2023 Michael Grafnetter. All rights reserved. + (c) 2015-2024 Michael Grafnetter. All rights reserved. https://github.com/MichaelGrafnetter/DSInternals/blob/master/Src/DSInternals.PowerShell/License.txt false https://github.com/MichaelGrafnetter/DSInternals/tree/master/Src @@ -37,7 +37,7 @@ The DSInternals PowerShell Module has these main features: ## Disclaimer Features exposed through these tools are not supported by Microsoft. Improper use might cause irreversible damage to domain controllers or negatively impact domain security. -* Fixed a bug in LSA Policy modification. +* Minor credential roaming parser improvement. diff --git a/Src/DSInternals.PowerShell/DSInternals.psd1 b/Src/DSInternals.PowerShell/DSInternals.psd1 index 777897a..0094394 100644 --- a/Src/DSInternals.PowerShell/DSInternals.psd1 +++ b/Src/DSInternals.PowerShell/DSInternals.psd1 @@ -8,7 +8,7 @@ RootModule = 'DSInternals.Bootstrap.psm1' # Version number of this module. -ModuleVersion = '4.13' +ModuleVersion = '4.14' # Supported PSEditions # CompatiblePSEditions = 'Desktop' @@ -23,7 +23,7 @@ Author = 'Michael Grafnetter' CompanyName = 'DSInternals' # Copyright statement for this module -Copyright = '(c) 2015-2023 Michael Grafnetter. All rights reserved.' +Copyright = '(c) 2015-2024 Michael Grafnetter. All rights reserved.' # Description of the functionality provided by this module Description = @" @@ -143,7 +143,7 @@ PrivateData = @{ # ReleaseNotes of this module ReleaseNotes = @" -- Fixed a bug in LSA Policy modification. +- Minor credential roaming parser improvement. "@ } # End of PSData hashtable diff --git a/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs b/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs index ca29534..d976bd2 100644 --- a/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.PowerShell/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ using System.Runtime.InteropServices; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals PowerShell Commands")] -[assembly: AssemblyVersion("4.13")] -[assembly: AssemblyFileVersion("4.13")] +[assembly: AssemblyVersion("4.14")] +[assembly: AssemblyFileVersion("4.14")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp b/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp index 4349e27..64eb4c3 100644 --- a/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp +++ b/Src/DSInternals.Replication.Interop/AssemblyInfo.cpp @@ -14,7 +14,7 @@ using namespace System::Security::Permissions; // [assembly:AssemblyTitleAttribute(L"DSInternals Replication Interop Library")]; // Note: Do not forget to change the version in version.rc files. -[assembly:AssemblyVersionAttribute("4.13")]; +[assembly:AssemblyVersionAttribute("4.14")]; [assembly:AssemblyDescriptionAttribute(L"")]; [assembly:AssemblyConfigurationAttribute(L"")]; [assembly:AssemblyCompanyAttribute(L"")]; diff --git a/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj b/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj index a9ba565..7d78746 100644 --- a/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj +++ b/Src/DSInternals.Replication.Interop/DSInternals.Replication.Interop.vcxproj @@ -2,10 +2,6 @@ - - Debug - ARM - Debug ARM64 @@ -18,10 +14,6 @@ Debug x64 - - Release - ARM - Release ARM64 @@ -62,13 +54,6 @@ true Unicode - - DynamicLibrary - true - $(DefaultPlatformToolSet) - true - Unicode - DynamicLibrary true @@ -90,13 +75,6 @@ true Unicode - - DynamicLibrary - false - $(DefaultPlatformToolSet) - true - Unicode - DynamicLibrary false @@ -113,9 +91,6 @@ - - - @@ -125,9 +100,6 @@ - - - @@ -140,11 +112,6 @@ true $(ProjectDir);$(IncludePath) - - true - $(ProjectDir);$(IncludePath) - false - true $(ProjectDir);$(IncludePath) @@ -158,11 +125,6 @@ false $(ProjectDir);$(IncludePath) - - false - $(ProjectDir);$(IncludePath) - false - false $(ProjectDir);$(IncludePath) @@ -226,35 +188,6 @@ All - - - Level3 - Disabled - WIN32;_DEBUG;%(PreprocessorDefinitions) - Use - MultiThreadedDebugDLL - false - true - stdafx.h - - - DebugFull - RpcRT4.lib;Secur32.lib - Default - - - %(Filename).h - - - Stub - - - None - %(Filename).cpp - false - All - - Level3 @@ -334,31 +267,6 @@ %(Filename).cpp - - - Level3 - WIN32;NDEBUG;%(PreprocessorDefinitions) - Use - MultiThreadedDLL - Async - stdafx.h - - - false - Rpcrt4.lib;Secur32.lib - Default - - - %(Filename).h - - - Stub - - - None - %(Filename).cpp - - Level3 @@ -404,10 +312,8 @@ stdafx.h;unmanaged.h;%(ForcedIncludeFiles) - stdafx.h;unmanaged.h;%(ForcedIncludeFiles) stdafx.h;unmanaged.h;%(ForcedIncludeFiles) stdafx.h;unmanaged.h;%(ForcedIncludeFiles) - stdafx.h;unmanaged.h;%(ForcedIncludeFiles) stdafx.h;unmanaged.h;%(ForcedIncludeFiles) stdafx.h;unmanaged.h;%(ForcedIncludeFiles) stdafx.h;unmanaged.h;%(ForcedIncludeFiles) @@ -446,17 +352,14 @@ false - false false false true - true true true true - true true true @@ -478,4 +381,4 @@ - \ No newline at end of file + diff --git a/Src/DSInternals.Replication.Interop/version.rc b/Src/DSInternals.Replication.Interop/version.rc index 41db9de..e82eb6f 100644 --- a/Src/DSInternals.Replication.Interop/version.rc +++ b/Src/DSInternals.Replication.Interop/version.rc @@ -39,8 +39,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,13,0,0 - PRODUCTVERSION 4,13,0,0 + FILEVERSION 4,14,0,0 + PRODUCTVERSION 4,14,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -57,12 +57,12 @@ BEGIN BEGIN VALUE "CompanyName", "Michael Grafnetter" VALUE "FileDescription", "DSInternals Replication Interop Library" - VALUE "FileVersion", "4.13.0.0" + VALUE "FileVersion", "4.14.0.0" VALUE "InternalName", "DSInternals.Replication.Interop" - VALUE "LegalCopyright", "Copyright © 2015-2023 Michael Grafnetter" + VALUE "LegalCopyright", "Copyright © 2015-2024 Michael Grafnetter" VALUE "OriginalFilename", "DSInternals.Replication.Interop.dll" VALUE "ProductName", "DSInternals PowerShell Module" - VALUE "ProductVersion", "4.13.0.0" + VALUE "ProductVersion", "4.14.0.0" END END BLOCK "VarFileInfo" diff --git a/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs b/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs index 8cc1035..923e1bf 100644 --- a/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.Replication.Model/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ using System.Runtime.InteropServices; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals Replication Data Model")] -[assembly: AssemblyVersion("4.13")] -[assembly: AssemblyFileVersion("4.13")] +[assembly: AssemblyVersion("4.14")] +[assembly: AssemblyFileVersion("4.14")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.Replication/DSInternals.Replication.nuspec b/Src/DSInternals.Replication/DSInternals.Replication.nuspec index f65d8c4..24fe6d5 100644 --- a/Src/DSInternals.Replication/DSInternals.Replication.nuspec +++ b/Src/DSInternals.Replication/DSInternals.Replication.nuspec @@ -14,9 +14,9 @@ DSInternals Replication implements a client for the Active Directory Replication Service Remote Protocol (DRS-R). It can be used to remotely extract password hashes from domain controllers. DSInternals Replication implements a client for the Active Directory Replication Service Remote Protocol (DRS-R). -- Updated dependency version. +- Minor credential roaming parser improvement. - Copyright (c) 2015-2023 Michael Grafnetter. All rights reserved. + Copyright (c) 2015-2024 Michael Grafnetter. All rights reserved. ActiveDirectory Security RPC DRSR diff --git a/Src/DSInternals.Replication/Properties/AssemblyInfo.cs b/Src/DSInternals.Replication/Properties/AssemblyInfo.cs index 3baa88e..b744e63 100644 --- a/Src/DSInternals.Replication/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.Replication/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ using System.Runtime.InteropServices; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals Replication Library")] -[assembly: AssemblyVersion("4.13")] -[assembly: AssemblyFileVersion("4.13")] +[assembly: AssemblyVersion("4.14")] +[assembly: AssemblyFileVersion("4.14")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.SAM/DSInternals.SAM.nuspec b/Src/DSInternals.SAM/DSInternals.SAM.nuspec index 3b15ba0..7931eac 100644 --- a/Src/DSInternals.SAM/DSInternals.SAM.nuspec +++ b/Src/DSInternals.SAM/DSInternals.SAM.nuspec @@ -14,9 +14,9 @@ DSInternals SAM implements a client for the Security Accounts Manager Remote Protocol (SAM-R) and Local Security Authority Remote Protocol(MS-LSAD or LSARPC). It can be used to import password hashes into Active Directory or to query and modify LSA Policy. DSInternals SAM implements a client for SAM-R and MS-LSAD/LSARPC protocols. -- Fixed a bug in LSA Policy modification. +- Updated dependency version. - Copyright (c) 2015-2023 Michael Grafnetter. All rights reserved. + Copyright (c) 2015-2024 Michael Grafnetter. All rights reserved. ActiveDirectory Security RPC SAMR LSARPC AD Identity Active Directory diff --git a/Src/DSInternals.SAM/Properties/AssemblyInfo.cs b/Src/DSInternals.SAM/Properties/AssemblyInfo.cs index f700d55..1bc7c37 100644 --- a/Src/DSInternals.SAM/Properties/AssemblyInfo.cs +++ b/Src/DSInternals.SAM/Properties/AssemblyInfo.cs @@ -5,8 +5,8 @@ using System.Runtime.InteropServices; // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DSInternals SAM Library")] -[assembly: AssemblyVersion("4.13")] -[assembly: AssemblyFileVersion("4.13")] +[assembly: AssemblyVersion("4.14")] +[assembly: AssemblyFileVersion("4.14")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] diff --git a/Src/DSInternals.sln b/Src/DSInternals.sln index f78b251..3b386d7 100644 --- a/Src/DSInternals.sln +++ b/Src/DSInternals.sln @@ -125,199 +125,152 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PowerShell", "PowerShell", EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM = Debug|ARM Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 - Release|ARM = Release|ARM Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|ARM.ActiveCfg = Debug|Any CPU - {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|ARM.Build.0 = Debug|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|ARM64.ActiveCfg = Debug|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|ARM64.Build.0 = Debug|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|x64.ActiveCfg = Debug|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|x64.Build.0 = Debug|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|x86.ActiveCfg = Debug|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Debug|x86.Build.0 = Debug|Any CPU - {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Release|ARM.ActiveCfg = Release|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Release|ARM64.ActiveCfg = Release|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Release|x64.ActiveCfg = Release|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Release|x86.ActiveCfg = Release|Any CPU {C7EECC1F-1F9C-400B-A981-A8106E2A75F7}.Release|x86.Build.0 = Release|Any CPU - {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|ARM.ActiveCfg = Debug|Any CPU - {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|ARM.Build.0 = Debug|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|ARM64.ActiveCfg = Debug|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|ARM64.Build.0 = Debug|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|x64.ActiveCfg = Debug|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|x64.Build.0 = Debug|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|x86.ActiveCfg = Debug|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Debug|x86.Build.0 = Debug|Any CPU - {924F67C0-8FFF-4714-891A-FC0799F46727}.Release|ARM.ActiveCfg = Release|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Release|ARM64.ActiveCfg = Release|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Release|x64.ActiveCfg = Release|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Release|x86.ActiveCfg = Release|Any CPU {924F67C0-8FFF-4714-891A-FC0799F46727}.Release|x86.Build.0 = Release|Any CPU - {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|ARM.ActiveCfg = Debug|Any CPU - {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|ARM.Build.0 = Debug|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|ARM64.ActiveCfg = Debug|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|ARM64.Build.0 = Debug|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|x64.ActiveCfg = Debug|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|x64.Build.0 = Debug|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|x86.ActiveCfg = Debug|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Debug|x86.Build.0 = Debug|Any CPU - {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|ARM.ActiveCfg = Release|Any CPU - {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|ARM.Build.0 = Release|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|ARM64.ActiveCfg = Release|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|ARM64.Build.0 = Release|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|x64.ActiveCfg = Release|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|x64.Build.0 = Release|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|x86.ActiveCfg = Release|Any CPU {7D47F040-D3A9-43CA-9F69-EF91FAF2C23A}.Release|x86.Build.0 = Release|Any CPU - {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|ARM.Build.0 = Debug|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|ARM64.ActiveCfg = Debug|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|ARM64.Build.0 = Debug|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|x64.ActiveCfg = Debug|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|x64.Build.0 = Debug|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|x86.ActiveCfg = Debug|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Debug|x86.Build.0 = Debug|Any CPU - {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Release|ARM.ActiveCfg = Release|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Release|ARM64.ActiveCfg = Release|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Release|x64.ActiveCfg = Release|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Release|x86.ActiveCfg = Release|Any CPU {8A857B97-1BE0-4BAE-A4E8-DEE870858BFD}.Release|x86.Build.0 = Release|Any CPU - {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|ARM.ActiveCfg = Debug|Any CPU - {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|ARM.Build.0 = Debug|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|ARM64.ActiveCfg = Debug|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|ARM64.Build.0 = Debug|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|x64.ActiveCfg = Debug|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|x64.Build.0 = Debug|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|x86.ActiveCfg = Debug|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Debug|x86.Build.0 = Debug|Any CPU - {744163E3-AEDA-407C-A917-7C406977B4B8}.Release|ARM.ActiveCfg = Release|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Release|ARM64.ActiveCfg = Release|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Release|x64.ActiveCfg = Release|Any CPU {744163E3-AEDA-407C-A917-7C406977B4B8}.Release|x86.ActiveCfg = Release|Any CPU - {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|ARM.ActiveCfg = Debug|Any CPU - {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|ARM.Build.0 = Debug|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|ARM64.ActiveCfg = Debug|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|ARM64.Build.0 = Debug|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|x64.ActiveCfg = Debug|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|x64.Build.0 = Debug|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|x86.ActiveCfg = Debug|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Debug|x86.Build.0 = Debug|Any CPU - {91377A6C-52EE-4267-9D6A-1475E2183648}.Release|ARM.ActiveCfg = Release|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Release|ARM64.ActiveCfg = Release|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Release|x64.ActiveCfg = Release|Any CPU {91377A6C-52EE-4267-9D6A-1475E2183648}.Release|x86.ActiveCfg = Release|Any CPU - {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|ARM.ActiveCfg = Debug|ARM - {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|ARM.Build.0 = Debug|ARM {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|ARM64.ActiveCfg = Debug|ARM64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|ARM64.Build.0 = Debug|ARM64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|x64.ActiveCfg = Debug|x64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|x64.Build.0 = Debug|x64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|x86.ActiveCfg = Debug|Win32 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Debug|x86.Build.0 = Debug|Win32 - {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|ARM.ActiveCfg = Release|ARM - {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|ARM.Build.0 = Release|ARM {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|ARM64.ActiveCfg = Release|ARM64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|ARM64.Build.0 = Release|ARM64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|x64.ActiveCfg = Release|x64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|x64.Build.0 = Release|x64 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|x86.ActiveCfg = Release|Win32 {A70A6658-DD67-4C73-AB9A-581465137C6B}.Release|x86.Build.0 = Release|Win32 - {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|ARM.ActiveCfg = Debug|Any CPU - {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|ARM.Build.0 = Debug|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|ARM64.ActiveCfg = Debug|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|ARM64.Build.0 = Debug|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|x64.ActiveCfg = Debug|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|x64.Build.0 = Debug|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|x86.ActiveCfg = Debug|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Debug|x86.Build.0 = Debug|Any CPU - {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|ARM.ActiveCfg = Release|Any CPU - {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|ARM.Build.0 = Release|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|ARM64.ActiveCfg = Release|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|ARM64.Build.0 = Release|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|x64.ActiveCfg = Release|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|x64.Build.0 = Release|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|x86.ActiveCfg = Release|Any CPU {0BCA513C-5F12-48B6-8288-D3A95EC2994A}.Release|x86.Build.0 = Release|Any CPU - {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|ARM.ActiveCfg = Debug|Any CPU - {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|ARM.Build.0 = Debug|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|ARM64.ActiveCfg = Debug|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|ARM64.Build.0 = Debug|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|x64.ActiveCfg = Debug|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|x64.Build.0 = Debug|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|x86.ActiveCfg = Debug|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Debug|x86.Build.0 = Debug|Any CPU - {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Release|ARM.ActiveCfg = Release|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Release|ARM64.ActiveCfg = Release|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Release|x64.ActiveCfg = Release|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Release|x86.ActiveCfg = Release|Any CPU {2EE0D48F-65BA-4D4F-A8E1-FC01349BA786}.Release|x86.Build.0 = Release|Any CPU - {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|ARM.ActiveCfg = Debug|Any CPU - {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|ARM.Build.0 = Debug|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|ARM64.ActiveCfg = Debug|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|ARM64.Build.0 = Debug|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|x64.ActiveCfg = Debug|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|x64.Build.0 = Debug|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|x86.ActiveCfg = Debug|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Debug|x86.Build.0 = Debug|Any CPU - {11DB6E06-E5E4-4612-9062-0B8E68099880}.Release|ARM.ActiveCfg = Release|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Release|ARM64.ActiveCfg = Release|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Release|x64.ActiveCfg = Release|Any CPU {11DB6E06-E5E4-4612-9062-0B8E68099880}.Release|x86.ActiveCfg = Release|Any CPU - {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|ARM.ActiveCfg = Debug|Any CPU - {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|ARM.Build.0 = Debug|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|ARM64.ActiveCfg = Debug|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|ARM64.Build.0 = Debug|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|x64.ActiveCfg = Debug|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|x64.Build.0 = Debug|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|x86.ActiveCfg = Debug|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Debug|x86.Build.0 = Debug|Any CPU - {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Release|ARM.ActiveCfg = Release|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Release|ARM64.ActiveCfg = Release|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Release|x64.ActiveCfg = Release|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Release|x86.ActiveCfg = Release|Any CPU {21CC632C-B09A-4DB7-BD6E-7F7D2716F58F}.Release|x86.Build.0 = Release|Any CPU - {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|ARM.ActiveCfg = Debug|Any CPU - {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|ARM.Build.0 = Debug|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|ARM64.ActiveCfg = Debug|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|ARM64.Build.0 = Debug|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|x64.ActiveCfg = Debug|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|x64.Build.0 = Debug|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|x86.ActiveCfg = Debug|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Debug|x86.Build.0 = Debug|Any CPU - {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Release|ARM.ActiveCfg = Release|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Release|ARM64.ActiveCfg = Release|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Release|x64.ActiveCfg = Release|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Release|x86.ActiveCfg = Release|Any CPU {E929E163-52A0-4AAC-917B-6D7FAF70C45E}.Release|x86.Build.0 = Release|Any CPU - {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|ARM.ActiveCfg = Debug|Any CPU - {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|ARM.Build.0 = Debug|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|ARM64.ActiveCfg = Debug|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|ARM64.Build.0 = Debug|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|x64.ActiveCfg = Debug|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|x64.Build.0 = Debug|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|x86.ActiveCfg = Debug|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Debug|x86.Build.0 = Debug|Any CPU - {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Release|ARM.ActiveCfg = Release|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Release|ARM64.ActiveCfg = Release|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Release|x64.ActiveCfg = Release|Any CPU {B7E02A94-DA21-4302-82A6-2D4B7F279F21}.Release|x86.ActiveCfg = Release|Any CPU - {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|ARM.ActiveCfg = Debug|Any CPU - {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|ARM.Build.0 = Debug|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|ARM64.ActiveCfg = Debug|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|ARM64.Build.0 = Debug|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|x64.ActiveCfg = Debug|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|x64.Build.0 = Debug|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|x86.ActiveCfg = Debug|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Debug|x86.Build.0 = Debug|Any CPU - {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Release|ARM.ActiveCfg = Release|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Release|ARM64.ActiveCfg = Release|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Release|x64.ActiveCfg = Release|Any CPU {7420D8C2-14BE-40F2-B724-A88D27BC6743}.Release|x86.ActiveCfg = Release|Any CPU