diff --git a/WPinternals.sln b/WPinternals.sln
index 51ba9f7..f4fa207 100644
--- a/WPinternals.sln
+++ b/WPinternals.sln
@@ -7,7 +7,18 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WPinternals", "WPinternals\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RootAccessTestUWP", "RootAccessTestUWP\RootAccessTestUWP.csproj", "{8B6AADBB-C750-492E-AF60-82F6323401CC}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPinternalsSDK.WP81", "WPinternalsSDK.WP81\WPinternalsSDK.WP81.csproj", "{25D167AB-D58A-4195-8EF7-E736F330822C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPinternalsSDK.UWP", "WPinternalsSDK.UWP\WPinternalsSDK.UWP.csproj", "{53EDF96D-D4F7-476C-9030-C29AD132719D}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "WPinternalsSDK", "WPinternalsSDK\WPinternalsSDK.shproj", "{D29275F2-BB58-44A2-81E1-96D68C4C48DB}"
+EndProject
Global
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ WPinternalsSDK\WPinternalsSDK.projitems*{25d167ab-d58a-4195-8ef7-e736f330822c}*SharedItemsImports = 4
+ WPinternalsSDK\WPinternalsSDK.projitems*{53edf96d-d4f7-476c-9030-c29ad132719d}*SharedItemsImports = 4
+ WPinternalsSDK\WPinternalsSDK.projitems*{d29275f2-bb58-44a2-81e1-96d68c4c48db}*SharedItemsImports = 13
+ EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
@@ -1327,6 +1338,886 @@ Global
{8B6AADBB-C750-492E-AF60-82F6323401CC}.Release-Test|x86.ActiveCfg = Release|x86
{8B6AADBB-C750-492E-AF60-82F6323401CC}.Release-Test|x86.Build.0 = Release|x86
{8B6AADBB-C750-492E-AF60-82F6323401CC}.Release-Test|x86.Deploy.0 = Release|x86
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-AddEmergency|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-BackupGPT|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ClearNV|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-930|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950 (no restart)|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-CustomFlash-950|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLall|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLEmergency|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DLFFU|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpFFU|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-DumpUEFI|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccess|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableRootAccessOnImage|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning (no restart)|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-EnableTestSigning|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfile|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FindFlashingProfileNoRestart|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FixBoot|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashCustomRom-640|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1073|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashFFU-RM1085|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-FlashRaw|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Help|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlXml|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MergeGptXmlZip|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-MSM|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ReadGPT|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RelockPhone|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-RestoreGPT|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowFFU|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-ShowPhoneInfo|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-Test|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-550|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-630|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-640|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-650|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-930|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-TestProgrammer-950|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Debug-UnlockBootloader|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|Any CPU.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|Any CPU.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|ARM64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x64.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x64.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x86.ActiveCfg = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Preview-Test|x86.Build.0 = Debug|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|ARM64.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x64.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x64.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x86.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release|x86.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|Any CPU.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|Any CPU.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM64.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|ARM64.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x64.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x64.Build.0 = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x86.ActiveCfg = Release|Any CPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}.Release-Test|x86.Build.0 = Release|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-AddEmergency|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-BackupGPT|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ClearNV|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-930|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950 (no restart)|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-CustomFlash-950|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLall|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLEmergency|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DLFFU|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpFFU|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-DumpUEFI|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccess|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableRootAccessOnImage|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning (no restart)|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-EnableTestSigning|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfile|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FindFlashingProfileNoRestart|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FixBoot|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashCustomRom-640|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1073|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashFFU-RM1085|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-FlashRaw|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Help|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlXml|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MergeGptXmlZip|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-MSM|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ReadGPT|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RelockPhone|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-RestoreGPT|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowFFU|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-ShowPhoneInfo|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-Test|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-550|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-630|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-640|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-650|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-930|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-TestProgrammer-950|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Debug-UnlockBootloader|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|Any CPU.ActiveCfg = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|Any CPU.Build.0 = Debug|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM.ActiveCfg = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM.Build.0 = Debug|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM64.ActiveCfg = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|ARM64.Build.0 = Debug|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x64.ActiveCfg = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x64.Build.0 = Debug|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x86.ActiveCfg = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Preview-Test|x86.Build.0 = Debug|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM.ActiveCfg = Release|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM.Build.0 = Release|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM64.ActiveCfg = Release|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|ARM64.Build.0 = Release|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x64.ActiveCfg = Release|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x64.Build.0 = Release|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x86.ActiveCfg = Release|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release|x86.Build.0 = Release|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|Any CPU.ActiveCfg = Release|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|Any CPU.Build.0 = Release|Any CPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM.ActiveCfg = Release|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM.Build.0 = Release|ARM
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM64.ActiveCfg = Release|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|ARM64.Build.0 = Release|ARM64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x64.ActiveCfg = Release|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x64.Build.0 = Release|x64
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x86.ActiveCfg = Release|x86
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}.Release-Test|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/WPinternalsSDK.UWP/Properties/WPinternalsSDK.UWP.rd.xml b/WPinternalsSDK.UWP/Properties/WPinternalsSDK.UWP.rd.xml
new file mode 100644
index 0000000..90b020c
--- /dev/null
+++ b/WPinternalsSDK.UWP/Properties/WPinternalsSDK.UWP.rd.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
diff --git a/WPinternalsSDK.UWP/WPinternalsSDK.UWP.csproj b/WPinternalsSDK.UWP/WPinternalsSDK.UWP.csproj
new file mode 100644
index 0000000..46d8453
--- /dev/null
+++ b/WPinternalsSDK.UWP/WPinternalsSDK.UWP.csproj
@@ -0,0 +1,142 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {53EDF96D-D4F7-476C-9030-C29AD132719D}
+ Library
+ Properties
+ WPinternalsSDK.UWP
+ WPinternalsSDK.UWP
+ en-US
+ UAP
+ 10.0.22000.0
+ 10.0.10240.0
+ 14
+ 512
+ {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ prompt
+ 4
+
+
+ x86
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ false
+ prompt
+
+
+ x86
+ bin\x86\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ false
+ prompt
+
+
+ ARM
+ true
+ bin\ARM\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ false
+ prompt
+
+
+ ARM
+ bin\ARM\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ false
+ prompt
+
+
+ ARM64
+ true
+ bin\ARM64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ false
+ prompt
+
+
+ ARM64
+ bin\ARM64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ false
+ prompt
+
+
+ x64
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ false
+ prompt
+
+
+ x64
+ bin\x64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ false
+ prompt
+
+
+ PackageReference
+
+
+
+
+
+
+ 6.2.12
+
+
+
+
+ 14.0
+
+
+
+
\ No newline at end of file
diff --git a/WPinternalsSDK.WP81/WPinternalsSDK.WP81.csproj b/WPinternalsSDK.WP81/WPinternalsSDK.WP81.csproj
new file mode 100644
index 0000000..3ee5849
--- /dev/null
+++ b/WPinternalsSDK.WP81/WPinternalsSDK.WP81.csproj
@@ -0,0 +1,53 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {25D167AB-D58A-4195-8EF7-E736F330822C}
+ Library
+ WPinternalsSDK
+ WPinternalsSDK
+ v8.1
+ WindowsPhoneApp
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WPinternalsSDK/CreationDisposition.cs b/WPinternalsSDK/CreationDisposition.cs
new file mode 100644
index 0000000..477d60d
--- /dev/null
+++ b/WPinternalsSDK/CreationDisposition.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum CreationDisposition
+ {
+ CreateNew = 1,
+ CreateAlways,
+ OpenExisting,
+ OpenAlways,
+ TruncateExisting,
+ OpenForLoader
+ }
+}
diff --git a/WPinternalsSDK/Environment.cs b/WPinternalsSDK/Environment.cs
new file mode 100644
index 0000000..3bc29eb
--- /dev/null
+++ b/WPinternalsSDK/Environment.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace WPinternalsSDK
+{
+ public static class Environment
+ {
+ public static bool HasRootAccess()
+ {
+ bool result = true;
+ try
+ {
+ new Folder("C:\\Windows\\System32\\config").GetSubItems();
+ }
+ catch
+ {
+ result = false;
+ }
+ try
+ {
+ new RegistryKey((RegistryHive)2147483650U, "Security").GetSubItems();
+ }
+ catch
+ {
+ result = false;
+ }
+ try
+ {
+ Environment.ShellExecute("C:\\WINDOWS\\SYSTEM32\\INSTALLAGENT.EXE");
+ }
+ catch
+ {
+ result = false;
+ }
+ return result;
+ }
+
+ public static void Elevate()
+ {
+ IntPtr intPtr;
+ UIntPtr uintPtr;
+ UIntPtr uintPtr2;
+ uint num;
+ if (!Win32.LogonUserExEx("DefApps", "", "", 2U, 0U, UIntPtr.Zero, out intPtr, out uintPtr, out uintPtr2, out num, UIntPtr.Zero))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Elevate failed");
+ }
+ }
+
+ public static void ShellExecute(string Application)
+ {
+ Environment.ShellExecute(Application, null);
+ }
+
+ public static void ShellExecute(string Application, string Arguments)
+ {
+ PROCESS_INFORMATION process_INFORMATION = default(PROCESS_INFORMATION);
+ STARTUPINFO startupinfo = default(STARTUPINFO);
+ if (!Win32.CreateProcess(Application, Arguments, UIntPtr.Zero, UIntPtr.Zero, false, 32U, IntPtr.Zero, null, ref startupinfo, out process_INFORMATION))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "CreateProcess failed");
+ }
+ if (process_INFORMATION.hProcess != IntPtr.Zero && process_INFORMATION.hProcess != (IntPtr)(-1))
+ {
+ Win32.CloseHandle(process_INFORMATION.hProcess);
+ }
+ if (process_INFORMATION.hThread != IntPtr.Zero && process_INFORMATION.hThread != (IntPtr)(-1))
+ {
+ Win32.CloseHandle(process_INFORMATION.hThread);
+ return;
+ }
+ }
+ }
+}
diff --git a/WPinternalsSDK/FILETIME.cs b/WPinternalsSDK/FILETIME.cs
new file mode 100644
index 0000000..6eebd02
--- /dev/null
+++ b/WPinternalsSDK/FILETIME.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ internal struct FILETIME
+ {
+ public uint DateTimeLow;
+
+ public uint DateTimeHigh;
+ }
+}
diff --git a/WPinternalsSDK/File.cs b/WPinternalsSDK/File.cs
new file mode 100644
index 0000000..6c2b314
--- /dev/null
+++ b/WPinternalsSDK/File.cs
@@ -0,0 +1,37 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public class File : FileSystemEntry
+ {
+ public File(string Path, FileAttributes Attributes) : base(Path, Attributes)
+ {
+ }
+
+ public ulong Size
+ {
+ get
+ {
+ if (!this.sizeQueried)
+ {
+ this.size = FileSystem.GetFileSize(base.Path);
+ }
+ return this.size;
+ }
+ internal set
+ {
+ this.size = value;
+ this.sizeQueried = true;
+ }
+ }
+
+ public override string ToString()
+ {
+ return base.Path;
+ }
+
+ private bool sizeQueried;
+
+ private ulong size;
+ }
+}
diff --git a/WPinternalsSDK/FileAccess.cs b/WPinternalsSDK/FileAccess.cs
new file mode 100644
index 0000000..38b71fb
--- /dev/null
+++ b/WPinternalsSDK/FileAccess.cs
@@ -0,0 +1,40 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ internal enum FileAccess : uint
+ {
+ AccessSystemSecurity = 16777216U,
+ MaximumAllowed = 33554432U,
+ Delete = 65536U,
+ ReadControl = 131072U,
+ WriteDAC = 262144U,
+ WriteOwner = 524288U,
+ Synchronize = 1048576U,
+ StandardRightsRequired = 983040U,
+ StandardRightsRead = 131072U,
+ StandardRightsWrite = 131072U,
+ StandardRightsExecute = 131072U,
+ StandardRightsAll = 2031616U,
+ SpecificRightsAll = 65535U,
+ ReadData = 1U,
+ ListDirectory = 1U,
+ WriteData = 2U,
+ AddFile = 2U,
+ AppendData = 4U,
+ AddSubdirectory = 4U,
+ CreatePipeInstance = 4U,
+ ReadEa = 8U,
+ WriteEa = 16U,
+ Execute = 32U,
+ Traverse = 32U,
+ DeleteChild = 64U,
+ ReadAttributes = 128U,
+ WriteAttributes = 256U,
+ GenericRead = 2147483648U,
+ GenericWrite = 1073741824U,
+ GenericExecute = 536870912U,
+ GenericAll = 268435456U
+ }
+}
diff --git a/WPinternalsSDK/FileAttributes.cs b/WPinternalsSDK/FileAttributes.cs
new file mode 100644
index 0000000..31db876
--- /dev/null
+++ b/WPinternalsSDK/FileAttributes.cs
@@ -0,0 +1,36 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ public enum FileAttributes : uint
+ {
+ Invalid = 4294967295U,
+ Readonly = 1U,
+ Hidden = 2U,
+ System = 4U,
+ Directory = 16U,
+ Archive = 32U,
+ Device = 64U,
+ Normal = 128U,
+ Temporary = 256U,
+ SparseFile = 512U,
+ ReparsePoint = 1024U,
+ Compressed = 2048U,
+ Offline = 4096U,
+ NotContentIndexed = 8192U,
+ Encrypted = 16384U,
+ Virtual = 65536U,
+ BackupSemantics = 33554432U,
+ DeleteOnClose = 67108864U,
+ NoBuffering = 536870912U,
+ OpenNoRecall = 1048576U,
+ OpenReparsePoint = 2097152U,
+ Overlapped = 1073741824U,
+ PosixSemantics = 1048576U,
+ RandomAccess = 268435456U,
+ SessionAware = 8388608U,
+ SequentialScan = 134217728U,
+ WriteThrough = 2147483648U
+ }
+}
diff --git a/WPinternalsSDK/FileStream.cs b/WPinternalsSDK/FileStream.cs
new file mode 100644
index 0000000..2665025
--- /dev/null
+++ b/WPinternalsSDK/FileStream.cs
@@ -0,0 +1,254 @@
+using System;
+using System.IO;
+using System.Runtime.InteropServices;
+
+namespace WPinternalsSDK
+{
+ public class FileStream : Stream
+ {
+ public FileStream(string Path, FileStreamMode Mode)
+ {
+ try
+ {
+ this.path = Path;
+ this.mode = Mode;
+ switch (this.mode)
+ {
+ case FileStreamMode.Read:
+ this.length = (uint)FileSystem.GetFileSize(this.path);
+ if (this.length > 0U)
+ {
+ this.hFile = Win32.CreateFile(this.path, (FileAccess)2147483648U, ShareMode.Read | ShareMode.Write, IntPtr.Zero, CreationDisposition.OpenExisting, FileAttributes.Normal, IntPtr.Zero);
+ }
+ break;
+ case FileStreamMode.Write:
+ this.hFile = Win32.CreateFile(this.path, FileAccess.GenericWrite, ShareMode.None, IntPtr.Zero, CreationDisposition.CreateAlways, FileAttributes.Normal, IntPtr.Zero);
+ break;
+ case FileStreamMode.ReadWrite:
+ if (FileSystem.FileExists(this.path))
+ {
+ this.length = (uint)FileSystem.GetFileSize(this.path);
+ }
+ this.hFile = Win32.CreateFile(this.path, (FileAccess)3221225472U, ShareMode.None, IntPtr.Zero, CreationDisposition.OpenAlways, FileAttributes.Normal, IntPtr.Zero);
+ break;
+ }
+ this.open = true;
+ }
+ catch
+ {
+ throw;
+ }
+ }
+
+ public override bool CanRead
+ {
+ get
+ {
+ return (this.mode == FileStreamMode.Read || this.mode == FileStreamMode.ReadWrite) && this.open;
+ }
+ }
+
+ public override bool CanSeek
+ {
+ get
+ {
+ return true;
+ }
+ }
+
+ public override bool CanWrite
+ {
+ get
+ {
+ return (this.mode == FileStreamMode.Write || this.mode == FileStreamMode.ReadWrite) && this.open;
+ }
+ }
+
+ public override void Flush()
+ {
+ }
+
+ public override long Length
+ {
+ get
+ {
+ return (long)((ulong)((this.mode == FileStreamMode.Read) ? this.length : this.position));
+ }
+ }
+
+ public override long Position
+ {
+ get
+ {
+ return (long)((ulong)this.position);
+ }
+ set
+ {
+ if (value != (long)((ulong)this.position))
+ {
+ if (value < 0L || value > -1)
+ {
+ throw new IndexOutOfRangeException("Position must be unsigned 32 bit");
+ }
+ int num;
+ if (Win32.SetFilePointer(this.hFile, (int)value, out num, MoveMethod.Begin) == 4294967295U)
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set position");
+ }
+ this.position = (uint)value;
+ }
+ }
+ }
+
+ public override int Read(byte[] buffer, int offset, int count)
+ {
+ if (!this.open)
+ {
+ throw new InvalidOperationException("Stream is closed");
+ }
+ if (this.mode != FileStreamMode.Read && this.mode != FileStreamMode.ReadWrite)
+ {
+ throw new InvalidOperationException("Cannot read from this stream");
+ }
+ if (count < 0)
+ {
+ throw new ArgumentException("Count must have a positive value");
+ }
+ uint num = this.length - this.position;
+ if (num < 0U)
+ {
+ num = 0U;
+ }
+ if (buffer == null)
+ {
+ throw new ArgumentNullException("Buffer cannot be null");
+ }
+ if ((ulong)num > (ulong)((long)count))
+ {
+ num = (uint)count;
+ }
+ if (num > 0U)
+ {
+ if ((long)offset + (long)((ulong)num) > (long)buffer.Length)
+ {
+ throw new ArgumentException("Buffer too small");
+ }
+ if (!Win32.ReadFile(this.hFile, buffer, (uint)count, out num, UIntPtr.Zero))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to read file");
+ }
+ this.position += num;
+ }
+ return (int)num;
+ }
+
+ public override long Seek(long offset, SeekOrigin origin)
+ {
+ if (offset < -2147483648L || offset > 2147483647L)
+ {
+ throw new IndexOutOfRangeException("Offset must be in 32 bit range");
+ }
+ int num2;
+ uint num = Win32.SetFilePointer(this.hFile, (int)offset, out num2, (MoveMethod)origin);
+ if (num == 4294967295U)
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Seek failed");
+ }
+ this.position = num;
+ return (long)((ulong)this.position);
+ }
+
+ public override void SetLength(long value)
+ {
+ if (this.mode != FileStreamMode.ReadWrite)
+ {
+ throw new InvalidOperationException("Only possible to set the lenght when FileAccessMode is ReadWrite");
+ }
+ if (value < 0L || value > -1)
+ {
+ throw new IndexOutOfRangeException("Length must be unsigned 32 bit");
+ }
+ int num;
+ if (Win32.SetFilePointer(this.hFile, (int)value, out num, MoveMethod.Begin) == 4294967295U)
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set length");
+ }
+ if (!Win32.SetEndOfFile(this.hFile))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set length");
+ }
+ if ((ulong)this.position > (ulong)value)
+ {
+ this.position = (uint)value;
+ }
+ if (Win32.SetFilePointer(this.hFile, (int)this.position, out num, MoveMethod.Begin) == 4294967295U)
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to set length");
+ }
+ this.length = (uint)value;
+ }
+
+ public override void Write(byte[] buffer, int offset, int count)
+ {
+ if (!this.open)
+ {
+ throw new InvalidOperationException("Stream is closed");
+ }
+ if (this.mode != FileStreamMode.Write && this.mode != FileStreamMode.ReadWrite)
+ {
+ throw new InvalidOperationException("Cannot write to this stream");
+ }
+ if (count < 0)
+ {
+ throw new ArgumentException("Count must have a positive value");
+ }
+ uint num = (uint)(buffer.Length - offset);
+ if (buffer == null)
+ {
+ throw new ArgumentNullException("Buffer cannot be null");
+ }
+ if ((ulong)num > (ulong)((long)count))
+ {
+ num = (uint)count;
+ }
+ if ((long)count > (long)((ulong)num))
+ {
+ throw new ArgumentException("Buffer too small");
+ }
+ if (num > 0U)
+ {
+ if (!Win32.WriteFile(this.hFile, buffer, (uint)count, out num, UIntPtr.Zero))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to write file");
+ }
+ this.position += num;
+ if (this.length < this.position)
+ {
+ this.length = this.position;
+ }
+ }
+ }
+
+ protected override void Dispose(bool disposing)
+ {
+ if (this.open)
+ {
+ Win32.CloseHandle(this.hFile);
+ }
+ this.open = false;
+ base.Dispose(disposing);
+ }
+
+ private readonly string path;
+
+ private readonly FileStreamMode mode;
+
+ public bool open;
+
+ private uint position;
+
+ private uint length;
+
+ private IntPtr hFile = (IntPtr)(-1);
+ }
+}
diff --git a/WPinternalsSDK/FileStreamMode.cs b/WPinternalsSDK/FileStreamMode.cs
new file mode 100644
index 0000000..4164fb4
--- /dev/null
+++ b/WPinternalsSDK/FileStreamMode.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum FileStreamMode
+ {
+ Read,
+ Write,
+ ReadWrite
+ }
+}
diff --git a/WPinternalsSDK/FileSystem.cs b/WPinternalsSDK/FileSystem.cs
new file mode 100644
index 0000000..1cc0e84
--- /dev/null
+++ b/WPinternalsSDK/FileSystem.cs
@@ -0,0 +1,194 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace WPinternalsSDK
+{
+ public static class FileSystem
+ {
+ public static Folder GetFolder(string Path)
+ {
+ Folder folder = null;
+ string text = Path.TrimEnd(new char[]
+ {
+ '\\'
+ });
+ if (FileSystem.UseFolderCache)
+ {
+ KeyedList folderCache = FileSystem.FolderCache;
+ lock (folderCache)
+ {
+ string key = text.ToLower();
+ if (FileSystem.FolderCache.Contains(key))
+ {
+ folder = FileSystem.FolderCache[key];
+ FileSystem.FolderCache.Remove(folder);
+ FileSystem.FolderCache.Insert(0, folder);
+ return folder;
+ }
+ folder = new Folder(text);
+ FileSystem.FolderCache.Insert(0, folder);
+ while (FileSystem.FolderCache.Count > 100)
+ {
+ FileSystem.FolderCache.RemoveAt(100);
+ }
+ return folder;
+ }
+ }
+ folder = new Folder(text);
+ return folder;
+ }
+
+ public static void ClearFolderCache(string Path)
+ {
+ string key = Path.ToLower();
+ if (FileSystem.FolderCache.Contains(key))
+ {
+ Folder item = FileSystem.FolderCache[key];
+ FileSystem.FolderCache.Remove(item);
+ }
+ }
+
+ public static byte[] ReadFile(string Path)
+ {
+ uint num = (uint)FileSystem.GetFileSize(Path);
+ byte[] array = new byte[num];
+ if (num > 0U)
+ {
+ IntPtr intPtr = Win32.CreateFile(Path, (FileAccess)2147483648U, ShareMode.Read | ShareMode.Write | ShareMode.Delete, IntPtr.Zero, CreationDisposition.OpenExisting, FileAttributes.Normal, IntPtr.Zero);
+ if (intPtr == (IntPtr)(-1))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not open file");
+ }
+ uint num2;
+ if (!Win32.ReadFile(intPtr, array, num, out num2, UIntPtr.Zero))
+ {
+ Win32.CloseHandle(intPtr);
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to read file");
+ }
+ Win32.CloseHandle(intPtr);
+ }
+ return array;
+ }
+
+ public static string ReadAsciiFile(string Path)
+ {
+ byte[] array = FileSystem.ReadFile(Path);
+ return Encoding.UTF8.GetString(array, 0, array.Length);
+ }
+
+ public static string ReadUnicodeFile(string Path)
+ {
+ byte[] array = FileSystem.ReadFile(Path);
+ return Encoding.Unicode.GetString(array, 0, array.Length);
+ }
+
+ public static void WriteFile(string Path, byte[] Buffer)
+ {
+ IntPtr intPtr = Win32.CreateFile(Path, FileAccess.GenericWrite, ShareMode.None, IntPtr.Zero, CreationDisposition.CreateAlways, FileAttributes.Normal, IntPtr.Zero);
+ if (intPtr == (IntPtr)(-1))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not open file");
+ }
+ uint num;
+ if (!Win32.WriteFile(intPtr, Buffer, (uint)Buffer.Length, out num, UIntPtr.Zero))
+ {
+ Win32.CloseHandle(intPtr);
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to write file");
+ }
+ Win32.CloseHandle(intPtr);
+ }
+
+ public static void WriteAsciiFile(string Path, string Text)
+ {
+ FileSystem.WriteFile(Path, Encoding.UTF8.GetBytes(Text));
+ }
+
+ public static void WriteUnicodeFile(string Path, string Text)
+ {
+ FileSystem.WriteFile(Path, Encoding.Unicode.GetBytes(Text));
+ }
+
+ public static void CopyFile(string SourceFilePath, string DestinationFilePath)
+ {
+ if (!Win32.CopyFile(SourceFilePath, DestinationFilePath, false))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to copy file");
+ }
+ }
+
+ public static void MoveFile(string SourceFilePath, string DestinationFilePath, MoveFileFlags Flags)
+ {
+ if (!Win32.MoveFileEx(SourceFilePath, DestinationFilePath, Flags))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to move file");
+ }
+ }
+
+ public static bool FileExists(string Path)
+ {
+ return Win32.GetFileAttributes(Path) != (FileAttributes)4294967295U;
+ }
+
+ public static void DeleteFolder(string Path)
+ {
+ foreach (FileSystemEntry fileSystemEntry in FileSystem.GetFolder(Path).GetSubItems())
+ {
+ if (fileSystemEntry.IsFile)
+ {
+ FileSystem.DeleteFile(fileSystemEntry.Path);
+ }
+ else
+ {
+ FileSystem.DeleteFolder(fileSystemEntry.Path);
+ }
+ }
+ if (!Win32.RemoveDirectory(Path))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to delete folder");
+ }
+ }
+
+ public static void CreateFolder(string Path)
+ {
+ if (!Win32.CreateDirectory(Path, IntPtr.Zero) && Marshal.GetLastWin32Error() != 183)
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to create folder");
+ }
+ }
+
+ public static void DeleteFile(string Path)
+ {
+ if (!Win32.DeleteFile(Path))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to delete file");
+ }
+ }
+
+ public static void RenameFile(string OldPath, string NewPath)
+ {
+ if (!Win32.MoveFileEx(OldPath, NewPath, (MoveFileFlags)0))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "Failed to rename file");
+ }
+ }
+
+ public static ulong GetFileSize(string Path)
+ {
+ WIN32_FILE_ATTRIBUTE_DATA win32_FILE_ATTRIBUTE_DATA;
+ if (!Win32.GetFileAttributesEx(Path, GET_FILEEX_INFO_LEVELS.GetFileExInfoStandard, out win32_FILE_ATTRIBUTE_DATA))
+ {
+ throw new Win32Exception(Marshal.GetLastWin32Error(), "GetFileSize failed");
+ }
+ return (ulong)win32_FILE_ATTRIBUTE_DATA.nFileSizeHigh << 32 | (ulong)win32_FILE_ATTRIBUTE_DATA.nFileSizeLow;
+ }
+
+ public static bool UseFolderCache = false;
+
+ public static int FolderCacheSize = 100;
+
+ private static readonly KeyedList FolderCache = new KeyedList((Folder folder) => folder.Path.ToLower());
+
+ public static readonly Folder Root = FileSystem.GetFolder("C:\\");
+ }
+}
diff --git a/WPinternalsSDK/FileSystemEntry.cs b/WPinternalsSDK/FileSystemEntry.cs
new file mode 100644
index 0000000..68f9950
--- /dev/null
+++ b/WPinternalsSDK/FileSystemEntry.cs
@@ -0,0 +1,88 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public class FileSystemEntry : IComparable
+ {
+ public string Path { get; private set; }
+
+ public string Name { get; private set; }
+
+ internal FileSystemEntry(string Path, FileAttributes Attributes)
+ {
+ string text = Path.TrimEnd(new char[]
+ {
+ '\\'
+ });
+ this.Path = text;
+ this.Name = text;
+ int num = this.Name.LastIndexOf('\\');
+ if (num >= 0)
+ {
+ this.Name = this.Name.Substring(num + 1);
+ }
+ this.Attributes = Attributes;
+ }
+
+ int IComparable.CompareTo(FileSystemEntry Other)
+ {
+ if (Other == null)
+ {
+ throw new ArgumentException();
+ }
+ if (this.IsFolder && Other.IsFile)
+ {
+ return -1;
+ }
+ if (this.IsFile && Other.IsFolder)
+ {
+ return 1;
+ }
+ return string.Compare(this.Name, Other.Name, StringComparison.OrdinalIgnoreCase);
+ }
+
+ public bool IsFolder
+ {
+ get
+ {
+ return (this.Attributes & FileAttributes.Directory) > ~FileAttributes.Invalid;
+ }
+ }
+
+ public bool IsFile
+ {
+ get
+ {
+ return (this.Attributes & FileAttributes.Directory) == ~FileAttributes.Invalid;
+ }
+ }
+
+ public bool IsReadOnly
+ {
+ get
+ {
+ return (this.Attributes & FileAttributes.Readonly) > ~FileAttributes.Invalid;
+ }
+ }
+
+ public bool IsHidden
+ {
+ get
+ {
+ return (this.Attributes & FileAttributes.Hidden) > ~FileAttributes.Invalid;
+ }
+ }
+
+ public bool IsSystem
+ {
+ get
+ {
+ return (this.Attributes & FileAttributes.System) > ~FileAttributes.Invalid;
+ }
+ }
+
+ public readonly FileAttributes Attributes;
+
+ public readonly FileSystemType Type = FileSystemType.Unknown;
+ }
+}
diff --git a/WPinternalsSDK/FileSystemType.cs b/WPinternalsSDK/FileSystemType.cs
new file mode 100644
index 0000000..a95460e
--- /dev/null
+++ b/WPinternalsSDK/FileSystemType.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum FileSystemType
+ {
+ Directory,
+ File,
+ Unknown
+ }
+}
diff --git a/WPinternalsSDK/Folder.cs b/WPinternalsSDK/Folder.cs
new file mode 100644
index 0000000..db1f71c
--- /dev/null
+++ b/WPinternalsSDK/Folder.cs
@@ -0,0 +1,159 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace WPinternalsSDK
+{
+ public class Folder : FileSystemEntry
+ {
+ internal Folder(string Path, FileAttributes Attributes) : base(Path, Attributes | FileAttributes.Directory)
+ {
+ }
+
+ internal Folder(string Path) : base(Path, FileAttributes.Directory)
+ {
+ }
+
+ public Folder() : base("", FileAttributes.Directory)
+ {
+ }
+
+ public List GetSubItems()
+ {
+ this.QueryFolder();
+ return this.SubItems;
+ }
+
+ private void QueryFolder()
+ {
+ object obj = this.queryLockObject;
+ lock (obj)
+ {
+ if (this.SubItems == null)
+ {
+ this.SubItems = new List();
+ this.subFolderCount = 0;
+ this.fileCount = 0;
+ if (base.Path.Length > 0)
+ {
+ string text = base.Path;
+ if (!base.Path.EndsWith("*"))
+ {
+ if (base.Path.EndsWith("\\"))
+ {
+ text += "*";
+ }
+ else
+ {
+ text += "\\*";
+ }
+ }
+ WIN32_FIND_DATA win32_FIND_DATA;
+ IntPtr intPtr = Win32.FindFirstFile(text, out win32_FIND_DATA);
+ if (intPtr == (IntPtr)(-1))
+ {
+ int lastWin32Error = Marshal.GetLastWin32Error();
+ if (lastWin32Error != 18)
+ {
+ throw new Win32Exception(lastWin32Error, "Failed to query folder");
+ }
+ }
+ else
+ {
+ do
+ {
+ string text2 = base.Path;
+ if (!base.Path.EndsWith("\\"))
+ {
+ text2 += "\\";
+ }
+ text2 += win32_FIND_DATA.cFileName;
+ if ((win32_FIND_DATA.dwFileAttributes & 16U) != 0U)
+ {
+ if (win32_FIND_DATA.cFileName != "." && win32_FIND_DATA.cFileName != "..")
+ {
+ this.SubItems.Add(FileSystem.GetFolder(text2));
+ this.subFolderCount++;
+ }
+ }
+ else
+ {
+ File file = new File(text2, (FileAttributes)win32_FIND_DATA.dwFileAttributes);
+ file.Size = ((ulong)win32_FIND_DATA.nFileSizeHigh << 32 | (ulong)win32_FIND_DATA.nFileSizeLow);
+ this.SubItems.Add(file);
+ this.fileCount++;
+ }
+ }
+ while (Win32.FindNextFile(intPtr, out win32_FIND_DATA));
+ Win32.FindClose(intPtr);
+ this.SubItems.Sort();
+ }
+ }
+ }
+ }
+ }
+
+ public Folder GetParent()
+ {
+ if (base.Path == "" || base.Path == "\\")
+ {
+ return null;
+ }
+ int num = base.Path.LastIndexOf('\\');
+ if (num < 0)
+ {
+ return FileSystem.GetFolder("\\");
+ }
+ return FileSystem.GetFolder(base.Path.Substring(0, num));
+ }
+
+ public void RefreshFolder()
+ {
+ if (this.SubItems != null)
+ {
+ object obj = this.queryLockObject;
+ lock (obj)
+ {
+ this.SubItems = null;
+ this.subFolderCount = -1;
+ this.fileCount = -1;
+ }
+ }
+ }
+
+ public int GetSubFolderCount()
+ {
+ this.QueryFolder();
+ return this.subFolderCount;
+ }
+
+ public int GetFileCount()
+ {
+ this.QueryFolder();
+ return this.fileCount;
+ }
+
+ public Folder OpenSubFolder(string Name)
+ {
+ return FileSystem.GetFolder(base.Path + "\\" + Name.TrimStart(new char[]
+ {
+ '\\'
+ }));
+ }
+
+ public override string ToString()
+ {
+ return base.Path;
+ }
+
+ private List SubItems;
+
+ private int subFolderCount = -1;
+
+ private int fileCount = -1;
+
+ private readonly object queryLockObject = new object();
+
+ private readonly object detailLockObject = new object();
+ }
+}
diff --git a/WPinternalsSDK/GET_FILEEX_INFO_LEVELS.cs b/WPinternalsSDK/GET_FILEEX_INFO_LEVELS.cs
new file mode 100644
index 0000000..f93658b
--- /dev/null
+++ b/WPinternalsSDK/GET_FILEEX_INFO_LEVELS.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ internal enum GET_FILEEX_INFO_LEVELS
+ {
+ GetFileExInfoStandard,
+ GetFileExMaxInfoLevel
+ }
+}
diff --git a/WPinternalsSDK/KeyedList.cs b/WPinternalsSDK/KeyedList.cs
new file mode 100644
index 0000000..02b545f
--- /dev/null
+++ b/WPinternalsSDK/KeyedList.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.ObjectModel;
+
+namespace WPinternalsSDK
+{
+ internal class KeyedList : KeyedCollection
+ {
+ public KeyedList(Func getKeyFunc)
+ {
+ this._getKeyFunc = getKeyFunc;
+ }
+
+ protected override TKey GetKeyForItem(TItem item)
+ {
+ return this._getKeyFunc(item);
+ }
+
+ public bool TryGetValue(TKey key, out TItem item)
+ {
+ if (base.Dictionary == null)
+ {
+ item = default(TItem);
+ return false;
+ }
+ return base.Dictionary.TryGetValue(key, out item);
+ }
+
+ public void AddOrUpdate(TItem item)
+ {
+ if (!this.Contains(item))
+ {
+ base.Add(item);
+ }
+ }
+
+ public new bool Contains(TItem item)
+ {
+ return base.Contains(this._getKeyFunc(item));
+ }
+
+ public new bool Contains(TKey key)
+ {
+ return base.Contains(key);
+ }
+
+ public int IndexOf(TKey key)
+ {
+ return base.IndexOf(base[key]);
+ }
+
+ private readonly Func _getKeyFunc;
+ }
+}
diff --git a/WPinternalsSDK/MoveFileFlags.cs b/WPinternalsSDK/MoveFileFlags.cs
new file mode 100644
index 0000000..bdea9d4
--- /dev/null
+++ b/WPinternalsSDK/MoveFileFlags.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ public enum MoveFileFlags
+ {
+ ReplaceExisting = 1,
+ CopyAllowed = 2,
+ DelayUntilReboot = 4,
+ WriteThrough = 8,
+ CreateHardLink = 16,
+ FailIfNotTrackable = 32
+ }
+}
diff --git a/WPinternalsSDK/MoveMethod.cs b/WPinternalsSDK/MoveMethod.cs
new file mode 100644
index 0000000..ba527d3
--- /dev/null
+++ b/WPinternalsSDK/MoveMethod.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum MoveMethod : uint
+ {
+ Begin,
+ Current,
+ End
+ }
+}
diff --git a/WPinternalsSDK/PROCESS_INFORMATION.cs b/WPinternalsSDK/PROCESS_INFORMATION.cs
new file mode 100644
index 0000000..5f3eded
--- /dev/null
+++ b/WPinternalsSDK/PROCESS_INFORMATION.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ internal struct PROCESS_INFORMATION
+ {
+ public IntPtr hProcess;
+
+ public IntPtr hThread;
+
+ public int dwProcessId;
+
+ public int dwThreadId;
+ }
+}
diff --git a/WPinternalsSDK/Properties/AssemblyInfo.cs b/WPinternalsSDK/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..5bf2daf
--- /dev/null
+++ b/WPinternalsSDK/Properties/AssemblyInfo.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Diagnostics;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Runtime.Versioning;
+
+[assembly: AssemblyVersion("1.0.5795.42493")]
+[assembly: AssemblyTitle("WPinternals SDK")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("WPinternals")]
+[assembly: AssemblyProduct("WPinternals SDK")]
+[assembly: AssemblyCopyright("Copyright by Heathcliff74 / WPinternals")]
+[assembly: AssemblyTrademark("")]
+[assembly: ComVisible(false)]
diff --git a/WPinternalsSDK/QUOTA_LIMITS.cs b/WPinternalsSDK/QUOTA_LIMITS.cs
new file mode 100644
index 0000000..b5bb5dd
--- /dev/null
+++ b/WPinternalsSDK/QUOTA_LIMITS.cs
@@ -0,0 +1,19 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ internal struct QUOTA_LIMITS
+ {
+ private readonly uint PagedPoolLimit;
+
+ private readonly uint NonPagedPoolLimit;
+
+ private readonly uint MinimumWorkingSetSize;
+
+ private readonly uint MaximumWorkingSetSize;
+
+ private readonly uint PagefileLimit;
+
+ private readonly long TimeLimit;
+ }
+}
diff --git a/WPinternalsSDK/RegCreateKeyOption.cs b/WPinternalsSDK/RegCreateKeyOption.cs
new file mode 100644
index 0000000..28518a8
--- /dev/null
+++ b/WPinternalsSDK/RegCreateKeyOption.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ public enum RegCreateKeyOption
+ {
+ NonVolatile = 0,
+ Volatile = 1,
+ CreateLink = 2,
+ BackupRestore = 4,
+ OpenLink = 8
+ }
+}
diff --git a/WPinternalsSDK/RegOpenKeyOption.cs b/WPinternalsSDK/RegOpenKeyOption.cs
new file mode 100644
index 0000000..1ffb193
--- /dev/null
+++ b/WPinternalsSDK/RegOpenKeyOption.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ public enum RegOpenKeyOption
+ {
+ OpenLink = 8
+ }
+}
diff --git a/WPinternalsSDK/RegResult.cs b/WPinternalsSDK/RegResult.cs
new file mode 100644
index 0000000..06908d2
--- /dev/null
+++ b/WPinternalsSDK/RegResult.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum RegResult
+ {
+ CreatedNewKey = 1,
+ OpenedExistingKey
+ }
+}
diff --git a/WPinternalsSDK/RegSAM.cs b/WPinternalsSDK/RegSAM.cs
new file mode 100644
index 0000000..9fb99df
--- /dev/null
+++ b/WPinternalsSDK/RegSAM.cs
@@ -0,0 +1,22 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ public enum RegSAM
+ {
+ QueryValue = 1,
+ SetValue = 2,
+ CreateSubKey = 4,
+ EnumerateSubKeys = 8,
+ Notify = 16,
+ CreateLink = 32,
+ WOW64_32Key = 512,
+ WOW64_64Key = 256,
+ WOW64_Res = 768,
+ Read = 131097,
+ Write = 131078,
+ Execute = 131097,
+ AllAccess = 983103
+ }
+}
diff --git a/WPinternalsSDK/Registry.cs b/WPinternalsSDK/Registry.cs
new file mode 100644
index 0000000..4dee32e
--- /dev/null
+++ b/WPinternalsSDK/Registry.cs
@@ -0,0 +1,258 @@
+using System;
+using System.Text;
+
+namespace WPinternalsSDK
+{
+ public static class Registry
+ {
+ public static RegistryKey GetKey(RegistryHive Root, string Key)
+ {
+ return new RegistryKey(Root, Key);
+ }
+
+ public static int GetDWordValue(RegistryHive Root, string Key, string ValueName)
+ {
+ return (int)Registry.GetValue(Root, Key, ValueName);
+ }
+
+ public static void SetDWordValue(RegistryHive Root, string Key, string ValueName, int Value)
+ {
+ Registry.SetValue(Root, Key, ValueName, Value);
+ }
+
+ public static string GetStringValue(RegistryHive Root, string Key, string ValueName)
+ {
+ return (string)Registry.GetValue(Root, Key, ValueName);
+ }
+
+ public static void SetStringValue(RegistryHive Root, string Key, string ValueName, string Value)
+ {
+ Registry.SetValue(Root, Key, ValueName, Value);
+ }
+
+ public static string[] GetMultiStringValue(RegistryHive Root, string Key, string ValueName)
+ {
+ return (string[])Registry.GetValue(Root, Key, ValueName);
+ }
+
+ public static void SetMultiStringValue(RegistryHive Root, string Key, string ValueName, string[] Value)
+ {
+ Registry.SetValue(Root, Key, ValueName, Value);
+ }
+
+ public static byte[] GetBinaryValue(RegistryHive Root, string Key, string ValueName)
+ {
+ return (byte[])Registry.GetValue(Root, Key, ValueName);
+ }
+
+ public static void SetBinaryValue(RegistryHive Root, string Key, string ValueName, byte[] Value)
+ {
+ Registry.SetValue(Root, Key, ValueName, Value);
+ }
+
+ public static void DeleteKey(RegistryHive Root, string Key)
+ {
+ foreach (RegistryItem registryItem in Registry.GetKey(Root, Key).GetSubItems())
+ {
+ if (registryItem is RegistryKey)
+ {
+ Registry.DeleteKey(Root, ((RegistryKey)registryItem).Path);
+ }
+ }
+ int num = Key.LastIndexOf('\\');
+ int num2;
+ if (num < 0)
+ {
+ num2 = Win32.RegDeleteKeyEx((UIntPtr)((uint)Root), Key, 0U, 0U);
+ }
+ else
+ {
+ string lpSubKey = Key.Substring(0, num);
+ string lpSubKey2 = Key.Substring(num + 1);
+ UIntPtr hKey;
+ num2 = Win32.RegOpenKeyEx((UIntPtr)((uint)Root), lpSubKey, (RegOpenKeyOption)0, RegSAM.AllAccess, out hKey);
+ if (num2 != 0)
+ {
+ throw new Win32Exception(num2, "DeleteKey failed");
+ }
+ num2 = Win32.RegDeleteKeyEx(hKey, lpSubKey2, 0U, 0U);
+ Win32.RegCloseKey(hKey);
+ }
+ if (num2 != 0)
+ {
+ throw new Win32Exception(num2, "DeleteKey failed");
+ }
+ }
+
+ public static void CreateKey(RegistryHive Root, string Key)
+ {
+ UIntPtr zero = UIntPtr.Zero;
+ RegResult regResult;
+ int num = Win32.RegCreateKeyEx((UIntPtr)((uint)Root), Key, 0, null, RegCreateKeyOption.NonVolatile, RegSAM.AllAccess, UIntPtr.Zero, out zero, out regResult);
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "CreateKey failed");
+ }
+ if (zero != UIntPtr.Zero)
+ {
+ Win32.RegCloseKey(zero);
+ }
+ }
+
+ public static void DeleteValue(RegistryHive Root, string Key, string ValueName)
+ {
+ UIntPtr hKey = UIntPtr.Zero;
+ int num;
+ if (Key != null && Key.Length > 0)
+ {
+ num = Win32.RegOpenKeyEx((UIntPtr)((uint)Root), Key, (RegOpenKeyOption)0, RegSAM.AllAccess, out hKey);
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "DeleteValue failed");
+ }
+ }
+ else
+ {
+ hKey = (UIntPtr)((uint)Root);
+ }
+ num = Win32.RegDeleteValue(hKey, ValueName);
+ if (Key != null && Key.Length > 0)
+ {
+ Win32.RegCloseKey(hKey);
+ }
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "DeleteValue failed");
+ }
+ }
+
+ public static object GetValue(RegistryHive Root, string Key, string ValueName)
+ {
+ object obj = null;
+ UIntPtr hKey = UIntPtr.Zero;
+ int num;
+ if (Key != null && Key.Length > 0)
+ {
+ num = Win32.RegOpenKeyEx((UIntPtr)((uint)Root), Key, (RegOpenKeyOption)0, RegSAM.AllAccess, out hKey);
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "GetValue failed");
+ }
+ }
+ else
+ {
+ hKey = (UIntPtr)((uint)Root);
+ }
+ RegistryValueType registryValueType = RegistryValueType.None;
+ int num2 = 0;
+ num = Win32.RegQueryValueEx(hKey, ValueName, 0, ref registryValueType, null, ref num2);
+ if (num == 0)
+ {
+ byte[] array = new byte[num2];
+ Win32.RegQueryValueEx(hKey, ValueName, 0, ref registryValueType, array, ref num2);
+ switch (registryValueType)
+ {
+ case RegistryValueType.String:
+ obj = Encoding.Unicode.GetString(array, 0, num2 - 2);
+ break;
+ case RegistryValueType.ExpandString:
+ case (RegistryValueType)5:
+ case (RegistryValueType)6:
+ break;
+ case RegistryValueType.Binary:
+ obj = array;
+ break;
+ case RegistryValueType.DWord:
+ obj = BitConverter.ToInt32(array, 0);
+ break;
+ case RegistryValueType.MultiString:
+ obj = Encoding.Unicode.GetString(array, 0, num2 - 4).Split(new char[1]);
+ break;
+ default:
+ if (registryValueType == RegistryValueType.QWord)
+ {
+ obj = BitConverter.ToInt64(array, 0);
+ }
+ break;
+ }
+ }
+ if (Key != null && Key.Length > 0)
+ {
+ Win32.RegCloseKey(hKey);
+ }
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "GetValue failed");
+ }
+ if (obj == null)
+ {
+ throw new NotSupportedException("Registry value cannot be read. Unknown type.");
+ }
+ return obj;
+ }
+
+ public static void SetValue(RegistryHive Root, string Key, string ValueName, object Value)
+ {
+ byte[] array;
+ RegistryValueType registryValueType;
+ if (Value is string)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append((string)Value);
+ stringBuilder.Append('\0');
+ array = Encoding.Unicode.GetBytes(stringBuilder.ToString());
+ registryValueType = RegistryValueType.String;
+ }
+ else if (Value is uint)
+ {
+ array = BitConverter.GetBytes((uint)Value);
+ registryValueType = RegistryValueType.DWord;
+ }
+ else if (Value is int)
+ {
+ array = BitConverter.GetBytes((int)Value);
+ registryValueType = RegistryValueType.DWord;
+ }
+ else if (Value is ulong)
+ {
+ array = BitConverter.GetBytes((ulong)Value);
+ registryValueType = RegistryValueType.QWord;
+ }
+ else if (Value is long)
+ {
+ array = BitConverter.GetBytes((long)Value);
+ registryValueType = RegistryValueType.QWord;
+ }
+ else if (Value is string[])
+ {
+ string[] array2 = Value as string[];
+ StringBuilder stringBuilder2 = new StringBuilder();
+ for (int i = 0; i < array2.Length; i++)
+ {
+ stringBuilder2.Append(array2[i]);
+ stringBuilder2.Append('\0');
+ }
+ stringBuilder2.Append('\0');
+ array = Encoding.Unicode.GetBytes(stringBuilder2.ToString());
+ registryValueType = RegistryValueType.MultiString;
+ }
+ else
+ {
+ if (!(Value is byte[]))
+ {
+ throw new NotSupportedException("Registry value cannot be written. Type unknown.");
+ }
+ array = (byte[])Value;
+ registryValueType = RegistryValueType.Binary;
+ }
+ UIntPtr hKey = (UIntPtr)((uint)Root);
+ RegistryValueType dwType = registryValueType;
+ byte[] array3 = array;
+ int num = Win32.RegSetKeyValue(hKey, Key, ValueName, dwType, array3, array3.Length);
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "SetValue failed");
+ }
+ }
+ }
+}
diff --git a/WPinternalsSDK/RegistryHive.cs b/WPinternalsSDK/RegistryHive.cs
new file mode 100644
index 0000000..110b0d5
--- /dev/null
+++ b/WPinternalsSDK/RegistryHive.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum RegistryHive : uint
+ {
+ ClassesRoot = 2147483648U,
+ CurrentUser,
+ LocalMachine,
+ Users
+ }
+}
diff --git a/WPinternalsSDK/RegistryItem.cs b/WPinternalsSDK/RegistryItem.cs
new file mode 100644
index 0000000..4cb6c3b
--- /dev/null
+++ b/WPinternalsSDK/RegistryItem.cs
@@ -0,0 +1,8 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public class RegistryItem
+ {
+ }
+}
diff --git a/WPinternalsSDK/RegistryKey.cs b/WPinternalsSDK/RegistryKey.cs
new file mode 100644
index 0000000..bdab6f6
--- /dev/null
+++ b/WPinternalsSDK/RegistryKey.cs
@@ -0,0 +1,258 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace WPinternalsSDK
+{
+ public class RegistryKey : RegistryItem
+ {
+ public RegistryKey(RegistryHive Root, string Path)
+ {
+ this.root = Root;
+ this.path = Path;
+ }
+
+ public RegistryHive Root
+ {
+ get
+ {
+ return this.root;
+ }
+ }
+
+ public string Path
+ {
+ get
+ {
+ return this.path;
+ }
+ }
+
+ public string Name
+ {
+ get
+ {
+ string text = this.path;
+ int num = text.LastIndexOf('\\');
+ if (num >= 0)
+ {
+ text = text.Substring(num + 1);
+ }
+ return text;
+ }
+ }
+
+ public List GetSubItems()
+ {
+ this.QueryKey();
+ return this.SubItems;
+ }
+
+ private void QueryKey()
+ {
+ if (this.SubItems == null)
+ {
+ this.SubItems = new List();
+ this.SubKeys = new List();
+ this.Values = new List();
+ this.subKeyCount = 0;
+ this.valueCount = 0;
+ Dictionary dictionary = new Dictionary();
+ Dictionary dictionary2 = new Dictionary();
+ UIntPtr uintPtr = UIntPtr.Zero;
+ int num;
+ if (this.Path != null && this.Path.Length > 0)
+ {
+ num = Win32.RegOpenKeyEx((UIntPtr)((uint)this.Root), this.Path, (RegOpenKeyOption)0, RegSAM.AllAccess, out uintPtr);
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "QueryKey failed");
+ }
+ }
+ else
+ {
+ uintPtr = (UIntPtr)((uint)this.Root);
+ }
+ bool flag = false;
+ uint num2 = 0U;
+ StringBuilder stringBuilder = new StringBuilder(260);
+ do
+ {
+ uint num3 = 260U;
+ long num4;
+ num = Win32.RegEnumKeyEx(uintPtr, num2, stringBuilder, ref num3, UIntPtr.Zero, UIntPtr.Zero, UIntPtr.Zero, out num4);
+ if (num == 0)
+ {
+ RegistryKey value = new RegistryKey(this.root, ((this.path == "") ? "" : (this.path + "\\")) + stringBuilder.ToString());
+ dictionary.Add(stringBuilder.ToString(), value);
+ this.subKeyCount++;
+ num2 += 1U;
+ }
+ else if (num == 259)
+ {
+ num = 0;
+ flag = true;
+ }
+ }
+ while (!flag && num == 0);
+ flag = false;
+ num2 = 0U;
+ do
+ {
+ uint num3 = 260U;
+ uint num5 = 0U;
+ byte[] array = null;
+ RegistryValueType registryValueType;
+ Win32.RegEnumValue(uintPtr, num2, stringBuilder, ref num3, UIntPtr.Zero, out registryValueType, array, ref num5);
+ if (num5 > 0U)
+ {
+ array = new byte[num5];
+ }
+ num3 = 260U;
+ num = Win32.RegEnumValue(uintPtr, num2, stringBuilder, ref num3, UIntPtr.Zero, out registryValueType, array, ref num5);
+ object value2 = null;
+ if (num == 0)
+ {
+ switch (registryValueType)
+ {
+ case RegistryValueType.String:
+ value2 = Encoding.Unicode.GetString(array, 0, (int)(num5 - 2U));
+ break;
+ case RegistryValueType.ExpandString:
+ case (RegistryValueType)5:
+ case (RegistryValueType)6:
+ break;
+ case RegistryValueType.Binary:
+ value2 = array;
+ break;
+ case RegistryValueType.DWord:
+ value2 = BitConverter.ToInt32(array, 0);
+ break;
+ case RegistryValueType.MultiString:
+ value2 = Encoding.Unicode.GetString(array, 0, (int)(num5 - 4U)).Split(new char[1]);
+ break;
+ default:
+ if (registryValueType == RegistryValueType.QWord)
+ {
+ value2 = BitConverter.ToInt64(array, 0);
+ }
+ break;
+ }
+ RegistryValue value3 = new RegistryValue(this.root, this.path, stringBuilder.ToString(), registryValueType, value2);
+ dictionary2.Add(stringBuilder.ToString(), value3);
+ this.valueCount++;
+ num2 += 1U;
+ }
+ else if (num == 259)
+ {
+ num = 0;
+ flag = true;
+ }
+ }
+ while (!flag && num == 0);
+ if (this.Path != null && this.Path.Length > 0)
+ {
+ Win32.RegCloseKey(uintPtr);
+ }
+ if (num != 0)
+ {
+ throw new Win32Exception(num, "QueryKey failed");
+ }
+ foreach (KeyValuePair keyValuePair in from entry in dictionary
+ orderby entry.Key
+ select entry)
+ {
+ this.SubItems.Add(keyValuePair.Value);
+ this.SubKeys.Add(keyValuePair.Value);
+ }
+ foreach (KeyValuePair keyValuePair2 in from entry in dictionary2
+ orderby entry.Key
+ select entry)
+ {
+ this.SubItems.Add(keyValuePair2.Value);
+ this.Values.Add(keyValuePair2.Value);
+ }
+ }
+ }
+
+ public RegistryKey GetParent()
+ {
+ if (this.path == "")
+ {
+ return null;
+ }
+ int num = this.path.LastIndexOf('\\');
+ if (num < 0)
+ {
+ return new RegistryKey(this.root, "");
+ }
+ return new RegistryKey(this.root, this.path.Substring(0, num));
+ }
+
+ public void RefreshKey()
+ {
+ this.SubItems = null;
+ this.subKeyCount = -1;
+ this.valueCount = -1;
+ }
+
+ public int GetSubKeyCount()
+ {
+ this.QueryKey();
+ return this.subKeyCount;
+ }
+
+ public int GetValueCount()
+ {
+ this.QueryKey();
+ return this.valueCount;
+ }
+
+ public RegistryKey GetSubKey(string Key)
+ {
+ return new RegistryKey(this.root, this.path + ((this.path == "") ? "" : "\\") + Key);
+ }
+
+ public override string ToString()
+ {
+ return "Subkey: " + this.Name;
+ }
+
+ private static RegistryValueType GetValueKindFromObject(object Value)
+ {
+ RegistryValueType result = RegistryValueType.Unknown;
+ if (Value is int || Value is uint)
+ {
+ result = RegistryValueType.DWord;
+ }
+ if (Value is string)
+ {
+ result = RegistryValueType.String;
+ }
+ if (Value is byte[])
+ {
+ result = RegistryValueType.Binary;
+ }
+ if (Value is string[])
+ {
+ result = RegistryValueType.MultiString;
+ }
+ return result;
+ }
+
+ private readonly string path;
+
+ private readonly RegistryHive root;
+
+ private List SubItems;
+
+ private List SubKeys;
+
+ private List Values;
+
+ private int subKeyCount = -1;
+
+ private int valueCount = -1;
+ }
+}
diff --git a/WPinternalsSDK/RegistryValue.cs b/WPinternalsSDK/RegistryValue.cs
new file mode 100644
index 0000000..cdf244d
--- /dev/null
+++ b/WPinternalsSDK/RegistryValue.cs
@@ -0,0 +1,102 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public class RegistryValue : RegistryItem
+ {
+ public RegistryValue(RegistryHive Root, string Key, string ValueName, RegistryValueType Type, object Value)
+ {
+ this.root = Root;
+ this.key = Key;
+ this.valueName = ValueName;
+ this.type = Type;
+ this.value = Value;
+ }
+
+ public RegistryHive Root
+ {
+ get
+ {
+ return this.root;
+ }
+ }
+
+ public string Key
+ {
+ get
+ {
+ return this.key;
+ }
+ }
+
+ public string ValueName
+ {
+ get
+ {
+ return this.valueName;
+ }
+ }
+
+ public RegistryValueType Type
+ {
+ get
+ {
+ return this.type;
+ }
+ }
+
+ public object Value
+ {
+ get
+ {
+ return this.value;
+ }
+ }
+
+ public override string ToString()
+ {
+ string text = null;
+ RegistryValueType registryValueType = this.type;
+ switch (registryValueType)
+ {
+ case RegistryValueType.String:
+ text = (string)this.value;
+ break;
+ case RegistryValueType.ExpandString:
+ case (RegistryValueType)5:
+ case (RegistryValueType)6:
+ break;
+ case RegistryValueType.Binary:
+ text = "";
+ break;
+ case RegistryValueType.DWord:
+ text = "0x" + ((int)this.value).ToString("X8");
+ break;
+ case RegistryValueType.MultiString:
+ text = "";
+ break;
+ default:
+ if (registryValueType == RegistryValueType.QWord)
+ {
+ text = "0x" + ((long)this.value).ToString("X16");
+ }
+ break;
+ }
+ if (text == null)
+ {
+ return this.ValueName + ": ";
+ }
+ return this.ValueName + ": " + text;
+ }
+
+ private readonly RegistryHive root;
+
+ private readonly string key;
+
+ private readonly string valueName;
+
+ private readonly RegistryValueType type = RegistryValueType.Unknown;
+
+ private readonly object value;
+ }
+}
diff --git a/WPinternalsSDK/RegistryValueType.cs b/WPinternalsSDK/RegistryValueType.cs
new file mode 100644
index 0000000..3860166
--- /dev/null
+++ b/WPinternalsSDK/RegistryValueType.cs
@@ -0,0 +1,16 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public enum RegistryValueType
+ {
+ String = 1,
+ ExpandString,
+ Binary,
+ DWord,
+ MultiString = 7,
+ QWord = 11,
+ Unknown = -1,
+ None
+ }
+}
diff --git a/WPinternalsSDK/SECURITY_ATTRIBUTES.cs b/WPinternalsSDK/SECURITY_ATTRIBUTES.cs
new file mode 100644
index 0000000..8779b3a
--- /dev/null
+++ b/WPinternalsSDK/SECURITY_ATTRIBUTES.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ internal struct SECURITY_ATTRIBUTES
+ {
+ public int nLength;
+
+ public IntPtr lpSecurityDescriptor;
+
+ public int bInheritHandle;
+ }
+}
diff --git a/WPinternalsSDK/STARTUPINFO.cs b/WPinternalsSDK/STARTUPINFO.cs
new file mode 100644
index 0000000..812e533
--- /dev/null
+++ b/WPinternalsSDK/STARTUPINFO.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Runtime.InteropServices;
+
+namespace WPinternalsSDK
+{
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
+ internal struct STARTUPINFO
+ {
+ public int cb;
+
+ public string lpReserved;
+
+ public string lpDesktop;
+
+ public string lpTitle;
+
+ public int dwX;
+
+ public int dwY;
+
+ public int dwXSize;
+
+ public int dwYSize;
+
+ public int dwXCountChars;
+
+ public int dwYCountChars;
+
+ public int dwFillAttribute;
+
+ public int dwFlags;
+
+ public short wShowWindow;
+
+ public short cbReserved2;
+
+ public IntPtr lpReserved2;
+
+ public IntPtr hStdInput;
+
+ public IntPtr hStdOutput;
+
+ public IntPtr hStdError;
+ }
+}
diff --git a/WPinternalsSDK/ShareMode.cs b/WPinternalsSDK/ShareMode.cs
new file mode 100644
index 0000000..060916d
--- /dev/null
+++ b/WPinternalsSDK/ShareMode.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ [Flags]
+ internal enum ShareMode : uint
+ {
+ None = 0U,
+ Read = 1U,
+ Write = 2U,
+ Delete = 4U
+ }
+}
diff --git a/WPinternalsSDK/WIN32_FILE_ATTRIBUTE_DATA.cs b/WPinternalsSDK/WIN32_FILE_ATTRIBUTE_DATA.cs
new file mode 100644
index 0000000..dab99a1
--- /dev/null
+++ b/WPinternalsSDK/WIN32_FILE_ATTRIBUTE_DATA.cs
@@ -0,0 +1,19 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ internal struct WIN32_FILE_ATTRIBUTE_DATA
+ {
+ public FileAttributes dwFileAttributes;
+
+ public FILETIME ftCreationTime;
+
+ public FILETIME ftLastAccessTime;
+
+ public FILETIME ftLastWriteTime;
+
+ public uint nFileSizeHigh;
+
+ public uint nFileSizeLow;
+ }
+}
diff --git a/WPinternalsSDK/WIN32_FIND_DATA.cs b/WPinternalsSDK/WIN32_FIND_DATA.cs
new file mode 100644
index 0000000..c3ef3c6
--- /dev/null
+++ b/WPinternalsSDK/WIN32_FIND_DATA.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Runtime.InteropServices.ComTypes;
+
+namespace WPinternalsSDK
+{
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
+ internal struct WIN32_FIND_DATA
+ {
+ public uint dwFileAttributes;
+
+ public FILETIME ftCreationTime;
+
+ public FILETIME ftLastAccessTime;
+
+ public FILETIME ftLastWriteTime;
+
+ public uint nFileSizeHigh;
+
+ public uint nFileSizeLow;
+
+ public uint dwReserved0;
+
+ public uint dwReserved1;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
+ public string cFileName;
+
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)]
+ public string cAlternateFileName;
+ }
+}
diff --git a/WPinternalsSDK/WPinternalsSDK.projitems b/WPinternalsSDK/WPinternalsSDK.projitems
new file mode 100644
index 0000000..2cd963c
--- /dev/null
+++ b/WPinternalsSDK/WPinternalsSDK.projitems
@@ -0,0 +1,49 @@
+
+
+
+ $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
+ true
+ d29275f2-bb58-44a2-81e1-96d68c4c48db
+
+
+ WPinternalsSDK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WPinternalsSDK/WPinternalsSDK.shproj b/WPinternalsSDK/WPinternalsSDK.shproj
new file mode 100644
index 0000000..2a58b31
--- /dev/null
+++ b/WPinternalsSDK/WPinternalsSDK.shproj
@@ -0,0 +1,13 @@
+
+
+
+ d29275f2-bb58-44a2-81e1-96d68c4c48db
+ 14.0
+
+
+
+
+
+
+
+
diff --git a/WPinternalsSDK/Win32.cs b/WPinternalsSDK/Win32.cs
new file mode 100644
index 0000000..680ab6e
--- /dev/null
+++ b/WPinternalsSDK/Win32.cs
@@ -0,0 +1,102 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace WPinternalsSDK
+{
+ internal class Win32
+ {
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegDeleteKeyEx(UIntPtr hKey, string lpSubKey, uint samDesired, uint Reserved);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegCreateKeyEx(UIntPtr hKey, string lpSubKey, int Reserved, string lpClass, RegCreateKeyOption dwOptions, RegSAM samDesired, UIntPtr lpSecurityAttributes, out UIntPtr phkResult, out RegResult lpdwDisposition);
+
+ [DllImport("KERNELBASE.DLL")]
+ internal static extern int RegCloseKey(UIntPtr hKey);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegDeleteValue(UIntPtr hKey, string lpValueName);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegOpenKeyEx(UIntPtr hKey, string lpSubKey, RegOpenKeyOption dwOptions, RegSAM samDesired, out UIntPtr phkResult);
+
+ [DllImport("Powrprof.dll", SetLastError = true)]
+ internal static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);
+
+ [DllImport("ShellChromeAPI.dll")]
+ internal static extern int Shell_RequestShutdown(int ShutDownType);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool CreateProcess(string lpApplicationName, string lpCommandLine, UIntPtr lpProcessAttributes, UIntPtr lpThreadAttributes, bool bInheritHandles, uint dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation);
+
+ [DllImport("KERNELBASE.DLL", SetLastError = true)]
+ [return: MarshalAs(UnmanagedType.Bool)]
+ internal static extern bool CloseHandle(IntPtr hObject);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegQueryValueEx(UIntPtr hKey, string lpValueName, int lpReserved, ref RegistryValueType lpType, byte[] lpData, ref int lpcbData);
+
+ [DllImport("SSPICLI.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool LogonUserExEx(string Username, string Domain, string Password, uint LogonType, uint LogonProvider, UIntPtr TokenGroups, out IntPtr hToken, out UIntPtr pLogonSid, out UIntPtr pBuffer, out uint BufferLength, UIntPtr Reserved);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegSetKeyValue(UIntPtr hKey, string lpSubKey, string lpValueName, RegistryValueType dwType, byte[] lpData, int cbData);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegEnumKeyEx(UIntPtr hkey, uint index, StringBuilder lpName, ref uint lpcbName, UIntPtr reserved, UIntPtr lpClass, UIntPtr lpcbClass, out long lpftLastWriteTime);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode)]
+ internal static extern int RegEnumValue(UIntPtr hKey, uint dwIndex, StringBuilder lpValueName, ref uint lpcValueName, UIntPtr lpReserved, out RegistryValueType lpType, byte[] lpData, ref uint lpcbData);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ [return: MarshalAs(UnmanagedType.Bool)]
+ internal static extern bool GetFileAttributesEx(string lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, out WIN32_FILE_ATTRIBUTE_DATA fileData);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern FileAttributes GetFileAttributes(string lpFileName);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern IntPtr CreateFile([MarshalAs(UnmanagedType.LPWStr)] string filename, [MarshalAs(UnmanagedType.U4)] FileAccess access, [MarshalAs(UnmanagedType.U4)] ShareMode share, IntPtr securityAttributes, [MarshalAs(UnmanagedType.U4)] CreationDisposition creationDisposition, [MarshalAs(UnmanagedType.U4)] FileAttributes flagsAndAttributes, IntPtr templateFile);
+
+ [DllImport("KERNELBASE.DLL", SetLastError = true)]
+ internal static extern bool ReadFile(IntPtr hFile, [Out] byte[] lpBuffer, uint nNumberOfBytesToRead, out uint lpNumberOfBytesRead, UIntPtr lpOverlapped);
+
+ [DllImport("KERNELBASE.DLL", SetLastError = true)]
+ internal static extern bool WriteFile(IntPtr hFile, byte[] lpBuffer, uint nNumberOfBytesToWrite, out uint lpNumberOfBytesWritten, [In] UIntPtr lpOverlapped);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool MoveFileEx(string lpExistingFileName, string lpNewFileName, MoveFileFlags Flags);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool RemoveDirectory(string lpPathName);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool CreateDirectory(string lpPathName, IntPtr lpSecurityAttributes);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool DeleteFile(string lpFileName);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern uint SetFilePointer([In] IntPtr hFile, [In] int lDistanceToMove, out int lpDistanceToMoveHigh, [In] MoveMethod dwMoveMethod);
+
+ [DllImport("KERNELBASE.DLL", SetLastError = true)]
+ internal static extern bool SetEndOfFile(IntPtr hFile);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern IntPtr FindFirstFile(string lpFileName, out WIN32_FIND_DATA lpFindFileData);
+
+ [DllImport("KERNELBASE.DLL", CharSet = CharSet.Unicode, SetLastError = true)]
+ internal static extern bool FindNextFile(IntPtr hFindFile, out WIN32_FIND_DATA lpFindFileData);
+
+ [DllImport("KERNELBASE.DLL", SetLastError = true)]
+ internal static extern bool FindClose(IntPtr hFindFile);
+
+ internal const uint INVALID_SET_FILE_POINTER = 4294967295U;
+
+ internal const int ERROR_NO_MORE_FILES = 18;
+ }
+}
diff --git a/WPinternalsSDK/Win32Exception.cs b/WPinternalsSDK/Win32Exception.cs
new file mode 100644
index 0000000..a0a71f9
--- /dev/null
+++ b/WPinternalsSDK/Win32Exception.cs
@@ -0,0 +1,31 @@
+using System;
+
+namespace WPinternalsSDK
+{
+ public class Win32Exception : Exception
+ {
+ public Win32Exception(int HResult)
+ {
+ this.HResult = HResult;
+ }
+
+ public Win32Exception(int HResult, string Message) : base(Message)
+ {
+ this.HResult = HResult;
+ }
+
+ public new int HResult
+ {
+ get
+ {
+ return this._HResult;
+ }
+ set
+ {
+ this._HResult = value;
+ }
+ }
+
+ private int _HResult;
+ }
+}