Compare commits
27 Commits
0.3.0.0
...
b562d5b5ba
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b562d5b5ba | ||
|
|
bf54d5a531 | ||
|
|
f9f4db3f6c | ||
|
|
880a834296 | ||
|
|
e47813765a | ||
|
|
2f0d1dc27f | ||
|
|
3c35a8acaa | ||
|
|
27e604892d | ||
|
|
1c05d8a379 | ||
|
|
43983a2c87 | ||
|
|
df0d14e282 | ||
|
|
419498bef8 | ||
|
|
4118efa4b6 | ||
|
|
300b1ba55a | ||
|
|
ecde1c8d80 | ||
|
|
79674b639b | ||
|
|
0073da9c8e | ||
|
|
a472ddba73 | ||
|
|
b2633b37e5 | ||
|
|
fe6a9a186b | ||
|
|
2e45bb1cd9 | ||
|
|
ccf6cfd66c | ||
|
|
34895b9edd | ||
|
|
745a89fa9c | ||
|
|
a3ff273405 | ||
|
|
ca0b7dbcbb | ||
|
|
e49f9db426 |
6
.gitignore
vendored
@@ -245,4 +245,8 @@ ModelManifest.xml
|
||||
[Gg]enerated/
|
||||
|
||||
# Setup Build Files
|
||||
[Oo]thers/
|
||||
[Oo]thers/
|
||||
|
||||
# Arm Build Files
|
||||
package.zip
|
||||
ArmPackage.zip
|
||||
@@ -15,10 +15,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "certmgr", "certmgr\certmgr.
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "appinstaller", "appinstaller\appinstaller.vcxproj", "{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12} = {33D91B58-1981-4A3C-B4D1-86EE406CDE12}
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702} = {A7753282-AA16-43D9-8ACA-7065239DD702}
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126} = {798ED492-EECE-457D-8FD8-129DA93CE126}
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702} = {A7753282-AA16-43D9-8ACA-7065239DD702}
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C} = {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0} = {E04CCAB9-35DB-495C-A279-5B483C707CD0}
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D} = {EF4012D4-EF08-499C-B803-177739350B2D}
|
||||
EndProjectSection
|
||||
@@ -26,6 +27,7 @@ EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "settings", "settings\settings.vcxproj", "{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00} = {3AE2A022-ED83-41F1-948A-12A7593CBD00}
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C} = {B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reslib", "reslib\reslib.vcxproj", "{3AE2A022-ED83-41F1-948A-12A7593CBD00}"
|
||||
@@ -48,8 +50,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrivateInit", "PrivateInit\
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppxPackage", "AppxPackage\AppxPackage.csproj", "{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12} = {33D91B58-1981-4A3C-B4D1-86EE406CDE12}
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396} = {8EAC0230-4990-4E41-8E0F-D641D1561396}
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702} = {A7753282-AA16-43D9-8ACA-7065239DD702}
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D} = {EF4012D4-EF08-499C-B803-177739350B2D}
|
||||
EndProjectSection
|
||||
@@ -71,244 +73,206 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernNotice", "ModernNotic
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launch", "Launch\Launch.csproj", "{F0288B24-7B84-42A5-9A92-2E16A012E4DE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reader", "Reader\Reader.csproj", "{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml", "pugixml\pugixml.vcxproj", "{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|ARM = Release|ARM
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|x64.Build.0 = Debug|x64
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|x86.Build.0 = Debug|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|x64.ActiveCfg = Release|x64
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|x64.Build.0 = Release|x64
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|ARM.Build.0 = Release|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|x86.ActiveCfg = Release|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|x86.Build.0 = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|x86.Build.0 = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|x64.ActiveCfg = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|ARM.Build.0 = Release|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|x86.ActiveCfg = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|x86.Build.0 = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|x86.Build.0 = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|x64.ActiveCfg = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|ARM.Build.0 = Release|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|x86.ActiveCfg = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|x86.Build.0 = Release|Win32
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|x64.Build.0 = Debug|x64
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|x64.ActiveCfg = Release|x64
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|x64.Build.0 = Release|x64
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|ARM.Build.0 = Release|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|x86.Build.0 = Release|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|x64.Build.0 = Debug|x64
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|x86.Build.0 = Debug|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|x64.ActiveCfg = Release|x64
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|x64.Build.0 = Release|x64
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|ARM.Build.0 = Release|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|x86.Build.0 = Release|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|x64.Build.0 = Debug|x64
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|x86.Build.0 = Debug|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|x64.ActiveCfg = Release|x64
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|x64.Build.0 = Release|x64
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|ARM.Build.0 = Release|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|x86.ActiveCfg = Release|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|x86.Build.0 = Release|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|x64.Build.0 = Debug|x64
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|x86.Build.0 = Debug|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|x64.ActiveCfg = Release|x64
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|x64.Build.0 = Release|x64
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|ARM.Build.0 = Release|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|x86.ActiveCfg = Release|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|x86.Build.0 = Release|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|x64.Build.0 = Debug|x64
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|x86.Build.0 = Debug|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|x64.ActiveCfg = Release|x64
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|x64.Build.0 = Release|x64
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|ARM.Build.0 = Release|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|x86.ActiveCfg = Release|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|x86.Build.0 = Release|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|x64.Build.0 = Debug|x64
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|x64.ActiveCfg = Release|x64
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|x64.Build.0 = Release|x64
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|ARM.Build.0 = Release|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|x86.Build.0 = Release|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|x64.Build.0 = Debug|x64
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|x86.Build.0 = Debug|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|x64.ActiveCfg = Release|x64
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|x64.Build.0 = Release|x64
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|ARM.Build.0 = Release|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|x86.ActiveCfg = Release|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|x86.Build.0 = Release|Win32
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x86.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.Build.0 = Debug|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x64.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.ActiveCfg = Release|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.Build.0 = Release|x86
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x64.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x64.Build.0 = Debug|x64
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.Build.0 = Debug|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.ActiveCfg = Release|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.Build.0 = Release|x86
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x64.ActiveCfg = Release|x64
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x64.Build.0 = Release|x64
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|ARM.Build.0 = Release|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x86.Build.0 = Release|Win32
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|x86.Build.0 = Debug|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|x86.ActiveCfg = Release|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|x86.Build.0 = Release|x86
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|ARM.Build.0 = Release|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {5FAD9D1A-D291-492A-956A-94422761AA8E}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@@ -48,6 +48,10 @@
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
@@ -70,6 +74,7 @@
|
||||
<Compile Include="PriFileNative.cs" />
|
||||
<Compile Include="PriReader.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DataUtils\DataUtils.csproj">
|
||||
|
||||
@@ -20,6 +20,8 @@ namespace NativeWrappers
|
||||
using UINT64 = System.UInt64;
|
||||
using HRESULT = System.Int32;
|
||||
using ULONG = System.UInt32;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
public static class PackageReadHelper
|
||||
{
|
||||
@@ -304,6 +306,7 @@ namespace NativeWrappers
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// ================= Manifest Reader =================
|
||||
|
||||
[DllImport (DllName, CallingConvention = CallConv, CharSet = CharSet.Unicode)]
|
||||
@@ -404,5 +407,160 @@ namespace NativeWrappers
|
||||
[DllImport (DllName, CallingConvention = CallConv, CharSet = CharSet.Unicode)]
|
||||
public static extern IntPtr GetManifestPrerequistieSystemVersionName (IntPtr hReader, string lpName);
|
||||
|
||||
// ========== Appx Bundle Resource Packages ==========
|
||||
[DllImport (DllName, CallingConvention = CallConv)]
|
||||
private static extern IntPtr GetAppxBundleAllResourcePackageFileNames (IntPtr hReader);
|
||||
|
||||
[DllImport (DllName, CallingConvention = CallConv)]
|
||||
private static extern void FreeAppxBundlePayloadsFileNameList (IntPtr hStringList);
|
||||
|
||||
/// <summary>
|
||||
/// 获取 Bundle 包中所有资源包的文件名列表。
|
||||
/// </summary>
|
||||
/// <param name="hReader">由 CreatePackageReader 创建的读取器句柄</param>
|
||||
/// <returns>资源包文件名数组,若无资源包或非 bundle 类型则返回空数组</returns>
|
||||
public static string [] GetAppxBundleAllResourcePackageFileNameList (IntPtr hReader)
|
||||
{
|
||||
IntPtr hList = GetAppxBundleAllResourcePackageFileNames (hReader);
|
||||
if (hList == IntPtr.Zero)
|
||||
return new string [0];
|
||||
|
||||
try
|
||||
{
|
||||
return ReadWStringList (hList);
|
||||
}
|
||||
finally
|
||||
{
|
||||
FreeAppxBundlePayloadsFileNameList (hList);
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport (DllName, CallingConvention = CallConv)]
|
||||
private static extern IntPtr GetAppxBundleAllLocaleResourcePackageFileNames (IntPtr hReader);
|
||||
|
||||
/// <summary>
|
||||
/// 获取 Bundle 包中所有区域设置资源包的文件名列表。
|
||||
/// </summary>
|
||||
/// <param name="hReader">由 CreatePackageReader 创建的读取器句柄</param>
|
||||
/// <returns>区域设置资源包文件名数组,若无则返回空数组</returns>
|
||||
public static string [] GetAppxBundleAllLocaleResourcePackageFileNameList (IntPtr hReader)
|
||||
{
|
||||
IntPtr hList = GetAppxBundleAllLocaleResourcePackageFileNames (hReader);
|
||||
if (hList == IntPtr.Zero)
|
||||
return new string [0];
|
||||
|
||||
try
|
||||
{
|
||||
return ReadWStringList (hList);
|
||||
}
|
||||
finally
|
||||
{
|
||||
FreeAppxBundlePayloadsFileNameList (hList);
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport (DllName, CallingConvention = CallConv)]
|
||||
private static extern IntPtr GetAppxBundleAllFileResourcePackageFileNames (IntPtr hReader);
|
||||
|
||||
/// <summary>
|
||||
/// 获取 Bundle 包中所有文件资源包的文件名列表。
|
||||
/// </summary>
|
||||
/// <param name="hReader">由 CreatePackageReader 创建的读取器句柄</param>
|
||||
/// <returns>文件资源包文件名数组,若无则返回空数组</returns>
|
||||
public static string [] GetAppxBundleAllFileResourcePackageFileNameList (IntPtr hReader)
|
||||
{
|
||||
IntPtr hList = GetAppxBundleAllFileResourcePackageFileNames (hReader);
|
||||
if (hList == IntPtr.Zero)
|
||||
return new string [0];
|
||||
|
||||
try
|
||||
{
|
||||
return ReadWStringList (hList);
|
||||
}
|
||||
finally
|
||||
{
|
||||
FreeAppxBundlePayloadsFileNameList (hList);
|
||||
}
|
||||
}
|
||||
|
||||
// 用于更新应用项名称列表(设置要查询的项)
|
||||
[DllImport (DllName, CallingConvention = CallConv, CharSet = CharSet.Unicode)]
|
||||
public static extern void UpdatePackageApplicationItemGetName (
|
||||
[In] IntPtr [] lpNames, // 传入一个 IntPtr 数组,每个元素指向一个 Unicode 字符串
|
||||
uint dwArrLen
|
||||
);
|
||||
|
||||
// 回调委托声明
|
||||
[UnmanagedFunctionPointer (CallConv)]
|
||||
public delegate void IterWStringCallback ([MarshalAs (UnmanagedType.LPWStr)] string lpString);
|
||||
|
||||
// 枚举当前列表中的项(通过回调逐个返回)
|
||||
[DllImport (DllName, CallingConvention = CallConv, CharSet = CharSet.Unicode)]
|
||||
public static extern void GetPackageApplicationItemGetNameList (
|
||||
IterWStringCallback pfCallback // 回调函数指针
|
||||
);
|
||||
/// <summary>
|
||||
/// 更新内部的应用项名称列表(设置要查询的项)
|
||||
/// </summary>
|
||||
/// <param name="names">要设置的项名称集合</param>
|
||||
public static void SetApplicationItemNames (IEnumerable<string> names)
|
||||
{
|
||||
if (names == null)
|
||||
{
|
||||
// 传入空数组,清空列表
|
||||
UpdatePackageApplicationItemGetName (new IntPtr [0], 0);
|
||||
return;
|
||||
}
|
||||
|
||||
var nameList = names.ToList ();
|
||||
if (nameList.Count == 0)
|
||||
{
|
||||
UpdatePackageApplicationItemGetName (new IntPtr [0], 0);
|
||||
return;
|
||||
}
|
||||
|
||||
// 为每个字符串分配非托管内存
|
||||
IntPtr [] ptrs = new IntPtr [nameList.Count];
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < nameList.Count; i++)
|
||||
{
|
||||
ptrs [i] = Marshal.StringToHGlobalUni (nameList [i]);
|
||||
}
|
||||
|
||||
UpdatePackageApplicationItemGetName (ptrs, (uint)nameList.Count);
|
||||
}
|
||||
finally
|
||||
{
|
||||
// 释放分配的内存
|
||||
foreach (var ptr in ptrs)
|
||||
{
|
||||
if (ptr != IntPtr.Zero)
|
||||
Marshal.FreeHGlobal (ptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取当前内部的应用项名称列表(通过回调收集所有项)
|
||||
/// </summary>
|
||||
/// <returns>应用项名称数组</returns>
|
||||
public static string [] GetApplicationItemNames ()
|
||||
{
|
||||
var result = new List<string> ();
|
||||
|
||||
// 定义回调:将收到的字符串添加到列表
|
||||
IterWStringCallback callback = (str) =>
|
||||
{
|
||||
if (!string.IsNullOrEmpty (str))
|
||||
result.Add (str);
|
||||
};
|
||||
|
||||
// 调用本机函数,传入委托
|
||||
GetPackageApplicationItemGetNameList (callback);
|
||||
|
||||
// 注意:GC 需要保持 callback 的存活直到本机调用结束,这里通过局部变量引用即可,
|
||||
// 因为本机函数是同步调用的,不会在函数返回后继续使用回调。
|
||||
return result.ToArray ();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -168,6 +168,46 @@ namespace AppxPackage
|
||||
|
||||
return result;
|
||||
}
|
||||
[StructLayout (LayoutKind.Sequential)]
|
||||
internal struct WSTRWSTRPAIR
|
||||
{
|
||||
public IntPtr lpKey; // LPWSTR
|
||||
public IntPtr lpValue; // LPWSTR
|
||||
}
|
||||
[DllImport (DLL, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern IntPtr GetPriLocaleResourceAllValuesList (
|
||||
PCSPRIFILE pFilePri,
|
||||
[MarshalAs (UnmanagedType.LPWStr)] string lpResName);
|
||||
[DllImport (DLL, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void DestroyLocaleResourceAllValuesList (IntPtr list);
|
||||
[DllImport (DLL, CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern IntPtr GetPriFileResourceAllValuesList (
|
||||
PCSPRIFILE pFilePri,
|
||||
[MarshalAs (UnmanagedType.LPWStr)] string lpResName);
|
||||
/// <summary>
|
||||
/// 将 HWSWSPAIRLIST 解析为 Dictionary<string, string>(语言代码 → 字符串值)
|
||||
/// </summary>
|
||||
public static Dictionary<string, string> ParseWSWSPAIRLIST (IntPtr ptr)
|
||||
{
|
||||
if (ptr == IntPtr.Zero) return null;
|
||||
|
||||
uint count = (uint)Marshal.ReadInt32 (ptr); // dwLength
|
||||
IntPtr pFirst = IntPtr.Add (ptr, sizeof (uint)); // 跳过 dwLength
|
||||
int elementSize = Marshal.SizeOf (typeof (WSTRWSTRPAIR));
|
||||
|
||||
var dict = new Dictionary<string, string> ((int)count);
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
IntPtr pItem = IntPtr.Add (pFirst, i * elementSize);
|
||||
var item = (WSTRWSTRPAIR)Marshal.PtrToStructure (pItem, typeof (WSTRWSTRPAIR));
|
||||
|
||||
string key = item.lpKey != IntPtr.Zero ? Marshal.PtrToStringUni (item.lpKey) : null;
|
||||
string value = item.lpValue != IntPtr.Zero ? Marshal.PtrToStringUni (item.lpValue) : null;
|
||||
if (key != null)
|
||||
dict [key] = value;
|
||||
}
|
||||
return dict;
|
||||
}
|
||||
}
|
||||
public static class LpcwstrListHelper
|
||||
{
|
||||
|
||||
@@ -239,6 +239,69 @@ namespace AppxPackage
|
||||
|
||||
return task.Result;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取指定字符串资源的所有语言变体(语言代码 → 字符串值)
|
||||
/// </summary>
|
||||
public Dictionary<string, string> LocaleResourceAllValue (string resName)
|
||||
{
|
||||
var task = Task.Factory.StartNew (() =>
|
||||
{
|
||||
IntPtr ptr = IntPtr.Zero;
|
||||
try
|
||||
{
|
||||
// 修正:第一个参数应为 m_hPriFile,而不是 ptr
|
||||
ptr = PriFileHelper.GetPriLocaleResourceAllValuesList (m_hPriFile, resName);
|
||||
if (ptr == IntPtr.Zero)
|
||||
return new Dictionary<string, string> ();
|
||||
|
||||
// 解析 HWSWSPAIRLIST 为 Dictionary<string, string>
|
||||
var raw = PriFileHelper.ParseWSWSPAIRLIST (ptr);
|
||||
return raw ?? new Dictionary<string, string> ();
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (ptr != IntPtr.Zero)
|
||||
PriFileHelper.DestroyLocaleResourceAllValuesList (ptr);
|
||||
}
|
||||
});
|
||||
return task.Result;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取指定文件资源的所有缩放/对比度/目标大小变体(PriResourceKey → 文件路径)
|
||||
/// </summary>
|
||||
public Dictionary<PriResourceKey, string> PathResourceAllValue (string resName)
|
||||
{
|
||||
var task = Task.Factory.StartNew (() =>
|
||||
{
|
||||
IntPtr ptr = IntPtr.Zero;
|
||||
try
|
||||
{
|
||||
ptr = PriFileHelper.GetPriFileResourceAllValuesList (m_hPriFile, resName);
|
||||
if (ptr == IntPtr.Zero)
|
||||
return new Dictionary<PriResourceKey, string> ();
|
||||
|
||||
// 解析 HDWSPAIRLIST 为 Dictionary<uint, string>
|
||||
var raw = PriFileHelper.ParseDWSPAIRLIST (ptr);
|
||||
if (raw == null)
|
||||
return new Dictionary<PriResourceKey, string> ();
|
||||
|
||||
// 将 uint 键转换为 PriResourceKey
|
||||
var result = new Dictionary<PriResourceKey, string> ();
|
||||
foreach (var kv in raw)
|
||||
{
|
||||
var key = new PriResourceKey (kv.Key);
|
||||
result [key] = kv.Value;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (ptr != IntPtr.Zero)
|
||||
PriFileHelper.DestroyPriResourceAllValueList (ptr); // 注意:使用对应的释放函数
|
||||
}
|
||||
});
|
||||
return task.Result;
|
||||
}
|
||||
}
|
||||
public class PriReaderBundle: IDisposable
|
||||
{
|
||||
|
||||
67
AppxPackage/Utils.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
internal static class Utils
|
||||
{
|
||||
public static string PascalToCamel (string pascalCase)
|
||||
{
|
||||
if (string.IsNullOrEmpty (pascalCase))
|
||||
return pascalCase;
|
||||
|
||||
// 已经是小驼峰或首字母小写,直接返回
|
||||
if (char.IsLower (pascalCase [0]))
|
||||
return pascalCase;
|
||||
|
||||
// 按大写字母边界拆分单词(处理连续大写字母作为一个单词)
|
||||
// 正则解释:
|
||||
// (?<=[a-z])(?=[A-Z]) 小写后跟大写 -> 分割
|
||||
// | 或
|
||||
// (?<=[A-Z])(?=[A-Z][a-z]) 大写后跟大写+小写(如 XMLR 中的 X 和 MLR)-> 分割
|
||||
string [] words = Regex.Split (pascalCase, @"(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])");
|
||||
|
||||
StringBuilder result = new StringBuilder ();
|
||||
|
||||
for (int i = 0; i < words.Length; i++)
|
||||
{
|
||||
string word = words [i];
|
||||
if (string.IsNullOrEmpty (word))
|
||||
continue;
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
// 第一个单词:全部转为小写
|
||||
result.Append (word.ToLowerInvariant ());
|
||||
}
|
||||
else
|
||||
{
|
||||
// 后续单词:首字母大写,其余小写
|
||||
result.Append (char.ToUpperInvariant (word [0]));
|
||||
if (word.Length > 1)
|
||||
result.Append (word.Substring (1).ToLowerInvariant ());
|
||||
}
|
||||
}
|
||||
|
||||
return result.ToString ();
|
||||
}
|
||||
/// <summary>
|
||||
/// 表示应用清单中用于定义文件/资源路径的属性名称
|
||||
/// </summary>
|
||||
public static readonly List<string> AppFileProperties = new List<string>
|
||||
{
|
||||
"Executable",
|
||||
"LockScreenLogo",
|
||||
"Logo",
|
||||
"SmallLogo",
|
||||
"Square150x150Logo",
|
||||
"Square30x30Logo",
|
||||
"Square310x310Logo",
|
||||
"Square44x44Logo",
|
||||
"Square70x70Logo",
|
||||
"Square71x71Logo",
|
||||
"StartPage",
|
||||
"Tall150x310Logo",
|
||||
"WideLogo",
|
||||
"Wide310x150Logo"
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="13.0.4" targetFramework="net40" />
|
||||
<package id="SharpZipLib" version="0.86.0" targetFramework="net40" />
|
||||
</packages>
|
||||
62
ArmBuild.ps1
Normal file
@@ -0,0 +1,62 @@
|
||||
# ArmBuild.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$root = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$staging = Join-Path $root "_staging"
|
||||
$outZip = Join-Path $root "ArmPackage.zip"
|
||||
$packageFolderName = "Desktop App Installer"
|
||||
$destRoot = Join-Path $staging $packageFolderName
|
||||
|
||||
function Copy-Binaries-ToDest($src, $dest)
|
||||
{
|
||||
if (!(Test-Path $src)) { return }
|
||||
|
||||
Get-ChildItem $src -File | Where-Object {
|
||||
$_.Extension -in ".exe", ".dll"
|
||||
} | ForEach-Object {
|
||||
Copy-Item -Path $_.FullName -Destination $dest -Force
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Preparing staging..."
|
||||
# 清理旧的 staging
|
||||
if (Test-Path $staging) { Remove-Item $staging -Recurse -Force }
|
||||
New-Item $destRoot -ItemType Directory | Out-Null
|
||||
|
||||
# ① 先放 Release
|
||||
Copy-Binaries-ToDest (Join-Path $root "Release") $destRoot
|
||||
|
||||
# ② 再放 ARM\Release(覆盖同名)
|
||||
Copy-Binaries-ToDest (Join-Path $root "ARM\Release") $destRoot
|
||||
|
||||
# ③ shared 全部铺到 Desktop App Installer 里
|
||||
$shared = Join-Path $root "shared"
|
||||
if (Test-Path $shared) {
|
||||
Get-ChildItem $shared -Recurse | ForEach-Object {
|
||||
$relativePath = $_.FullName.Substring($shared.Length).TrimStart('\')
|
||||
$destinationPath = Join-Path $destRoot $relativePath
|
||||
|
||||
if ($_.PSIsContainer) {
|
||||
if (!(Test-Path $destinationPath)) {
|
||||
New-Item -Path $destinationPath -ItemType Directory | Out-Null
|
||||
}
|
||||
} else {
|
||||
$parentDir = Split-Path $destinationPath -Parent
|
||||
if (!(Test-Path $parentDir)) {
|
||||
New-Item -Path $parentDir -ItemType Directory | Out-Null
|
||||
}
|
||||
Copy-Item -Path $_.FullName -Destination $destinationPath -Force
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Creating ZIP..."
|
||||
if (Test-Path $outZip) { Remove-Item $outZip -Force }
|
||||
|
||||
# 压缩 _staging 下的 Desktop App Installer 文件夹
|
||||
Compress-Archive -Path $destRoot -DestinationPath $outZip -CompressionLevel Optimal
|
||||
|
||||
# 清理 staging
|
||||
Remove-Item $staging -Recurse -Force
|
||||
|
||||
Write-Host "Done: $outZip"
|
||||
10
ArmDesktopSdk.props
Normal file
@@ -0,0 +1,10 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='ARM'">
|
||||
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -11,6 +11,8 @@ using ModernNotice;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Bridge
|
||||
{
|
||||
@@ -762,6 +764,44 @@ namespace Bridge
|
||||
}
|
||||
public bool AddApplicationItem (string itemName) => PackageReader.AddApplicationItem (itemName);
|
||||
public bool RemoveApplicationItem (string itemName) => PackageReader.RemoveApplicationItem (itemName);
|
||||
private List<object> JsArrayToList (object jsArray)
|
||||
{
|
||||
var result = new List<object> ();
|
||||
|
||||
if (jsArray == null)
|
||||
return result;
|
||||
|
||||
// JS Array 有 length 属性和数字索引器
|
||||
var type = jsArray.GetType ();
|
||||
|
||||
int length = (int)type.InvokeMember (
|
||||
"length",
|
||||
BindingFlags.GetProperty,
|
||||
null,
|
||||
jsArray,
|
||||
null);
|
||||
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
object value = type.InvokeMember (
|
||||
i.ToString (),
|
||||
BindingFlags.GetProperty,
|
||||
null,
|
||||
jsArray,
|
||||
null);
|
||||
|
||||
result.Add (value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
public void UpdateApplicationItems (object items)
|
||||
{
|
||||
var stritems = JsArrayToList (items).Select (e => e?.ToString ()).ToList ();
|
||||
PackageReader.UpdateApplicationItems (stritems);
|
||||
}
|
||||
public string [] GetApplicationItems () => PackageReader.GetApplicationItems ();
|
||||
public string GetApplicationItemsToJson () => JsonConvert.SerializeObject (GetApplicationItems ());
|
||||
// Cache about
|
||||
private const int MaxCacheItems = 64; // 最大缓存数量
|
||||
private static readonly TimeSpan CacheDuration = TimeSpan.FromMinutes (30);
|
||||
@@ -895,6 +935,7 @@ namespace Bridge
|
||||
public _I_System System => system;
|
||||
public _I_Notice Notice => new _I_Notice ();
|
||||
public _I_Process Process => proc;
|
||||
public _I_Web Web => new _I_Web ();
|
||||
public string CmdArgs
|
||||
{
|
||||
get
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Download.cs" />
|
||||
<Compile Include="Enumerable.cs" />
|
||||
<Compile Include="HResult.cs" />
|
||||
<Compile Include="IE.cs" />
|
||||
<Compile Include="Locale.cs" />
|
||||
@@ -61,6 +62,7 @@
|
||||
<Compile Include="Utils.cs" />
|
||||
<Compile Include="Version.cs" />
|
||||
<Compile Include="VisualElements.cs" />
|
||||
<Compile Include="Web.cs" />
|
||||
<Compile Include="WebBrowser.cs" />
|
||||
<Compile Include="Window.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
159
DataUtils/Enumerable.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
namespace DataUtils
|
||||
{
|
||||
[ComVisible (true)]
|
||||
[InterfaceType (ComInterfaceType.InterfaceIsDual)]
|
||||
public interface _I_Enumerable
|
||||
{
|
||||
int Length { get; set; }
|
||||
object this [int index] { get; set; }
|
||||
void Add (object value); // push
|
||||
void Push (object value);
|
||||
object Pop (); // 删除并返回末尾元素
|
||||
object Shift (); // 删除并返回开头元素
|
||||
void Unshift (object value); // 在开头插入
|
||||
void RemoveAt (int index); // 删除任意索引
|
||||
void Clear (); // 清空数组
|
||||
_I_Enumerable Slice (int start, int end); // 返回子数组
|
||||
void Splice (int start, int deleteCount, object [] items); // 删除并插入
|
||||
int IndexOf (object value); // 查找索引
|
||||
bool Includes (object value); // 是否包含
|
||||
void ForEach (object callback, bool suppressExceptions = false); // 遍历,callback(item, index)
|
||||
_I_Enumerable Concat (_I_Enumerable other); // 拼接
|
||||
string Join (string separator); // 转字符串
|
||||
object GetItem (int index); // 返回 { key, data } 或直接 data
|
||||
void SetAt (int index, object value); // 替换元素
|
||||
int IndexOfKey (int key); // 按内部 key 查找
|
||||
void Move (int index, int newIndex); // 移动元素
|
||||
void PushAll (object [] items); // 一次性 push 多个
|
||||
}
|
||||
public class _I_List: _I_Enumerable, IList
|
||||
{
|
||||
public _I_List (IEnumerable<object> initArr, bool readOnly = false, bool fixedSize = false, bool sync = true)
|
||||
{
|
||||
_list = initArr?.ToList () ?? new List<object> ();
|
||||
IsFixedSize = fixedSize;
|
||||
IsReadOnly = readOnly;
|
||||
IsSynchronized = sync;
|
||||
}
|
||||
protected List<object> _list;
|
||||
protected object _lock = new object ();
|
||||
public object this [int index] { get { return _list [index]; } set { _list [index] = value; } }
|
||||
public int Count => _list.Count;
|
||||
public bool IsFixedSize { get; }
|
||||
public bool IsReadOnly { get; }
|
||||
public bool IsSynchronized { get; }
|
||||
public int Length
|
||||
{
|
||||
get { return _list.Count; }
|
||||
set
|
||||
{
|
||||
if (!IsFixedSize && !IsReadOnly)
|
||||
{
|
||||
_list.Capacity = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
public object SyncRoot => _lock;
|
||||
public void Add (object value) => _list.Add (value);
|
||||
public void Push (object value) => _list.Add (value);
|
||||
public void RemoveAt (int index) => _list.RemoveAt (index);
|
||||
public void Clear () => _list.Clear ();
|
||||
public int IndexOf (object value) => _list.IndexOf (value);
|
||||
int IList.Add (object value)
|
||||
{
|
||||
_list.Add (value);
|
||||
return _list.Count - 1;
|
||||
}
|
||||
public bool Contains (object value) => _list.Contains (value);
|
||||
public void Insert (int index, object value) => _list.Insert (index, value);
|
||||
public void Remove (object value) => _list.Remove (value);
|
||||
public void ForEach (object callback, bool suppressExceptions = false)
|
||||
{
|
||||
for (int i = 0; i < _list.Count; i++)
|
||||
{
|
||||
var item = _list [i];
|
||||
if (suppressExceptions)
|
||||
{
|
||||
try { JsUtils.Call (callback, item, i); } catch { }
|
||||
}
|
||||
else JsUtils.Call (callback, item, i);
|
||||
}
|
||||
}
|
||||
public IEnumerator GetEnumerator () => _list.GetEnumerator ();
|
||||
public _I_Enumerable Slice (int start, int end)
|
||||
{
|
||||
if (end < 0) end = _list.Count + end;
|
||||
start = Math.Max (0, start);
|
||||
end = Math.Min (_list.Count, end);
|
||||
var arr = _list.GetRange (start, Math.Max (0, end - start));
|
||||
return new _I_List (arr);
|
||||
}
|
||||
public void Splice (int start, int deleteCount, object [] items)
|
||||
{
|
||||
if (start < 0) start = Math.Max (0, _list.Count + start);
|
||||
int count = Math.Min (deleteCount, _list.Count - start);
|
||||
_list.RemoveRange (start, count);
|
||||
if (items != null && items.Length > 0)
|
||||
_list.InsertRange (start, items);
|
||||
}
|
||||
public bool Includes (object value) => _list.Contains (value);
|
||||
public _I_Enumerable Concat (_I_Enumerable other)
|
||||
{
|
||||
var newList = new List<object> (_list);
|
||||
if (other is _I_List)
|
||||
newList.AddRange ((other as _I_List)._list);
|
||||
return new _I_List (newList);
|
||||
}
|
||||
public string Join (string separator)
|
||||
{
|
||||
return string.Join (separator ?? ",", _list.Select (x => x?.ToString () ?? ""));
|
||||
}
|
||||
public object GetItem (int index) => _list [index];
|
||||
public void SetAt (int index, object value) => _list [index] = value;
|
||||
public int IndexOfKey (int key)
|
||||
{
|
||||
return key >= 0 && key < _list.Count ? key : -1;
|
||||
}
|
||||
public void Move (int index, int newIndex)
|
||||
{
|
||||
if (index < 0 || index >= _list.Count || newIndex < 0 || newIndex >= _list.Count) return;
|
||||
var item = _list [index];
|
||||
_list.RemoveAt (index);
|
||||
_list.Insert (newIndex, item);
|
||||
}
|
||||
public void PushAll (object [] items)
|
||||
{
|
||||
if (items == null || items.Length == 0) return;
|
||||
_list.AddRange (items);
|
||||
}
|
||||
public void CopyTo (Array array, int index)
|
||||
{
|
||||
if (array == null) throw new ArgumentNullException (nameof (array));
|
||||
for (int i = 0; i < _list.Count && index + i < array.Length; i++)
|
||||
array.SetValue (_list [i], index + i);
|
||||
}
|
||||
public object Pop ()
|
||||
{
|
||||
if (_list.Count == 0) return null;
|
||||
var last = _list [_list.Count - 1];
|
||||
_list.RemoveAt (_list.Count - 1);
|
||||
return last;
|
||||
}
|
||||
public object Shift ()
|
||||
{
|
||||
if (_list.Count == 0) return null;
|
||||
var first = _list [0];
|
||||
_list.RemoveAt (0);
|
||||
return first;
|
||||
}
|
||||
public void Unshift (object value) => _list.Insert (0, value);
|
||||
}
|
||||
}
|
||||
@@ -131,6 +131,8 @@ namespace DataUtils
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Process
|
||||
{
|
||||
public Process Start (string filename, string args) => Process.Start (filename, args);
|
||||
public Process Open (string url) => Process.Start (url);
|
||||
public int Run (
|
||||
string cmdline,
|
||||
string filepath,
|
||||
|
||||
@@ -539,8 +539,7 @@ namespace DataUtils
|
||||
public void File (string filter, string initDir, object jsCallback)
|
||||
{
|
||||
IWin32Window owner = GetActiveWindowOwner ();
|
||||
Thread t = new Thread (() =>
|
||||
{
|
||||
Thread t = new Thread (() => {
|
||||
string result = string.Empty;
|
||||
try
|
||||
{
|
||||
@@ -565,8 +564,7 @@ namespace DataUtils
|
||||
public void Files (string filter, string initDir, object jsCallback)
|
||||
{
|
||||
IWin32Window owner = GetActiveWindowOwner ();
|
||||
Thread t = new Thread (() =>
|
||||
{
|
||||
Thread t = new Thread (() => {
|
||||
string result = "[]";
|
||||
try
|
||||
{
|
||||
@@ -591,8 +589,7 @@ namespace DataUtils
|
||||
public void Dir (string initDir, object jsCallback)
|
||||
{
|
||||
IWin32Window owner = GetActiveWindowOwner ();
|
||||
Thread t = new Thread (() =>
|
||||
{
|
||||
Thread t = new Thread (() => {
|
||||
string result = string.Empty;
|
||||
try
|
||||
{
|
||||
@@ -616,8 +613,7 @@ namespace DataUtils
|
||||
public void Dirs (string initDir, object jsCallback)
|
||||
{
|
||||
IWin32Window owner = GetActiveWindowOwner ();
|
||||
Thread t = new Thread (() =>
|
||||
{
|
||||
Thread t = new Thread (() => {
|
||||
string result = "[]";
|
||||
try
|
||||
{
|
||||
@@ -649,8 +645,71 @@ namespace DataUtils
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Folder
|
||||
{
|
||||
[DllImport ("shell32.dll")]
|
||||
private static extern int SHGetKnownFolderPath (
|
||||
[MarshalAs (UnmanagedType.LPStruct)] Guid rfid,
|
||||
uint dwFlags,
|
||||
IntPtr hToken,
|
||||
out IntPtr ppszPath);
|
||||
private static string KF (Guid g)
|
||||
{
|
||||
IntPtr p;
|
||||
SHGetKnownFolderPath (g, 0, IntPtr.Zero, out p);
|
||||
string s = Marshal.PtrToStringUni (p);
|
||||
Marshal.FreeCoTaskMem (p);
|
||||
return s;
|
||||
}
|
||||
private static readonly Guid FOLDERID_Downloads = new Guid ("374DE290-123F-4565-9164-39C4925E467B");
|
||||
private static readonly Guid FOLDERID_SavedPictures = new Guid ("3B193882-D3AD-4EAB-965A-69829D1FB59F");
|
||||
private static readonly Guid FOLDERID_SavedGames = new Guid ("4C5C32FF-BB9D-43B0-BF90-45A0FEEB6D0E");
|
||||
private static readonly Guid FOLDERID_Links = new Guid ("BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968");
|
||||
private static readonly Guid FOLDERID_Contacts = new Guid ("56784854-C6CB-462B-8169-88E350ACB882");
|
||||
private static readonly Guid FOLDERID_Searches = new Guid ("7D1D3A04-DEBB-4115-95CF-2F29DA2920DA");
|
||||
public string ProgramFiles => Environment.GetFolderPath (Environment.SpecialFolder.ProgramFiles);
|
||||
public string ProgramFilesX86 => Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86);
|
||||
public string Windows => Environment.GetFolderPath (Environment.SpecialFolder.Windows);
|
||||
public string System32 => Environment.SystemDirectory;
|
||||
public string UserProfile => Environment.GetFolderPath (Environment.SpecialFolder.UserProfile);
|
||||
public string Desktop => Environment.GetFolderPath (Environment.SpecialFolder.Desktop);
|
||||
public string Documents => Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
|
||||
public string Pictures => Environment.GetFolderPath (Environment.SpecialFolder.MyPictures);
|
||||
public string Music => Environment.GetFolderPath (Environment.SpecialFolder.MyMusic);
|
||||
public string Videos => Environment.GetFolderPath (Environment.SpecialFolder.MyVideos);
|
||||
public string AppDataRoaming => Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData);
|
||||
public string AppDataLocal => Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData);
|
||||
public string AppDataLocalLow => Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData) + "\\Low";
|
||||
public string Temp => System.IO.Path.GetTempPath ();
|
||||
public string PublicDesktop => Environment.GetFolderPath (Environment.SpecialFolder.CommonDesktopDirectory);
|
||||
public string PublicDocuments => Environment.GetFolderPath (Environment.SpecialFolder.CommonDocuments);
|
||||
public string PublicPictures => Environment.GetFolderPath (Environment.SpecialFolder.CommonPictures);
|
||||
public string PublicMusic => Environment.GetFolderPath (Environment.SpecialFolder.CommonMusic);
|
||||
public string PublicVideos => Environment.GetFolderPath (Environment.SpecialFolder.CommonVideos);
|
||||
public string Downloads => KF (FOLDERID_Downloads);
|
||||
public string SavedPictures => KF (FOLDERID_SavedPictures);
|
||||
public string SavedGames => KF (FOLDERID_SavedGames);
|
||||
public string Links => KF (FOLDERID_Links);
|
||||
public string Contacts => KF (FOLDERID_Contacts);
|
||||
public string Searches => KF (FOLDERID_Searches);
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Storage
|
||||
{
|
||||
[DllImport ("user32.dll")]
|
||||
private static extern IntPtr GetForegroundWindow ();
|
||||
class WindowWrapper: IWin32Window
|
||||
{
|
||||
private IntPtr _hwnd;
|
||||
public WindowWrapper (IntPtr handle) { _hwnd = handle; }
|
||||
public IntPtr Handle { get { return _hwnd; } }
|
||||
}
|
||||
private static IWin32Window GetActiveWindowOwner ()
|
||||
{
|
||||
IntPtr hWnd = GetForegroundWindow ();
|
||||
return hWnd != IntPtr.Zero ? new WindowWrapper (hWnd) : null;
|
||||
}
|
||||
private static void CallJS (object jsFunc, params object [] args)
|
||||
{
|
||||
if (jsFunc == null) return;
|
||||
@@ -680,6 +739,35 @@ namespace DataUtils
|
||||
public _I_Directory GetDirectory (string path) { return new _I_Directory (path); }
|
||||
public _I_Directory GetDir (string path) { return GetDirectory (path); }
|
||||
public _I_Explorer Explorer => new _I_Explorer ();
|
||||
public void Save (string filter, string initDir, string defaultName, object jsCallback)
|
||||
{
|
||||
IWin32Window owner = GetActiveWindowOwner ();
|
||||
Thread t = new Thread (() => {
|
||||
string result = string.Empty;
|
||||
try
|
||||
{
|
||||
using (SaveFileDialog dlg = new SaveFileDialog ())
|
||||
{
|
||||
dlg.Filter = filter;
|
||||
dlg.InitialDirectory = string.IsNullOrEmpty (initDir)
|
||||
? Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments)
|
||||
: initDir;
|
||||
if (!string.IsNullOrEmpty (defaultName))
|
||||
dlg.FileName = defaultName;
|
||||
dlg.OverwritePrompt = true;
|
||||
dlg.AddExtension = true;
|
||||
if (dlg.ShowDialog (owner) == DialogResult.OK)
|
||||
result = dlg.FileName;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
CallJS (jsCallback, result);
|
||||
});
|
||||
t.IsBackground = true;
|
||||
t.SetApartmentState (ApartmentState.STA);
|
||||
t.Start ();
|
||||
}
|
||||
public _I_Folder Folders => new _I_Folder ();
|
||||
}
|
||||
// Small shell helpers that P/Invoke for folder retrieval using CSIDL or Known Folder GUIDs
|
||||
internal static class ShellHelpers
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
@@ -186,4 +190,197 @@ namespace DataUtils
|
||||
object BuildJSON ();
|
||||
}
|
||||
}
|
||||
public static class JsUtils
|
||||
{
|
||||
/// <summary>
|
||||
/// 调用 JS 函数。第一个参数作为 this,其余作为 JS 函数参数。
|
||||
/// </summary>
|
||||
/// <param name="callback">JS 函数对象</param>
|
||||
/// <param name="args">JS 函数参数,可选</param>
|
||||
/// <returns>JS 函数返回值</returns>
|
||||
public static void Call (object jsFunc, params object [] args)
|
||||
{
|
||||
if (jsFunc == null) return;
|
||||
object [] invokeArgs = new object [(args?.Length ?? 0) + 1];
|
||||
invokeArgs [0] = jsFunc; // this
|
||||
if (args != null)
|
||||
for (int i = 0; i < args.Length; i++)
|
||||
invokeArgs [i + 1] = args [i];
|
||||
jsFunc.GetType ().InvokeMember (
|
||||
"call",
|
||||
BindingFlags.InvokeMethod,
|
||||
null,
|
||||
jsFunc,
|
||||
invokeArgs);
|
||||
}
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[InterfaceType (ComInterfaceType.InterfaceIsDual)]
|
||||
public interface _I_IAsyncAction
|
||||
{
|
||||
_I_IAsyncAction Then (object resolve, object reject = null, object progress = null);
|
||||
void Done (object resolve, object reject = null);
|
||||
void Catch (object reject);
|
||||
bool IsCompleted { get; }
|
||||
bool IsCancelled { get; }
|
||||
bool IsError { get; }
|
||||
void Cancel ();
|
||||
void ReportProgress (object progress);
|
||||
object Error { get; }
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Task: _I_IAsyncAction
|
||||
{
|
||||
private object _result;
|
||||
private Exception _error;
|
||||
private bool _completed;
|
||||
private bool _cancelled;
|
||||
private List<object> _resolveCallbacks = new List<object> ();
|
||||
private List<object> _rejectCallbacks = new List<object> ();
|
||||
private List<object> _progressCallbacks = new List<object> ();
|
||||
private CancellationTokenSource _cts = new CancellationTokenSource ();
|
||||
public _I_Task (Func<object> func)
|
||||
{
|
||||
ThreadPool.QueueUserWorkItem (_ => {
|
||||
try
|
||||
{
|
||||
if (_cts.Token.IsCancellationRequested)
|
||||
{
|
||||
_cancelled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
_result = func ();
|
||||
_completed = true;
|
||||
|
||||
foreach (var cb in _resolveCallbacks)
|
||||
JsUtils.Call (cb, _result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_error = ex;
|
||||
foreach (var cb in _rejectCallbacks)
|
||||
JsUtils.Call (cb, ex);
|
||||
}
|
||||
});
|
||||
}
|
||||
public _I_IAsyncAction Then (object resolve, object reject = null, object progress = null)
|
||||
{
|
||||
if (resolve != null) _resolveCallbacks.Add (resolve);
|
||||
if (reject != null) _rejectCallbacks.Add (reject);
|
||||
if (progress != null) _progressCallbacks.Add (progress);
|
||||
return this;
|
||||
}
|
||||
public void Done (object resolve, object reject = null)
|
||||
{
|
||||
if (resolve != null) _resolveCallbacks.Add (resolve);
|
||||
if (reject != null) _rejectCallbacks.Add (reject);
|
||||
}
|
||||
|
||||
public void Catch (object reject)
|
||||
{
|
||||
if (reject != null) _rejectCallbacks.Add (reject);
|
||||
}
|
||||
|
||||
public bool IsCompleted => _completed;
|
||||
public bool IsCancelled => _cancelled;
|
||||
public bool IsError => _error != null;
|
||||
|
||||
public object Error => _error;
|
||||
|
||||
public void Cancel ()
|
||||
{
|
||||
_cts.Cancel ();
|
||||
_cancelled = true;
|
||||
}
|
||||
|
||||
public void ReportProgress (object progress)
|
||||
{
|
||||
foreach (var cb in _progressCallbacks)
|
||||
JsUtils.Call (cb, progress);
|
||||
}
|
||||
|
||||
public object Result => _result;
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Thread: _I_IAsyncAction
|
||||
{
|
||||
private Thread _thread;
|
||||
private bool _completed;
|
||||
private bool _cancelled;
|
||||
private Exception _error;
|
||||
private List<object> _resolveCallbacks = new List<object> ();
|
||||
private List<object> _rejectCallbacks = new List<object> ();
|
||||
private List<object> _progressCallbacks = new List<object> ();
|
||||
private CancellationTokenSource _cts = new CancellationTokenSource ();
|
||||
|
||||
public _I_Thread (Action action)
|
||||
{
|
||||
_thread = new Thread (() => {
|
||||
try
|
||||
{
|
||||
if (_cts.Token.IsCancellationRequested)
|
||||
{
|
||||
_cancelled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
action ();
|
||||
_completed = true;
|
||||
|
||||
foreach (var cb in _resolveCallbacks)
|
||||
JsUtils.Call (cb);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_error = ex;
|
||||
foreach (var cb in _rejectCallbacks)
|
||||
JsUtils.Call (cb, ex);
|
||||
}
|
||||
});
|
||||
_thread.IsBackground = true;
|
||||
_thread.Start ();
|
||||
}
|
||||
|
||||
public _I_IAsyncAction Then (object resolve, object reject = null, object progress = null)
|
||||
{
|
||||
if (resolve != null) _resolveCallbacks.Add (resolve);
|
||||
if (reject != null) _rejectCallbacks.Add (reject);
|
||||
if (progress != null) _progressCallbacks.Add (progress);
|
||||
return this;
|
||||
}
|
||||
|
||||
public void Done (object resolve, object reject = null)
|
||||
{
|
||||
if (resolve != null) _resolveCallbacks.Add (resolve);
|
||||
if (reject != null) _rejectCallbacks.Add (reject);
|
||||
}
|
||||
|
||||
public void Catch (object reject)
|
||||
{
|
||||
if (reject != null) _rejectCallbacks.Add (reject);
|
||||
}
|
||||
|
||||
public bool IsCompleted => _completed;
|
||||
public bool IsCancelled => _cancelled;
|
||||
public bool IsError => _error != null;
|
||||
public object Error => _error;
|
||||
|
||||
public void Cancel ()
|
||||
{
|
||||
_cts.Cancel ();
|
||||
_cancelled = true;
|
||||
}
|
||||
|
||||
public void ReportProgress (object progress)
|
||||
{
|
||||
foreach (var cb in _progressCallbacks)
|
||||
JsUtils.Call (cb, progress);
|
||||
}
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Exception: IExcep
|
||||
}
|
||||
|
||||
321
DataUtils/Web.cs
Normal file
@@ -0,0 +1,321 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace DataUtils
|
||||
{
|
||||
[ComVisible (true)]
|
||||
[InterfaceType (ComInterfaceType.InterfaceIsDual)]
|
||||
public interface IHttpResponse: IDisposable
|
||||
{
|
||||
int Status { get; } // 兼容旧版,等同于 StatusCode
|
||||
int StatusCode { get; }
|
||||
string StatusText { get; } // 等同于 StatusDescription
|
||||
string StatusDescription { get; }
|
||||
string ResponseUrl { get; }
|
||||
Uri ResponseUri { get; }
|
||||
string ContentType { get; }
|
||||
long ContentLength { get; } // 注意:JS 中 Number 可表示 2^53 以内整数
|
||||
string CharacterSet { get; }
|
||||
string ContentEncoding { get; }
|
||||
DateTime LastModified { get; }
|
||||
string Method { get; } // 原始请求方法 (GET, POST...)
|
||||
Version ProtocolVersion { get; } // 如 1.1,JS 中可能转为字符串
|
||||
bool IsFromCache { get; }
|
||||
bool IsMutuallyAuthenticated { get; }
|
||||
string Text ();
|
||||
_I_Enumerable Bytes ();
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class HttpResponse: IHttpResponse, IDisposable
|
||||
{
|
||||
private readonly byte [] _data;
|
||||
private readonly Dictionary<string, string> _headersDict;
|
||||
private bool _disposed = false;
|
||||
public int Status => StatusCode;
|
||||
public int StatusCode { get; private set; }
|
||||
public string StatusText => StatusDescription;
|
||||
public string StatusDescription { get; private set; }
|
||||
public string ResponseUrl => ResponseUri?.ToString ();
|
||||
public Uri ResponseUri { get; private set; }
|
||||
public string ContentType { get; private set; }
|
||||
public long ContentLength { get; private set; }
|
||||
public string CharacterSet { get; private set; }
|
||||
public string ContentEncoding { get; private set; }
|
||||
public DateTime LastModified { get; private set; }
|
||||
public string Method { get; private set; }
|
||||
public Version ProtocolVersion { get; private set; }
|
||||
public bool IsFromCache { get; private set; }
|
||||
public bool IsMutuallyAuthenticated { get; private set; }
|
||||
public HttpResponse (HttpWebResponse response)
|
||||
{
|
||||
if (response == null) throw new ArgumentNullException (nameof (response));
|
||||
using (var stream = response.GetResponseStream ())
|
||||
using (var ms = new MemoryStream ())
|
||||
{
|
||||
stream.CopyTo (ms);
|
||||
_data = ms.ToArray ();
|
||||
}
|
||||
StatusCode = (int)response.StatusCode;
|
||||
StatusDescription = response.StatusDescription;
|
||||
ResponseUri = response.ResponseUri;
|
||||
Method = response.Method;
|
||||
ProtocolVersion = new Version ((ushort)response.ProtocolVersion.Major, (ushort)response.ProtocolVersion.Minor, (ushort)response.ProtocolVersion.Build, (ushort)response.ProtocolVersion.Revision);
|
||||
IsFromCache = response.IsFromCache;
|
||||
IsMutuallyAuthenticated = response.IsMutuallyAuthenticated;
|
||||
ContentType = response.ContentType ?? "";
|
||||
ContentLength = response.ContentLength;
|
||||
CharacterSet = response.CharacterSet ?? "";
|
||||
ContentEncoding = response.ContentEncoding ?? "";
|
||||
LastModified = response.LastModified;
|
||||
_headersDict = new Dictionary<string, string> (StringComparer.OrdinalIgnoreCase);
|
||||
foreach (string key in response.Headers.AllKeys)
|
||||
{
|
||||
if (!string.IsNullOrEmpty (key))
|
||||
_headersDict [key] = response.Headers [key];
|
||||
}
|
||||
}
|
||||
public HttpResponse (int statusCode, string statusDescription, string responseUrl, byte [] data, Dictionary<string, string> headers)
|
||||
{
|
||||
StatusCode = statusCode;
|
||||
StatusDescription = statusDescription ?? "";
|
||||
ResponseUri = string.IsNullOrEmpty (responseUrl) ? null : new Uri (responseUrl);
|
||||
_data = data ?? new byte [0];
|
||||
_headersDict = headers ?? new Dictionary<string, string> ();
|
||||
ContentType = GetHeader ("Content-Type") ?? "";
|
||||
ContentLength = _data.Length;
|
||||
CharacterSet = "";
|
||||
ContentEncoding = "";
|
||||
LastModified = DateTime.MinValue;
|
||||
Method = "";
|
||||
ProtocolVersion = new Version (0, 0);
|
||||
IsFromCache = false;
|
||||
IsMutuallyAuthenticated = false;
|
||||
}
|
||||
public string GetHeader (string sName)
|
||||
{
|
||||
if (string.IsNullOrEmpty (sName)) return null;
|
||||
try
|
||||
{
|
||||
return _headersDict [sName];
|
||||
}
|
||||
catch { return null; }
|
||||
}
|
||||
public string GetHeadersToJson ()
|
||||
{
|
||||
return JsonConvert.SerializeObject (_headersDict);
|
||||
}
|
||||
public string Text ()
|
||||
{
|
||||
string charset = CharacterSet;
|
||||
Encoding enc = Encoding.UTF8;
|
||||
if (!string.IsNullOrEmpty (charset))
|
||||
{
|
||||
try { enc = Encoding.GetEncoding (charset); }
|
||||
catch { /* 保持 UTF-8 */ }
|
||||
}
|
||||
return enc.GetString (_data);
|
||||
}
|
||||
public _I_Enumerable Bytes ()
|
||||
{
|
||||
var list = new List<object> ();
|
||||
foreach (byte b in _data)
|
||||
list.Add (b);
|
||||
return new _I_List (list);
|
||||
}
|
||||
public void Dispose ()
|
||||
{
|
||||
Dispose (true);
|
||||
GC.SuppressFinalize (this);
|
||||
}
|
||||
protected virtual void Dispose (bool disposing)
|
||||
{
|
||||
if (!_disposed)
|
||||
{
|
||||
_disposed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class HttpRequest: IDisposable
|
||||
{
|
||||
private string _method;
|
||||
private string _url;
|
||||
private Dictionary<string, string> _headers = new Dictionary<string, string> ();
|
||||
public int Timeout { get; set; } = 100000; // 毫秒,默认 100 秒
|
||||
public int ReadWriteTimeout { get; set; } = 300000; // 读写超时,默认 5 分钟
|
||||
public bool AllowAutoRedirect { get; set; } = true;
|
||||
public bool AllowWriteStreamBuffering { get; set; } = true;
|
||||
public bool KeepAlive { get; set; } = true;
|
||||
public int MaximumAutomaticRedirections { get; set; } = 50;
|
||||
public string UserAgent
|
||||
{
|
||||
get { return GetHeader ("User-Agent"); }
|
||||
set { SetHeader ("User-Agent", value); }
|
||||
}
|
||||
public string Referer
|
||||
{
|
||||
get { return GetHeader ("Referer"); }
|
||||
set { SetHeader ("Referer", value); }
|
||||
}
|
||||
public string ContentType
|
||||
{
|
||||
get { return GetHeader ("Content-Type"); }
|
||||
set { SetHeader ("Content-Type", value); }
|
||||
}
|
||||
public string Accept
|
||||
{
|
||||
get { return GetHeader ("Accept"); }
|
||||
set { SetHeader ("Accept", value); }
|
||||
}
|
||||
public IWebProxy Proxy { get; set; } = null;
|
||||
public CookieContainer CookieContainer { get; set; } = null;
|
||||
private string _httpver = "1.1";
|
||||
public string ProtocolVersion
|
||||
{
|
||||
get { return _httpver; }
|
||||
set { _httpver = value; }
|
||||
}
|
||||
public System.Version ProtVer
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (_httpver)
|
||||
{
|
||||
case "1.0": return HttpVersion.Version10;
|
||||
default:
|
||||
case "1.1": return HttpVersion.Version11;
|
||||
}
|
||||
}
|
||||
}
|
||||
public bool PreAuthenticate { get; set; } = false;
|
||||
public ICredentials Credentials { get; set; } = null;
|
||||
public bool AutomaticDecompression { get; set; } = false;
|
||||
public Action<long, long> UploadProgressCallback { get; set; } = null;
|
||||
public void Open (string sMethod, string sUrl)
|
||||
{
|
||||
_method = sMethod;
|
||||
_url = sUrl;
|
||||
}
|
||||
public void SetHeader (string sName, string sValue) => _headers [sName] = sValue;
|
||||
public string GetHeader (string sName) => _headers [sName];
|
||||
public string GetHeadersToJson () => JsonConvert.SerializeObject (_headers);
|
||||
public void RemoveHeader (string sName) => _headers.Remove (sName);
|
||||
public void ClearHeader () => _headers.Clear ();
|
||||
public IHttpResponse Send (string sBody, string encoding)
|
||||
{
|
||||
var req = (HttpWebRequest)WebRequest.Create (_url);
|
||||
req.Method = _method;
|
||||
req.Timeout = Timeout;
|
||||
req.ReadWriteTimeout = ReadWriteTimeout;
|
||||
req.AllowAutoRedirect = AllowAutoRedirect;
|
||||
req.AllowWriteStreamBuffering = AllowWriteStreamBuffering;
|
||||
req.KeepAlive = KeepAlive;
|
||||
req.MaximumAutomaticRedirections = MaximumAutomaticRedirections;
|
||||
if (Proxy != null) req.Proxy = Proxy;
|
||||
if (CookieContainer != null) req.CookieContainer = CookieContainer;
|
||||
req.ProtocolVersion = ProtVer;
|
||||
req.PreAuthenticate = PreAuthenticate;
|
||||
if (Credentials != null) req.Credentials = Credentials;
|
||||
if (AutomaticDecompression)
|
||||
req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
|
||||
if (_headers.ContainsKey ("User-Agent"))
|
||||
req.UserAgent = _headers ["User-Agent"];
|
||||
foreach (var h in _headers)
|
||||
{
|
||||
if (string.Equals (h.Key, "User-Agent", StringComparison.OrdinalIgnoreCase))
|
||||
continue;
|
||||
if (string.Equals (h.Key, "Content-Type", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
string ct = h.Value;
|
||||
if (!string.IsNullOrEmpty (sBody) && !ct.Contains ("charset"))
|
||||
{
|
||||
Encoding enc = Encoding.GetEncoding (encoding);
|
||||
ct = ct + "; charset=" + enc.WebName;
|
||||
}
|
||||
req.ContentType = ct;
|
||||
}
|
||||
else if (string.Equals (h.Key, "Accept", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
req.Accept = h.Value;
|
||||
}
|
||||
else if (string.Equals (h.Key, "Referer", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
req.Referer = h.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
req.Headers [h.Key] = h.Value;
|
||||
}
|
||||
}
|
||||
|
||||
// 如果没有显式设置 Content-Type 且是 POST/PUT 且有请求体,设置默认值
|
||||
bool hasContentType = _headers.Keys.Any (k => string.Equals (k, "Content-Type", StringComparison.OrdinalIgnoreCase));
|
||||
if (!hasContentType && (string.Equals (_method, "POST", StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals (_method, "PUT", StringComparison.OrdinalIgnoreCase)) &&
|
||||
!string.IsNullOrEmpty (sBody))
|
||||
{
|
||||
Encoding enc = Encoding.GetEncoding (encoding);
|
||||
req.ContentType = "application/x-www-form-urlencoded; charset=" + enc.WebName;
|
||||
}
|
||||
|
||||
// 写入请求体
|
||||
if (!string.IsNullOrEmpty (sBody))
|
||||
{
|
||||
Encoding enc = Encoding.GetEncoding (encoding);
|
||||
byte [] bytes = enc.GetBytes (sBody);
|
||||
req.ContentLength = bytes.Length;
|
||||
using (var stream = req.GetRequestStream ())
|
||||
{
|
||||
if (UploadProgressCallback != null)
|
||||
{
|
||||
int totalWritten = 0;
|
||||
int bufferSize = 8192;
|
||||
for (int offset = 0; offset < bytes.Length; offset += bufferSize)
|
||||
{
|
||||
int chunkSize = Math.Min (bufferSize, bytes.Length - offset);
|
||||
stream.Write (bytes, offset, chunkSize);
|
||||
totalWritten += chunkSize;
|
||||
UploadProgressCallback (totalWritten, bytes.Length);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
stream.Write (bytes, 0, bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
using (var res = (HttpWebResponse)req.GetResponse ())
|
||||
{
|
||||
return new HttpResponse (res);
|
||||
}
|
||||
}
|
||||
public void SendAsync (string sBody, string encoding, object pfResolve)
|
||||
{
|
||||
System.Threading.ThreadPool.QueueUserWorkItem (delegate
|
||||
{
|
||||
JsUtils.Call (pfResolve, Send (sBody, encoding));
|
||||
});
|
||||
}
|
||||
public void Dispose () { }
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Http
|
||||
{
|
||||
public HttpRequest CreateHttpRequest () => new HttpRequest ();
|
||||
}
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public class _I_Web
|
||||
{
|
||||
public _I_Http Http => new _I_Http ();
|
||||
}
|
||||
}
|
||||
5
Directory.Build.props
Normal file
@@ -0,0 +1,5 @@
|
||||
<Project>
|
||||
<PropertyGroup Condition="'$(MSBuildProjectExtension)'=='.vcxproj'">
|
||||
<ForceImportAfterCppProps>$(MSBuildThisFileDirectory)ArmDesktopSdk.props</ForceImportAfterCppProps>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,22 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}</ProjectGuid>
|
||||
@@ -33,6 +33,13 @@
|
||||
<CLRSupport>true</CLRSupport>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
@@ -40,14 +47,7 @@
|
||||
<CLRSupport>true</CLRSupport>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
@@ -62,26 +62,26 @@
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
@@ -95,15 +95,16 @@
|
||||
<AdditionalDependencies />
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies />
|
||||
<AdditionalDependencies>
|
||||
</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
@@ -116,14 +117,15 @@
|
||||
<AdditionalDependencies />
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies />
|
||||
<AdditionalDependencies>
|
||||
</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@@ -142,9 +144,9 @@
|
||||
<ClCompile Include="IEHelper.cpp" />
|
||||
<ClCompile Include="Stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
|
||||
@@ -11,6 +11,21 @@
|
||||
<AssemblyName>Manager</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
@@ -23,7 +38,7 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
@@ -36,7 +51,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
@@ -44,7 +59,7 @@
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@@ -55,6 +70,9 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Project1.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
@@ -169,6 +187,15 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Project1.ico" />
|
||||
<None Include="Resources\32_manager.ico" />
|
||||
<None Include="Resources\IconMetro.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
||||
3
Manager/ManagerShell.Designer.cs
generated
@@ -35,12 +35,13 @@
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(661, 416);
|
||||
this.ClientSize = new System.Drawing.Size(657, 414);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Location = new System.Drawing.Point(0, 0);
|
||||
this.Name = "ManagerShell";
|
||||
this.PageScale = 125;
|
||||
this.Text = "Form1";
|
||||
this.WindowIcon = ((System.Drawing.Icon)(resources.GetObject("$this.WindowIcon")));
|
||||
this.Load += new System.EventHandler(this.ManagerShell_Load);
|
||||
this.Resize += new System.EventHandler(this.ManagerShell_Resize);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Manager
|
||||
{
|
||||
public partial class ManagerShell: WAShell.WebAppForm
|
||||
@@ -25,6 +27,7 @@ namespace Manager
|
||||
catch { }
|
||||
InitSize ();
|
||||
Text = Bridge.ResXmlStore.StringRes.Get ("MANAGER_APPTITLE");
|
||||
this.Load += Form_Load;
|
||||
}
|
||||
private void InitSize ()
|
||||
{
|
||||
@@ -58,6 +61,17 @@ namespace Manager
|
||||
);
|
||||
WindowState = (FormWindowState)lasts.ReadInt ((int)FormWindowState.Normal);
|
||||
}
|
||||
private void Form_Load (object sender, EventArgs e)
|
||||
{
|
||||
var current = Process.GetCurrentProcess ();
|
||||
var processes = Process.GetProcessesByName (current.ProcessName);
|
||||
int count = processes.Length;
|
||||
int offset = 30; // 每个窗口偏移
|
||||
int x = 20 + (count - 1) * offset;
|
||||
int y = 20 + (count - 1) * offset;
|
||||
this.StartPosition = FormStartPosition.Manual;
|
||||
this.Location = new Point (x, y);
|
||||
}
|
||||
private void ManagerShell_Load (object sender, EventArgs e)
|
||||
{
|
||||
var root = Path.GetDirectoryName (DataUtils.Utilities.GetCurrentProgramPath ());
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Manager
|
||||
@@ -12,7 +14,7 @@ namespace Manager
|
||||
/// 应用程序的主入口点。
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main ()
|
||||
static void Main (string [] args)
|
||||
{
|
||||
Directory.SetCurrentDirectory (AppDomain.CurrentDomain.BaseDirectory);
|
||||
//System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo ("en-US");
|
||||
|
||||
BIN
Manager/Resources/32_manager.ico
Normal file
|
After Width: | Height: | Size: 265 KiB |
BIN
Manager/Resources/IconMetro.ico
Normal file
|
After Width: | Height: | Size: 44 KiB |
@@ -29,7 +29,7 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
|
||||
213
PriFileFormat/DataTree.cs
Normal file
@@ -0,0 +1,213 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace PriFileFormat
|
||||
{
|
||||
/// <summary>
|
||||
/// 树节点接口
|
||||
/// </summary>
|
||||
public interface ITreeNode: IDisposable, IEnumerable<ITreeNode>
|
||||
{
|
||||
string Name { get; set; }
|
||||
string Value { get; set; }
|
||||
ITreeNode Parent { get; set; }
|
||||
IList<ITreeNode> Children { get; }
|
||||
ITreeNode AddChild (string name, string value);
|
||||
IEnumerable<ITreeNode> DescendantsAndSelf ();
|
||||
ITreeNode Find (string name);
|
||||
IEnumerable<ITreeNode> FindAll (string name);
|
||||
}
|
||||
/// <summary>
|
||||
/// 树节点实现
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class TreeNode: ITreeNode
|
||||
{
|
||||
// 节点基本属性
|
||||
public string Name { get; set; }
|
||||
public string Value { get; set; }
|
||||
// 父节点引用
|
||||
[XmlIgnore]
|
||||
public TreeNode Parent { get; set; }
|
||||
ITreeNode ITreeNode.Parent
|
||||
{
|
||||
get { return Parent; }
|
||||
set { Parent = (TreeNode)value; }
|
||||
}
|
||||
// 子节点列表
|
||||
[XmlArray ("Children")]
|
||||
[XmlArrayItem ("Node")]
|
||||
public IList<TreeNode> Children { get; set; }
|
||||
IList<ITreeNode> ITreeNode.Children
|
||||
{
|
||||
get
|
||||
{
|
||||
List<ITreeNode> list = new List<ITreeNode> ();
|
||||
foreach (TreeNode node in Children)
|
||||
{
|
||||
list.Add (node);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
public TreeNode ()
|
||||
{
|
||||
Name = "";
|
||||
Value = "";
|
||||
Children = new List<TreeNode> ();
|
||||
Parent = null;
|
||||
}
|
||||
public TreeNode (string name, string value)
|
||||
{
|
||||
Name = name;
|
||||
Value = value;
|
||||
Children = new List<TreeNode> ();
|
||||
Parent = null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加子节点
|
||||
/// </summary>
|
||||
public TreeNode AddChild (string name, string value)
|
||||
{
|
||||
TreeNode child = new TreeNode (name, value);
|
||||
child.Parent = this;
|
||||
Children.Add (child);
|
||||
return child;
|
||||
}
|
||||
ITreeNode ITreeNode.AddChild (string name, string value)
|
||||
{
|
||||
return AddChild (name, value);
|
||||
}
|
||||
/// <summary>
|
||||
/// 深度优先遍历节点,包括自身
|
||||
/// </summary>
|
||||
public IEnumerable<TreeNode> DescendantsAndSelf ()
|
||||
{
|
||||
yield return this;
|
||||
foreach (TreeNode child in Children)
|
||||
{
|
||||
foreach (TreeNode desc in child.DescendantsAndSelf ())
|
||||
{
|
||||
yield return desc;
|
||||
}
|
||||
}
|
||||
}
|
||||
IEnumerable<ITreeNode> ITreeNode.DescendantsAndSelf ()
|
||||
{
|
||||
foreach (TreeNode n in DescendantsAndSelf ())
|
||||
{
|
||||
yield return n;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找第一个匹配节点
|
||||
/// </summary>
|
||||
public TreeNode Find (string name)
|
||||
{
|
||||
foreach (TreeNode n in DescendantsAndSelf ())
|
||||
{
|
||||
if (n.Name == name)
|
||||
return n;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
ITreeNode ITreeNode.Find (string name)
|
||||
{
|
||||
return Find (name);
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找所有匹配节点
|
||||
/// </summary>
|
||||
public IEnumerable<TreeNode> FindAll (string name)
|
||||
{
|
||||
foreach (TreeNode n in DescendantsAndSelf ())
|
||||
{
|
||||
if (n.Name == name)
|
||||
yield return n;
|
||||
}
|
||||
}
|
||||
IEnumerable<ITreeNode> ITreeNode.FindAll (string name)
|
||||
{
|
||||
foreach (TreeNode n in FindAll (name))
|
||||
{
|
||||
yield return n;
|
||||
}
|
||||
}
|
||||
#region IEnumerable<TreeNode>
|
||||
public IEnumerator<TreeNode> GetEnumerator ()
|
||||
{
|
||||
return Children.GetEnumerator ();
|
||||
}
|
||||
IEnumerator IEnumerable.GetEnumerator ()
|
||||
{
|
||||
return GetEnumerator ();
|
||||
}
|
||||
#endregion
|
||||
#region IEnumerable<ITreeNode> 显示实现
|
||||
IEnumerator<ITreeNode> IEnumerable<ITreeNode>.GetEnumerator ()
|
||||
{
|
||||
foreach (TreeNode child in Children)
|
||||
{
|
||||
yield return child;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region XML 序列化
|
||||
public void SaveToXml (string filePath)
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer (typeof (TreeNode));
|
||||
using (StreamWriter writer = new StreamWriter (filePath, false, System.Text.Encoding.UTF8))
|
||||
{
|
||||
serializer.Serialize (writer, this);
|
||||
}
|
||||
}
|
||||
|
||||
public static TreeNode LoadFromXml (string filePath)
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer (typeof (TreeNode));
|
||||
using (StreamReader reader = new StreamReader (filePath, System.Text.Encoding.UTF8))
|
||||
{
|
||||
TreeNode root = (TreeNode)serializer.Deserialize (reader);
|
||||
SetParentRecursive (root, null);
|
||||
return root;
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetParentRecursive (TreeNode node, TreeNode parent)
|
||||
{
|
||||
node.Parent = parent;
|
||||
foreach (TreeNode child in node.Children)
|
||||
{
|
||||
SetParentRecursive (child, node);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region IDisposable
|
||||
public virtual void Dispose ()
|
||||
{
|
||||
foreach (TreeNode child in Children)
|
||||
{
|
||||
child.Dispose ();
|
||||
}
|
||||
Children.Clear ();
|
||||
Parent = null;
|
||||
Children = null;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
/// <summary>
|
||||
/// 树根节点
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class TreeRoot: TreeNode
|
||||
{
|
||||
public TreeRoot ()
|
||||
: base ("Root", "")
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,6 +48,7 @@
|
||||
<Compile Include="ByteSpan.cs" />
|
||||
<Compile Include="ComStreamWrapper.cs" />
|
||||
<Compile Include="DataItemSection.cs" />
|
||||
<Compile Include="DataTree.cs" />
|
||||
<Compile Include="DecisionInfoSection.cs" />
|
||||
<Compile Include="HierarchicalSchemaSection.cs" />
|
||||
<Compile Include="PriDescriptorSection.cs" />
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<p>Note: There is no official release yet, but the test version still does not have the Pre-released label; this is for testing upgrade functionality. Once the official release is complete, previous versions will be marked as Pre-released.</p>
|
||||
<h2>Attention</h2>
|
||||
<ul>
|
||||
<li>This program is an x86 program, not an ARM application, not cross-platform, and cannot be used on Windows RT.</li>
|
||||
<li><del>This program is an x86 program, not an ARM application, not cross-platform, and cannot be used on Windows RT.</del></li>
|
||||
<li>This program uses some third-party libraries and other Github projects, and is completed using AI (ChatGTP). This project can be used for learning and communication purposes.</li>
|
||||
<li>(Important) Internet Explorer must support TLS 1.2 (requiring the use of IE's XMLHttpRequest to retrieve update information), especially IE10. You can do this by opening the "Advanced" tab in Control Panel/Internet Explorer's "Internet Options," finding "Use TLS 1.2" and checking the box, then clicking "OK" and saving. The settings will take effect the next time you open the browser.<br><img width="300" height="395" alt="屏幕截图 2025-12-08 103450" src="https://github.com/user-attachments/assets/69ee21ca-7f47-4d56-8dde-37e5704776c1" /></li>
|
||||
</ul>
|
||||
|
||||
6
Reader/App.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
40
Reader/Polyfill.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Reader
|
||||
{
|
||||
public static class Polyfill
|
||||
{
|
||||
public static T ParseTo <T> (this string src, T dflt = default (T))
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace (src)) return dflt;
|
||||
try
|
||||
{
|
||||
Type targetType = typeof (T);
|
||||
Type underlying = Nullable.GetUnderlyingType (targetType);
|
||||
if (underlying != null)
|
||||
{
|
||||
object v = Convert.ChangeType (src, underlying, CultureInfo.InvariantCulture);
|
||||
return (T)v;
|
||||
}
|
||||
if (targetType.IsEnum)
|
||||
{
|
||||
object enumValue = Enum.Parse (targetType, src, true);
|
||||
return (T)enumValue;
|
||||
}
|
||||
TypeConverter converter = TypeDescriptor.GetConverter (targetType);
|
||||
if (converter != null && converter.CanConvertFrom (typeof (string)))
|
||||
{
|
||||
object v = converter.ConvertFrom (null, CultureInfo.InvariantCulture, src);
|
||||
return (T)v;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
return dflt;
|
||||
}
|
||||
}
|
||||
}
|
||||
31
Reader/Program.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Reader
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
static public readonly string g_appUserId = "WindowsModern.PracticalToolsProject!Reader";
|
||||
static public readonly string g_appId = "Reader";
|
||||
/// <summary>
|
||||
/// 应用程序的主入口点。
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main ()
|
||||
{
|
||||
Directory.SetCurrentDirectory (AppDomain.CurrentDomain.BaseDirectory);
|
||||
AppxPackage.PackageReader.AddApplicationItem ("SmallLogo");
|
||||
AppxPackage.PackageReader.AddApplicationItem ("Square30x30Logo");
|
||||
AppxPackage.PackageReader.AddApplicationItem ("Logo");
|
||||
AppxPackage.PackageReader.AddApplicationItem ("Square44x44Logo");
|
||||
DataUtils.BrowserEmulation.SetWebBrowserEmulation ();
|
||||
Application.EnableVisualStyles ();
|
||||
Application.SetCompatibleTextRenderingDefault (false);
|
||||
Application.Run (new ReaderShell ());
|
||||
}
|
||||
}
|
||||
}
|
||||
36
Reader/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle ("Reader")]
|
||||
[assembly: AssemblyDescription ("")]
|
||||
[assembly: AssemblyConfiguration ("")]
|
||||
[assembly: AssemblyCompany ("")]
|
||||
[assembly: AssemblyProduct ("Reader")]
|
||||
[assembly: AssemblyCopyright ("Copyright © 2026")]
|
||||
[assembly: AssemblyTrademark ("")]
|
||||
[assembly: AssemblyCulture ("")]
|
||||
|
||||
//将 ComVisible 设置为 false 将使此程序集中的类型
|
||||
//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型,
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible (false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid ("26b3c19d-6182-4db5-8b69-ee098a0fd3bb")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”: :
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion ("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion ("1.0.0.0")]
|
||||
99
Reader/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,99 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Reader.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
/// </summary>
|
||||
// 此类是由 StronglyTypedResourceBuilder
|
||||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回此类使用的缓存的 ResourceManager 实例。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Reader.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 使用此强类型资源类,为所有资源查找
|
||||
/// 重写当前线程的 CurrentUICulture 属性。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 600 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string IDS_DEFAULTHEIGHT {
|
||||
get {
|
||||
return ResourceManager.GetString("IDS_DEFAULTHEIGHT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 800 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string IDS_DEFAULTWIDTH {
|
||||
get {
|
||||
return ResourceManager.GetString("IDS_DEFAULTWIDTH", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 412 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string IDS_MINHEIGHT {
|
||||
get {
|
||||
return ResourceManager.GetString("IDS_MINHEIGHT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 504 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string IDS_MINWIDTH {
|
||||
get {
|
||||
return ResourceManager.GetString("IDS_MINWIDTH", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
136
Reader/Properties/Resources.resx
Normal file
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="IDS_DEFAULTHEIGHT" xml:space="preserve">
|
||||
<value>600</value>
|
||||
<comment>默认窗口高度</comment>
|
||||
</data>
|
||||
<data name="IDS_DEFAULTWIDTH" xml:space="preserve">
|
||||
<value>800</value>
|
||||
<comment>默认窗口宽度</comment>
|
||||
</data>
|
||||
<data name="IDS_MINHEIGHT" xml:space="preserve">
|
||||
<value>412</value>
|
||||
<comment>默认最小窗口高度</comment>
|
||||
</data>
|
||||
<data name="IDS_MINWIDTH" xml:space="preserve">
|
||||
<value>504</value>
|
||||
<comment>默认最小窗口宽度</comment>
|
||||
</data>
|
||||
</root>
|
||||
26
Reader/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Reader.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
Reader/Properties/Settings.settings
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
181
Reader/Reader.csproj
Normal file
@@ -0,0 +1,181 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Reader</RootNamespace>
|
||||
<AssemblyName>Reader</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<TargetFrameworkProfile />
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Polyfill.cs" />
|
||||
<Compile Include="ReaderShell.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ReaderShell.Designer.cs">
|
||||
<DependentUpon>ReaderShell.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="ReaderShell.resx">
|
||||
<DependentUpon>ReaderShell.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="app.manifest">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\AppxPackage\AppxPackage.csproj">
|
||||
<Project>{bd681a4f-eb60-4bb8-90b5-65968fc7da59}</Project>
|
||||
<Name>AppxPackage</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Bridge\Bridge.csproj">
|
||||
<Project>{3c2f5446-33f0-41d5-813a-64a94aa474af}</Project>
|
||||
<Name>Bridge</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DataUtils\DataUtils.csproj">
|
||||
<Project>{ffd3fd52-37a8-4f43-883c-de8d996cb0e0}</Project>
|
||||
<Name>DataUtils</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\IEHelper\IEHelper.vcxproj">
|
||||
<Project>{e4ca78a9-9408-4f5f-add6-730fd501ff8e}</Project>
|
||||
<Name>IEHelper</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ModernNotice\ModernNotice.csproj">
|
||||
<Project>{c5587b6e-19c4-4484-aa97-5c20fbb07e43}</Project>
|
||||
<Name>ModernNotice</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\PrivateInit\PrivateInit.csproj">
|
||||
<Project>{8e708d9a-6325-4aa9-b5a5-d1b5eca8eef7}</Project>
|
||||
<Name>PrivateInit</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\WAShell\WAShell.csproj">
|
||||
<Project>{4ec16578-efbf-41e6-8d7f-976e3646dd1d}</Project>
|
||||
<Name>WAShell</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.5.2 %28x86 和 x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
54
Reader/ReaderShell.Designer.cs
generated
Normal file
@@ -0,0 +1,54 @@
|
||||
namespace Reader
|
||||
{
|
||||
partial class ReaderShell
|
||||
{
|
||||
/// <summary>
|
||||
/// 必需的设计器变量。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 清理所有正在使用的资源。
|
||||
/// </summary>
|
||||
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||
protected override void Dispose (bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose ();
|
||||
}
|
||||
base.Dispose (disposing);
|
||||
}
|
||||
|
||||
#region Windows 窗体设计器生成的代码
|
||||
|
||||
/// <summary>
|
||||
/// 设计器支持所需的方法 - 不要修改
|
||||
/// 使用代码编辑器修改此方法的内容。
|
||||
/// </summary>
|
||||
private void InitializeComponent ()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ReaderShell));
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// ManagerShell
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(657, 414);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Location = new System.Drawing.Point(0, 0);
|
||||
this.Name = "ManagerShell";
|
||||
this.PageScale = 125;
|
||||
this.Text = "Form1";
|
||||
this.WindowIcon = ((System.Drawing.Icon)(resources.GetObject("$this.WindowIcon")));
|
||||
this.Load += new System.EventHandler(this.ManagerShell_Load);
|
||||
this.Resize += new System.EventHandler(this.ManagerShell_Resize);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
102
Reader/ReaderShell.cs
Normal file
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Reader
|
||||
{
|
||||
public partial class ReaderShell: WAShell.WebAppForm
|
||||
{
|
||||
public ReaderShell ()
|
||||
{
|
||||
InitializeComponent ();
|
||||
//this.PublicObjectForScripting = new BridgeExt (this, this, this, this);
|
||||
try
|
||||
{
|
||||
var relativePath = DataUtils.VisualElementsStore.Vemanifest.SplashScreenImage (Program.g_appId);
|
||||
var img = Image.FromFile (relativePath);
|
||||
SplashScreen.SplashImage = img;
|
||||
} catch (Exception e) {
|
||||
var ex = e;
|
||||
}
|
||||
try
|
||||
{
|
||||
SplashScreen.SplashBackgroundColor = DataUtils.UITheme.StringToColor (DataUtils.VisualElementsStore.Vemanifest.SplashScreenBackgroundColor (Program.g_appId));
|
||||
}
|
||||
catch { }
|
||||
InitSize ();
|
||||
Text = Bridge.ResXmlStore.StringRes.Get ("READER_APPTITLE");
|
||||
this.Load += Form_Load;
|
||||
}
|
||||
private void InitSize ()
|
||||
{
|
||||
uint ww = 0, wh = 0;
|
||||
var ini = Bridge.InitFileStore.Config;
|
||||
var setsect = ini ["Settings"];
|
||||
var savepos = setsect.GetKey ("PackageReader:SavePosAndSizeBeforeCancel");
|
||||
var lastw = setsect.GetKey ("PackageReader:LastWidth");
|
||||
var lasth = setsect.GetKey ("PackageReader:LastHeight");
|
||||
var defw = setsect.GetKey ("PackageReader:DefaultWidth");
|
||||
var defh = setsect.GetKey ("PackageReader:DefaultHeight");
|
||||
var minw = setsect.GetKey ("PackageReader:MinimumWidth");
|
||||
var minh = setsect.GetKey ("PackageReader:MinimumHeight");
|
||||
var lasts = setsect.GetKey ("PackageReader:LastWndState");
|
||||
if (savepos.ReadBool ())
|
||||
{
|
||||
ww = lastw.ReadUInt (defw.ReadUInt (Properties.Resources.IDS_DEFAULTWIDTH.ParseTo <uint> ()));
|
||||
wh = lasth.ReadUInt (defh.ReadUInt (Properties.Resources.IDS_DEFAULTHEIGHT.ParseTo <uint> ()));
|
||||
}
|
||||
else
|
||||
{
|
||||
ww = defw.ReadUInt (Properties.Resources.IDS_DEFAULTWIDTH.ParseTo<uint> ());
|
||||
wh = defh.ReadUInt (Properties.Resources.IDS_DEFAULTHEIGHT.ParseTo<uint> ());
|
||||
}
|
||||
ClientSize = new Size ((int)(ww * DataUtils.UITheme.DPIDouble), (int)(wh * DataUtils.UITheme.DPIDouble));
|
||||
int hborder = Size.Width - ClientSize.Width,
|
||||
vborder = Size.Height - ClientSize.Height;
|
||||
MinimumSize = new Size (
|
||||
(int)(minw.ReadUInt (Properties.Resources.IDS_MINWIDTH.ParseTo <uint> ()) * DataUtils.UITheme.DPIDouble) + hborder,
|
||||
(int)(minh.ReadUInt (Properties.Resources.IDS_MINHEIGHT.ParseTo <uint> ()) * DataUtils.UITheme.DPIDouble) + vborder
|
||||
);
|
||||
WindowState = (FormWindowState)lasts.ReadInt ((int)FormWindowState.Normal);
|
||||
}
|
||||
private void Form_Load (object sender, EventArgs e)
|
||||
{
|
||||
var current = Process.GetCurrentProcess ();
|
||||
var processes = Process.GetProcessesByName (current.ProcessName);
|
||||
int count = processes.Length;
|
||||
int offset = 30; // 每个窗口偏移
|
||||
int x = 20 + (count - 1) * offset;
|
||||
int y = 20 + (count - 1) * offset;
|
||||
this.StartPosition = FormStartPosition.Manual;
|
||||
this.Location = new Point (x, y);
|
||||
}
|
||||
private void ManagerShell_Load (object sender, EventArgs e)
|
||||
{
|
||||
var root = Path.GetDirectoryName (DataUtils.Utilities.GetCurrentProgramPath ());
|
||||
WebUI.Navigate (Path.Combine (root, "html\\reader.html"));
|
||||
}
|
||||
private void ManagerShell_Resize (object sender, EventArgs e)
|
||||
{
|
||||
var ini = Bridge.InitFileStore.Config;
|
||||
var setsect = ini ["Settings"];
|
||||
var savepos = setsect.GetKey ("PackageReader:SavePosAndSizeBeforeCancel");
|
||||
var lastw = setsect.GetKey ("PackageReader:LastWidth");
|
||||
var lasth = setsect.GetKey ("PackageReader:LastHeight");
|
||||
var lasts = setsect.GetKey ("PackageReader:LastWndState");
|
||||
switch (WindowState)
|
||||
{
|
||||
case FormWindowState.Normal:
|
||||
case FormWindowState.Maximized:
|
||||
lasts.Write ((int)WindowState);
|
||||
break;
|
||||
}
|
||||
if (WindowState == FormWindowState.Normal && savepos.ReadBool ())
|
||||
{
|
||||
lastw.Write ((int)(ClientSize.Width / DataUtils.UITheme.DPIDouble));
|
||||
lasth.Write ((int)(ClientSize.Height / DataUtils.UITheme.DPIDouble));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9224
Reader/ReaderShell.resx
Normal file
75
Reader/app.manifest
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC 清单选项
|
||||
如果想要更改 Windows 用户帐户控制级别,请使用
|
||||
以下节点之一替换 requestedExecutionLevel 节点。n
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" /> -->
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<!-- <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
|
||||
如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
|
||||
元素。
|
||||
|
||||
-->
|
||||
<!-- <requestedExecutionLevel level="asInvoker" uiAccess="false" /> -->
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
|
||||
Windows 版本的列表。取消评论适当的元素,Windows 将
|
||||
自动选择最兼容的环境。 -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- 指示该应用程序可以感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
|
||||
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI,无需
|
||||
选择加入。选择加入此设置的 Windows 窗体应用程序(目标设定为 .NET Framework 4.6 )还应
|
||||
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。-->
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
|
||||
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
||||
4
Reader/packages.config
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net40" />
|
||||
</packages>
|
||||
13
WAShell/IMetroIconSupport.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace WAShell
|
||||
{
|
||||
interface IMetroIconSupport
|
||||
{
|
||||
Icon WindowIcon { get; set; }
|
||||
}
|
||||
}
|
||||
40
WAShell/ModenForm.Designer.cs
generated
Normal file
@@ -0,0 +1,40 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace WAShell
|
||||
{
|
||||
partial class ModernForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method by the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent ()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ModernForm));
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// ModernForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 600);
|
||||
this.DoubleBuffered = false;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ModernForm";
|
||||
this.Text = "Modern Custom Form";
|
||||
this.ResumeLayout(false);
|
||||
this.Padding = new Padding (0); // 边框交给系统管理
|
||||
this.BackColor = Color.White;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
1001
WAShell/ModenForm.cs
Normal file
819
WAShell/ModenForm.resx
Normal file
@@ -0,0 +1,819 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAgAAAAAAAEAGAAOCwAAhgAAAEBAAAABABgAKDIAAJQLAAAwMAAAAQAYAKgcAAC8PQAAKCgAAAEA
|
||||
GAAoFAAAZFoAACAgAAABABgAqAwAAIxuAAAYGAAAAQAYAEgHAAA0ewAAFBQAAAEAGAAoBQAAfIIAABAQ
|
||||
AAABABgAaAMAAKSHAACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYAAAAJcEhZcwAADsMA
|
||||
AA7DAcdvqGQAAArASURBVHic7d2/b5XXHcfxDyRWrSymiMUdAglS1a0UxnbwwB+QSmTGLFGGDu3SpFO9
|
||||
VRmzVSw4YiwDkTIykCFDB0ewkC4BjJLeqkLiWkXIyEroQJ9yfLm+P89zvt9zvu/XihQfRc/nzXNt/DzH
|
||||
9PE3LwQgpOPWBwBghwAAgREAIDACAARGAIDACAAQGAEAAiMAQGAEAAiMAACBEQAgMAIABEYAgMAIABAY
|
||||
AQACIwCBnFtf1fDPP9f2++s689MV6+PAgWM8ECSGc+uruv3B21pbfdX8z77e09atx3r45MDwZLBEAAIY
|
||||
N/4UIYgr/EeAzQtrOre+an2M3kwbvyRdPr+mB388y0eDgMLeAWxeWNPWxVM6fWJFe/s/auPqI90Z7Fsf
|
||||
K6tZxj8OdwRxhAtAOvxUaxFYdPwpQtC+MAE4avipViKQY/wpQtCu5gMwy/BTtUcg9/hThKA9zQZg3uGn
|
||||
ao1An+NPEYJ2NBeAZYafqi0CpcafIgT1ayYAuYafqiUCFuNPEYJ6VR+APoaf8h4B6/GnCEF9qg1A38NP
|
||||
eY2Ap/GnCEE9qgtAyeGnvEXA6/hThMC/agJgNfyUlwjUMP4UIfDLfQA8DD9lHYHaxp8iBP64DYC34aes
|
||||
IlDz+FOEwA93AfA8/FTpCLQy/hQhsOcmALUMP1UqAi2OP0UI7JgHoMbhp/qOQOvjTxGC8swCUPvwU31F
|
||||
INL4U4SgnOIBaGn4qdwRiDr+FCHoX7EAtDr8VK4IMP7DCEF/eg9AhOGnlo0A4z8aIcivtwBEG35q0Qgw
|
||||
/tkQgnyyByDy8FPzRoDxz48QLC9bABj+62aNAONfDiFY3NIBYPiTTYsA48+HEMxv6atu4923GP8Ea6vH
|
||||
dfuDt8e+fITx58ULTuaX5SPA9vvrunx+Lcd5mjV6J8D4+8cdwXTZvgdABKbrIiCJ8RdECI6W9acARGC6
|
||||
u4PnkqRfrv/E+CTxEILXvaHf/G4r13/s5r2neufkStMv21zU7vBAf/ji3/rw5r/0178PtTs80K9+tqoT
|
||||
q29YHy2Mc+ur+v2vT+qdkyu6M3iu4f6P1kcy18s/BOJO4JXd4YG2bj3W9s7e2D/npyh2uCPo8V8CRo/A
|
||||
tOGPIgR2Ioeg198FiBiBeYc/ihDYiRiC3n8ZKEoElh3+KEJgJ1IIivw6cMsRyD38UYTAToQQFHseQGsR
|
||||
6Hv4owiBnZZDUPSJQC1EoPTwRxECOy2GoPgjwWqNgPXwRxECOy2FwOShoDVFwNvwRxECOy2EwOypwN4j
|
||||
4H34owiBnZpDYPpeAI8RqG34owiBnRpDYP5iEC8RqH34owiBnZpCYB4AyTYCrQ1/FCGwU0MIXARAKh+B
|
||||
1oc/ihDY8RwCNwGQykQg2vBHEQI7HkPgKgBSfxGIPvxRhMCOpxC4C4CUNwIMfzJCYMdDCFwGQFo+Agx/
|
||||
PoTAjmUI3AZAWiwCDH85hMCORQhcB0CaPQIMPy9CYOe317/XzXv/KfK13AdAmhwBht8vQlDWZ1/vafNv
|
||||
g2Jfr4oASK9HgOGXRQj6V3r8UkUBkF5GYOPdtxi+IULQD4vxSxneDViSxf8gHLa9s6czn3yrKzcG2h3a
|
||||
/xy7BVbjlyq7A5CkF3/5hSQ+AnjBHcFyLMcvVRyADiHwgRDMz3r8UgMB6BACHwjBbDyMX2ooAB1C4AMh
|
||||
OJqX8UsNBqBDCHwgBId5Gr/UcAA6hMAHQuBv/FKAAHQIgQ9RQ+Bx/FKgAHQIgQ+RQuB1/FLAAHQIgQ+t
|
||||
h8Dz+KXAAegQAh9aDIH38UsE4P8IgQ+thKCG8UsE4DWEwIeaQ1DL+CUCcCRC4ENtIahp/BIBmIoQ+FBD
|
||||
CGobv0QAZkYIfPAaghrHLxGAuRECHzyFoNbxSwRgYYTAB+sQ1Dx+iQAsjRD4YBGC2scvEYBsCIEPpULQ
|
||||
wvglApAdIfChzxC0Mn6JAPSGEPiQOwQtjV8iAL0jBD7kCEFr45cIQDGEwIdFQ9Di+CUCUBwh8GGeELQ6
|
||||
fokAmCEEPkwLQcvjlwiAOULgw7gQtD5+iQC4QQh86EJw+/6z5scvSW9aHwAvnT6xomuX1rV18RQhcODy
|
||||
+bUjX0nvQa6/MLgDcIo7grKsf6dgVrmvCwLgHCHoV9ThdwhAJQhBXtGH3yEAlSEEy2H4hxGAShGC+TD8
|
||||
8QhA5QjBZAx/MgLQCEJwGMOfDQFojPUFZY3hz4cANMrLBVYKw18MAWictwsuN4a/HAIQhNcLcFEMPw8C
|
||||
EIz3C3Iahp8XAQiqlgu0w/D7QQCC837BMvx+EQBI8ncBM/wyCAAOsb6gGX5ZBABjlb7AGb4NAoCJ+r7g
|
||||
Gb4tAoCZ5B4Aw/eBAGAuyw6C4fvCQ0Exl+7hpYsO49ql9cwnyivK8DsEAFC84XcIAEKLOvwOAUBI0Yff
|
||||
IQAIheEfRgAQAsMfjwCgaQx/MgKAoo796R/WR0DiuPUBANghAEBgBAAIjAAAgREAIDACAARGAFDUw4/O
|
||||
avPCmvUx8D8EAEV1v05MCHwgADBBCHwgADBFCGwRALhACGwQALhCCMoiAHCJEJRBAOBa6RBsXljTw4/O
|
||||
9v51vCAAqELfIeiGf+3SuvtHludEAFCV3CGIOvwOAUCVlg1B9OF3CACqNm8IGP5hBABNmBYChj8ezwRE
|
||||
U7oQbF08pa1bjyWpincRWiEAaFIXAkzGRwAgMAIABEYAgMAIABAYAQACIwBAYAQACIwAAIERACAwAgAE
|
||||
RgCAwAgAEBgBAAIjAEBgBAAIjAAAgREAIDACAARGAIDACAAQGAEAAiMAQGAEAAiMAACBEQAgMAIABEYA
|
||||
gMAIABAYAQACIwBAYAQACIwAAIERACAwAgAERgCAwKoLwJcPnlkfAWhGdQG488/n1kcAmlFdALZ39qyP
|
||||
ADSjugDcGezzMQDIpLoASNLWrcfWRwCaUGUAbt9/pk+/emJ9DKB6VQZAenkXcHfANwSBZVQbgOH+D9q4
|
||||
+ogIAEuoNgDSqwh8fu+p9VGAKlUdAOllBN67/p2u3Bhod3hgfRygKtUHoLO9s6czn3xLCIA5NBOADiEA
|
||||
ZtdcADqEAJiu2QB0CAFwtOYD0CEEwOvCBKBDCIBXwgWgQwiAwAHoEAJEFj4AHUKAiAjACEKASAjAEQgB
|
||||
IiAAUxACtIwAzIgQoEUEYE6EAC0hAAsiBGgBAVgSIUDNCEAmhAA1IgCZEQLUhAD0hBDUK9KLZwhAzwhB
|
||||
fSK9f5IAFEII6hHp/ZMEoDBC4NuXD57pzmDf+hjFEAAjhMCnaO+dJADGCIEfn371RLfvx/kGoEQA3CAE
|
||||
tu4Onof7218iAO4QgvLuDp5r4+ojDfd/sD5KcQTAKUJQxuf3noYdv0QA3CME/dgdHujKjYHeu/5d2PFL
|
||||
0pvWB8Bstnf2tL2zp80La9q6eEqnT6xYH6lKu8MDbd16HOpn/ZMQgMoQgsUw/PEIQKUIwWwY/mQEoHKE
|
||||
YDyGPxsC0AhC8BLDnw8BaEzUEDD8xRCARkUJAcNfDgFoXKshYPh5EIAgWgkBw8+LAARTawgYfj8IQFC1
|
||||
hIDh94sABOc1BAy/DAIASX5CwPDLIgA4xCoEDN8GAcBYpULA8G0RAEzUVwgYvg8EADMZDcGiGL4vx/Tx
|
||||
Ny+sDwHABo8EAwIjAEBgBAAIjAAAgREAIDACAARGAIDACAAQGAEAAiMAQGAEAAiMAACBEQAgMAIABEYA
|
||||
gMD+Cwb3Zd+SyYtKAAAAAElFTkSuQmCCKAAAAEAAAACAAAAAAQAYAAAAAAAAMAAAAAAAAAAAAAAAAAAA
|
||||
AAAAANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4Nd4ANd4ANd4
|
||||
APrv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//
|
||||
/////9d4ANd4ANd4AP////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOar
|
||||
YPrv4P///////////////9d4ANd4ANd4AP////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4AOarYPrv4P///////////////////////9d4ANd4ANd4AP////////////////////////rv4Oar
|
||||
YNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4AOarYPrv4P///////////////////////////////9d4ANd4ANd4AP//////////////
|
||||
//////////////////rv4N+RMNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AOarYPrv4P///////////////////////////////////////9d4ANd4ANd4
|
||||
AP////////////////////////////////////XewNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////////////////
|
||||
/////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////////
|
||||
/////////////////////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////
|
||||
/////////////////////////////////////9d4ANd4ANd4AP//////////////////////////////
|
||||
/////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////
|
||||
/////////////////////////////////////////////////////9d4ANd4ANd4AP//////////////
|
||||
/////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////
|
||||
/////////////////////////////////////////////////////////////////////9d4ANd4ANd4
|
||||
AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AN+RMPrv4P//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4APXewP//////////////////////////////////////////////////////////////////////
|
||||
/////////////////////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////9d4ANd4ANd4AP//////////////////////////////
|
||||
/////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////9d4ANd4ANd4AP//////////////
|
||||
/////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////9d4ANd4ANd4
|
||||
AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4AP//////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////9d4ANd4ANd4AP//////////////////////////////
|
||||
/////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////9d4ANd4ANd4AP//////////////
|
||||
/////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////9d4ANd4ANd4
|
||||
AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4AP//////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////9d4ANd4ANd4AP///////////////////////////////////////9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////9d4ANd4ANd4AP////////////////////////rv4Prv
|
||||
4P///////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////9d4ANd4ANd4AP//////////////
|
||||
//rv4OarYNd4ANd4AOarYPrv4Nd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////9d4ANd4ANd4
|
||||
AP////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////9d4ANd4ANd4APrv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4AP//////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////9d4ANd4ANd4AP//////////////////////////////
|
||||
//rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////
|
||||
//////////////////////////////////////////////rv4OarYNd4ANd4ANd4AOarYPrv4P//////
|
||||
//////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////
|
||||
//////////////////////////////////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AOarYPrv4P////////////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////
|
||||
//////////////////////////////////////////////////////////////rv4OarYNd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P////////////////////////////////rv4Oar
|
||||
YNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4AP////////////////////////////////////////////////////////////////rv4OarYNd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////
|
||||
//////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AP////////////////////////////////////////////////////////rv
|
||||
4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOarYPrv4P////////////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////
|
||||
//////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4AOarYPrv4PDNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////
|
||||
//////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P////////////DNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////
|
||||
//////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P////////////////////////DNoNd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4AP////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////
|
||||
//////DNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AP////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////
|
||||
//////////////////////////DNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////
|
||||
//////////////////////////////////////////////DNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APrv4OarYNd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////
|
||||
//////////////////////////////////////////////////////////////////DNoNd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APDNoPrv4OarYNd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv
|
||||
4P//////////////////////////////////////////////////////////////////////////////
|
||||
//XewNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APDN
|
||||
oP////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOarYPrv4P//////////////////////////////////////////////////////////////////////
|
||||
//////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4APDNoP////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AOarYPrv4P//////////////////////////////////////////////////////////////
|
||||
//////////////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4APDNoP////////////////////////////////////rv4OarYNd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////////////////////////////
|
||||
//////////////////////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APDNoP//////////////////////////////////////////
|
||||
//////rv4OarYNd4ANd4ANd4AOarYPrv4P//////////////////////////////////////////////
|
||||
//////////////////////////////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APDNoP//////////////////////////////
|
||||
//////////////////////////////rv4OmzcPrv4P//////////////////////////////////////
|
||||
//////////////////////////////////////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANyJIPXewP//////////////
|
||||
//////////////////////////////////////////////jm0NyIH/jm0P//////////////////////
|
||||
//////////////////////////////////////////////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOGaQPXewP////////////////////////////////////////////////jm0NqAENd4ANqAEPjm0P//
|
||||
//////////////////////////////////////////////////////////XewOGaQNd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AOGaQPXewP////////////////////////////////////jm0NqAENd4
|
||||
ANd4ANd4ANqAEPjm0P////////////////////////////////////////////////XewOGaQNd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOGaQPXewP//////////////////////
|
||||
//jm0NqAENd4ANd4ANd4ANd4ANd4ANqAEPjm0P////////////////////////////////////XewOGa
|
||||
QNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOGaQPXe
|
||||
wP////////////jm0NqAENd4ANd4ANd4ANd4ANd4ANd4ANd4ANqAEPjm0P//////////////////////
|
||||
//XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4AOGaQPXewPjm0NqAENd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANqAEPjm0P//
|
||||
//////////XewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANqAEPjm0PXewOGaQNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAAAABgAAAAAQAYAAAAAAAAGwAAAAAAAAAAAAAAAAAA
|
||||
AAAAANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv
|
||||
4Nd4ANd4APrv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4AOarYPrv4P///////9d4ANd4AP////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P///////////////9d4ANd4AP//////
|
||||
//////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////
|
||||
/////////////////9d4ANd4AP////////////////////////jm0NqAENd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AOarYPrv4P///////////////////////////////9d4ANd4AP//////////////////////
|
||||
/////+7EkNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////////////
|
||||
/9d4ANd4AP///////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////
|
||||
/////////////////////////////////9d4ANd4AP///////////////////////////////9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOarYPrv4P///////////////////////////////////////////////////////9d4ANd4AP//////
|
||||
/////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANqAEPjm0P//////////////////////////////////////////////
|
||||
/////////////////9d4ANd4AP///////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AO7EkP//////////////////
|
||||
/////////////////////////////////////////////////9d4ANd4AP//////////////////////
|
||||
/////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AP//////////////////////////////////////////////////////////////////////
|
||||
/9d4ANd4AP///////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////
|
||||
/////////////////////////////////9d4ANd4AP///////////////////////////////9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////
|
||||
/////////////////////////////////////////////////////////////////9d4ANd4AP//////
|
||||
/////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////////////////
|
||||
/////////////////9d4ANd4AP///////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////
|
||||
/////////////////////////////////////////////////9d4ANd4AP//////////////////////
|
||||
/////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AP//////////////////////////////////////////////////////////////////////
|
||||
/9d4ANd4AP///////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////
|
||||
/////////////////////////////////9d4ANd4AP////////////////rv4Ou8gPrv4P///9d4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////
|
||||
/////////////////////////////////////////////////////////////////9d4ANd4AP//////
|
||||
//rv4OarYNd4ANd4ANd4AOarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////////////////////
|
||||
/////////////////9d4ANd4APrv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////
|
||||
/////////////////////////////////////////////////9d4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AP//////////////////////////////////////////////////////////////////////
|
||||
/9d4ANd4AP////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////////////////////
|
||||
//////////////////////////rv4OarYNd4ANd4AOarYPrv4P////////////////////rv4OarYNd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////
|
||||
//////////////////////////////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOarYPrv4P////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AP////////////////////////////////////////////////rv4Oar
|
||||
YNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P////////////////////rv4OarYNd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////////////////////
|
||||
//////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOarYPrv4P////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4AP////////////////////////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4PDNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP////////////////////////rv4OarYNd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P////////////DN
|
||||
oNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AP//////
|
||||
//////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
AOarYPrv4P////////////////////////DNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AP////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P////////////////////////////////////DNoNd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APrv4OarYNd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////
|
||||
//////////////////////////DNoNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4APDNoPrv4OarYNd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOarYPrv
|
||||
4P///////////////////////////////////////////////////////////+SiUNd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APDNoP////////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////////////////////////////
|
||||
//////DNoNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4APDNoP//////////////
|
||||
//////////rv4OarYNd4ANd4ANd4ANd4ANd4ANd4AOarYPrv4P//////////////////////////////
|
||||
//////////////////////////////DNoNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4APDNoP////////////////////////////////////rv4OarYNd4ANd4AOarYPrv4P//////
|
||||
//////////////////////////////////////////////////////DNoNyJINd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4AOSiUP//////////////////////////////////////
|
||||
//////////jm0Pjm0P////////////////////////////////////////////////////////////DN
|
||||
oNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANyJIPDN
|
||||
oP////////////////////////////////////338N+RMN+RMP338P//////////////////////////
|
||||
//////////////////////DNoNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANyJIPDNoP////////////////////////338N+RMNd4ANd4
|
||||
AN+RMP338P////////////////////////////////////DNoNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANyJIPDN
|
||||
oP////////////338N+RMNd4ANd4ANd4ANd4AN+RMP338P////////////////////////DNoNyJINd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANyJIPDNoP338N+RMNd4ANd4ANd4ANd4ANd4ANd4AN+RMP33
|
||||
8P////////////DNoNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4AN+RMP338PDNoNyJINd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4ANd4
|
||||
ANd4ANd4ANd4ANd4ANd4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAoAAAAUAAAAAEAGAAAAAAA
|
||||
wBIAAAAAAAAAAAAAAAAAAAAAAADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADmq2D67+DXeADXeAD67+Dmq2DXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADmq2D67+D////////XeADXeAD////////67+Dmq2DXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADmq2D67+D////////////////XeADXeAD////////////////67+DciSDXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADmq2D67+D////////////////////////XeADXeAD////////////////////13sDXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D6
|
||||
7+D////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D/////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADciSD67+D/////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD13sD/////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////////////XeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////67+Dmq2Dmq2D67+DXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD67+Dmq2DXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////////////XeADXeAD////////////////67+Dmq2DXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////////////67+Dmq2DXeADXeADmq2D67+D////////////////67+Dmq2DXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////////////67+Dmq2DXeADXeADXeADXeADXeADXeADmq2D67+D////////////////67+Dm
|
||||
q2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///////////67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D/////////////
|
||||
///67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////
|
||||
///67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+DwzaDXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD////////////////67+Dm
|
||||
q2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////wzaDXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD////////67+Dmq2DXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////////////wzaDX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD67+Dmq2DXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////////////////////////w
|
||||
zaDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADwzaD67+Dmq2DXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADmq2D67+D/////////////////////////////////////////////
|
||||
///kolDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADwzaD////////////67+Dmq2DXeADX
|
||||
eADXeADXeADXeADXeADmq2D67+D////////////////////////////////////////////////wzaDc
|
||||
iSDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADwzaD////////////////////////67+Dm
|
||||
q2DXeADXeADmq2D67+D////////////////////////////////////////////////wzaDciSDXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADwzaD/////////////////////////////////
|
||||
///45tD45tD////////////////////////////////////////////////wzaDciSDXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////////////////9
|
||||
9/DfkTDfkTD99/D////////////////////////////////////wzaDciSDXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////99/Df
|
||||
kTDXeADXeADfkTD99/D////////////////////////wzaDciSDXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////99/DfkTDX
|
||||
eADXeADXeADXeADfkTD99/D////////////wzaDciSDXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2DfkTDXeADX
|
||||
eADXeADXeADXeADXeADfkTD99/DwzaDciSDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEAGAAAAAAA
|
||||
AAwAAAAAAAAAAAAAAAAAAAAAAADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+DXeAD67+Dmq2DXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADmq2D67+D////////XeAD////////67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////XeAD/////////
|
||||
///////wzaDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADmq2D67+D////////////////////////XeAD////////////////////XeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D/////////////////////////////
|
||||
///XeAD////////////////////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADwzaD////////////////////////////////////////XeAD////////////////////XeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////////
|
||||
///////////////////XeAD////////////////////XeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeAD////////////////////////////////////////////XeAD/////////
|
||||
///////////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////
|
||||
///////////////////////////////////XeAD////////////////////XeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////////////////////////
|
||||
///XeAD////////////////////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeAD////////////////////////////////////////////XeAD////67+Dmq2DXeADmq2DXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////////
|
||||
///////////////////XeADmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeAD////////////////////////////////////////67+DXeAD67+D/////
|
||||
///////wzaDciSDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////
|
||||
///////////////////////67+Dmq2DXeADXeADXeADmq2D67+D////////////wzaDciSDXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeAD////////////////////////67+Dmq2DXeADXeADX
|
||||
eADXeADXeADXeADXeADmq2D67+D////////////wzaDciSDXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeAD////////////////67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+DwzaDX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD////////67+Dmq2DXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADmq2D67+D////////////wzaDXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeAD67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D/////
|
||||
///////////////////wzaDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADwzaD67+Dmq2DX
|
||||
eADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////////////////////13sDciSDXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADwzaD////////////67+Dmq2DXeADXeADXeADmq2D67+D/////
|
||||
///////////////////////////13sDhmkDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADwzaD/
|
||||
///////////////////////67+Dps3D67+D////////////////////////////////13sDhmkDXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////////45tDciB/4
|
||||
5tD////////////////////////13sDhmkDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADmq2D67+D////////45tDagBDXeADagBD45tD////////////13sDhmkDXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2Dz
|
||||
1bDagBDXeADXeADXeADagBD45tD13sDhmkDXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAYAAAAMAAAAAEAGAAAAAAA
|
||||
wAYAAAAAAAAAAAAAAAAAAAAAAADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADmq2D67+DXeAD67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////XeAD////////67+DkolDXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D////////////////XeAD/////////
|
||||
///99/DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADmq2D67+D/////////////////////
|
||||
///XeAD////////////////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD13sD/////////////
|
||||
///////////////////XeAD////////////////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/
|
||||
///////////////////////////////////XeAD////////////////XeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeAD////////////////////////////////////XeAD////////////////XeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeAD////////////////////////////////////XeAD/////////
|
||||
///////XeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////////////////////
|
||||
///XeAD////////67+D67+DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/////////////////
|
||||
///////////////////XeAD67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeAD/
|
||||
///////////////////////////67+Dmq2DXeADmq2D67+D////67+Dmq2DXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeAD////////////////////67+Dmq2DXeADXeADXeADXeADXeADmq2D67+D////67+Dm
|
||||
q2DXeADXeADXeADXeADXeADXeADXeAD////////////67+Dmq2DXeADXeADXeADXeADXeADXeADXeADm
|
||||
q2D67+DwzaDXeADXeADXeADXeADXeADXeADXeADXeADXeAD////67+Dmq2DXeADXeADXeADXeADXeADX
|
||||
eADXeADmq2D67+D////////////wzaDXeADXeADXeADXeADXeADXeADXeADfkTDvy5zXeADXeADXeADX
|
||||
eADXeADXeADXeADmq2D67+D////////////////////////wzaDXeADXeADXeADXeADXeADfkTD99/D/
|
||||
///67+Dmq2DXeADXeADXeADmq2D67+D////////////////////////////67+Dmq2DXeADXeADXeADX
|
||||
eADfkTD99/D////////////////67+Dps3D67+D////////////////////////////67+Dmq2DXeADX
|
||||
eADXeADXeADXeADXeADciSDwzaD////////////////45tDciB/45tD////////////////////67+Dm
|
||||
q2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADciSDwzaD////45tDagBDXeADagBD45tD/////
|
||||
///67+Dmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADciSDagBDXeADX
|
||||
eADXeADagBDz1bDmq2DXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADXeADX
|
||||
eADXeADXeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAFAAAACgAAAABABgA
|
||||
AAAAALAEAAAAAAAAAAAAAAAAAAAAAAAA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA
|
||||
13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA
|
||||
13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA5qtg+u/g13gA
|
||||
+u/g5qtg13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA5qtg+u/g////////13gA
|
||||
////////+ObQ13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA5qtg+u/g////////////////13gA
|
||||
////////////13gA13gA13gA13gA13gA13gA13gA13gA13gA+ObQ////////////////////////13gA
|
||||
////////////13gA13gA13gA13gA13gA13gA13gA13gA13gA////////////////////////////13gA
|
||||
////////////13gA13gA13gA13gA13gA13gA13gA13gA13gA////////////////////////////13gA
|
||||
////////////13gA13gA13gA13gA13gA13gA13gA13gA13gA////////////////////////////13gA
|
||||
////+u/g+u/g13gA13gA13gA13gA13gA13gA13gA13gA13gA////////////////////////////13gA
|
||||
5qtg13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA////////////////////////+u/g13gA
|
||||
+u/g////+u/g5qtg13gA13gA13gA13gA13gA13gA13gA13gA////////////////+u/g5qtg13gA13gA
|
||||
13gA5qtg+u/g////+u/g5qtg13gA13gA13gA13gA13gA13gA////////+u/g5qtg13gA13gA13gA13gA
|
||||
13gA5qtg+u/g8M2g13gA13gA13gA13gA13gA13gA13gA13gA+u/g5qtg13gA13gA13gA13gA13gA5qtg
|
||||
+u/g////////////8M2g13gA13gA13gA13gA13gA13gA8M2g+u/g5qtg13gA13gA13gA5qtg+u/g////
|
||||
////////////////9d7A3Ikg13gA13gA13gA13gA8M2g////////////+u/g6bNw+u/g////////////
|
||||
////////9d7A4ZpA13gA13gA13gA13gA13gA13gA5qtg+u/g////////+ObQ3Igf+ObQ////////////
|
||||
9d7A4ZpA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA5qtg89Ww2oAQ13gA2oAQ+ObQ9d7A4ZpA
|
||||
13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA
|
||||
13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA
|
||||
13gA13gA13gA13gA13gA13gA13gA13gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABABgA
|
||||
AAAAAAADAAAAAAAAAAAAAAAAAAAAAAAA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA
|
||||
13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA2oAQ67yA/ffw13gA/ffw67yA2oAQ13gA13gA13gA
|
||||
13gA13gA13gA13gA2oAQ67yA/ffw////////13gA////////+u/g13gA13gA13gA13gA13gA13gA6bNw
|
||||
/ffw////////////////13gA////////////13gA13gA13gA13gA13gA13gA////////////////////
|
||||
////13gA////////////13gA13gA13gA13gA13gA13gA////////////////////////13gA////////
|
||||
////13gA13gA13gA13gA13gA13gA////////////////////////13gA////////////13gA13gA13gA
|
||||
13gA13gA13gA////////////////////////13gA+u/g4ZpA5qtg13gA13gA13gA13gA13gA13gA////
|
||||
/////////////ffw8M2g13gA/ffw////89Ww3Ikg13gA13gA13gA13gA13gA/////////ffw67yA2oAQ
|
||||
13gA13gA2oAQ7sSQ/////ffw67yA13gA13gA13gA13gA/ffw67yA2oAQ13gA13gA13gA13gA4ZpA9d7A
|
||||
/ffw35Ew13gA13gA13gA13gA5KJQ46BM13gA13gA13gA13gA5qtg+u/g/////////////ffw35Ew13gA
|
||||
13gA5qtg////////9d7A4ZpA5qtg+u/g/////////////////ffw67yA2oAQ13gA13gA8M2g////////
|
||||
////8tOs/ffw////////////+u/g5qtg13gA13gA13gA13gA13gA13gA3Ikg8M2g8M2g13gA35Ew+ObQ
|
||||
+u/g5qtg13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA13gA
|
||||
13gA13gA13gA13gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAA==
|
||||
</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="blank_light" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\blank_light.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="blank_press" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\blank_press.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\cancel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\cancel_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel_ban" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\cancel_ban.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel_ban_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\cancel_ban_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel_light" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\cancel_light.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="cancel_press" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\cancel_press.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="max" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\max.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="max_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\max_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="max_ban" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\max_ban.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="max_ban_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\max_ban_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="max_light" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\max_light.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="max_press" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\max_press.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="min" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\min.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="min_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\min_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="min_ban" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\min_ban.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="min_ban_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\min_ban_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="min_light" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\min_light.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="min_press" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\min_press.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="options" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\options.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="options_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\options_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="options_ban" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\options_ban.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="options_ban_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\options_ban_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="options_light" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\options_light.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="options_press" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\options_press.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="restore" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\restore.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="restore_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\restore_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="restore_ban" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\restore_ban.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="restore_ban_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\restore_ban_back.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="restore_light" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\restore_light.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="restore_press" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\restore_press.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
38
WAShell/NormalForm.Designer.cs
generated
Normal file
@@ -0,0 +1,38 @@
|
||||
namespace WAShell
|
||||
{
|
||||
partial class NormalForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose (bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose ();
|
||||
}
|
||||
base.Dispose (disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent ()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container ();
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Text = "NormalForm";
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
25
WAShell/NormalForm.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace WAShell
|
||||
{
|
||||
public partial class NormalForm: Form, IMetroIconSupport
|
||||
{
|
||||
public NormalForm ()
|
||||
{
|
||||
InitializeComponent ();
|
||||
}
|
||||
private Icon _iconForMetro = null;
|
||||
public virtual Icon WindowIcon
|
||||
{
|
||||
get { return _iconForMetro; }
|
||||
set { _iconForMetro = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
WAShell/Resources/blank.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/blank_light.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/blank_press.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/cancel.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
WAShell/Resources/cancel_back.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/cancel_ban.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/cancel_ban_back.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/cancel_light.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/cancel_press.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
WAShell/Resources/max.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
WAShell/Resources/max_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/max_ban.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/max_ban_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/max_light.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/max_press.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/min.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
WAShell/Resources/min_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/min_ban.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/min_ban_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/min_light.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/min_press.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/options.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
WAShell/Resources/options_back.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
WAShell/Resources/options_ban.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/options_ban_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/options_light.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/options_press.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/restore.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
WAShell/Resources/restore_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/restore_ban.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/restore_ban_back.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/restore_light.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
WAShell/Resources/restore_press.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
@@ -41,6 +41,19 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="IMetroIconSupport.cs" />
|
||||
<Compile Include="ModenForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ModenForm.Designer.cs">
|
||||
<DependentUpon>ModenForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="NormalForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="NormalForm.Designer.cs">
|
||||
<DependentUpon>NormalForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@@ -83,6 +96,9 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="ModenForm.resx">
|
||||
<DependentUpon>ModenForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
@@ -94,6 +110,105 @@
|
||||
<DependentUpon>WebAppForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\blank.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\blank_light.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\blank_press.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel_ban.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel_ban_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel_light.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\cancel_press.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\max.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\max_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\max_ban.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\max_ban_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\max_light.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\max_press.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\min.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\min_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\min_ban.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\min_ban_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\min_light.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\min_press.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\options.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\options_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\options_ban.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\options_ban_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\options_light.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\options_press.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\restore.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\restore_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\restore_ban.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\restore_ban_back.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\restore_light.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\restore_press.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
||||
1
WAShell/WebAppForm.Designer.cs
generated
@@ -50,6 +50,7 @@
|
||||
this.ClientSize = new System.Drawing.Size(661, 416);
|
||||
this.Controls.Add(this.webui);
|
||||
this.Name = "WebAppForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Main Web App Form";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WebAppForm_FormClosing);
|
||||
this.Load += new System.EventHandler(this.WebAppForm_Load);
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace WAShell
|
||||
{
|
||||
[ComVisible (true)]
|
||||
[ClassInterface (ClassInterfaceType.AutoDual)]
|
||||
public partial class WebAppForm: Form, IScriptBridge, IWebBrowserPageScale, ITaskbarProgress
|
||||
public partial class WebAppForm: NormalForm, IScriptBridge, IWebBrowserPageScale, ITaskbarProgress
|
||||
{
|
||||
SplashForm splash = new SplashForm ();
|
||||
TaskbarProgress taskbar = null;
|
||||
@@ -60,9 +60,9 @@ namespace WAShell
|
||||
if (!issetdpi)
|
||||
{
|
||||
issetdpi = true;
|
||||
ExecScript ("Bridge.Frame.scale = Bridge.Frame.scale * Bridge.UI.dpi");
|
||||
ExecScript ("if (typeof Bridge !== \"undefined\") Bridge.Frame.scale = Bridge.Frame.scale * Bridge.UI.dpi");
|
||||
}
|
||||
ExecScript ("Windows.UI.DPI.mode = 1");
|
||||
ExecScript ("if (typeof Windows !== \"undefined\") Windows.UI.DPI.mode = 1");
|
||||
if (e.Url.ToString () == webui.Url.ToString ())
|
||||
{
|
||||
splash.FadeOut ();
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}</ProjectGuid>
|
||||
@@ -32,6 +32,13 @@
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
@@ -40,18 +47,13 @@
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@@ -61,26 +63,26 @@
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
@@ -102,19 +104,27 @@
|
||||
<AdditionalManifestFiles>app.manifest</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;HMODULE_MODE_EXE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<CompileAsManaged>true</CompileAsManaged>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>shlwapi.lib;version.lib;dwmapi.lib;$(OutDir)pkgread.lib;$(OutDir)pkgmgr.lib;$(OutDir)certmgr.lib;$(OutDir)priformatcli.lib;$(OutDir)notice.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
<IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>app.manifest</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
@@ -139,7 +149,7 @@
|
||||
<AdditionalManifestFiles>app.manifest</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
@@ -147,7 +157,7 @@
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;HMODULE_MODE_EXE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@@ -155,7 +165,14 @@
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>shlwapi.lib;version.lib;dwmapi.lib;$(OutDir)pkgread.lib;$(OutDir)pkgmgr.lib;$(OutDir)certmgr.lib;$(OutDir)priformatcli.lib;$(OutDir)notice.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
<IgnoreSpecificDefaultLibraries>
|
||||
</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>app.manifest</AdditionalManifestFiles>
|
||||
</Manifest>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\certmgr\certmgr.h" />
|
||||
|
||||
@@ -72,6 +72,12 @@
|
||||
<ClInclude Include="appxinfo.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="localeex.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="bridge.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\certmgr\certmgr.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
@@ -84,12 +90,6 @@
|
||||
<ClInclude Include="..\pkgread\pkgread.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="localeex.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="bridge.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\priformatcli\priformatcli.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
#include <codecvt>
|
||||
#include <locale>
|
||||
#include "nstring.h"
|
||||
#include "priformatcli.h"
|
||||
#include "pkgread.h"
|
||||
#include "../priformatcli/priformatcli.h"
|
||||
#include "../pkgread/pkgread.h"
|
||||
|
||||
static std::string ws2utf8 (const std::wstring &ws)
|
||||
{
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
E:/Profiles/Bruce/Documents/Visual Studio 2015/Projects/AppInstallerReset/certmgr/certmgr.h
|
||||
@@ -49,6 +49,17 @@ bool IsURI (const std::wstring &str)
|
||||
}
|
||||
catch (...) { return false; }
|
||||
}
|
||||
std::wstring TrimQuotes (const std::wstring& str) {
|
||||
if (str.empty ()) return str;
|
||||
size_t len = str.size ();
|
||||
size_t start = (str.front () == L'"') ? 1 : 0;
|
||||
size_t end = len;
|
||||
if (str.back () == L'"')
|
||||
{
|
||||
if (end > start) end = len - 1;
|
||||
}
|
||||
return str.substr (start, end - start);
|
||||
}
|
||||
enum class paramtype
|
||||
{
|
||||
string,
|
||||
@@ -87,7 +98,8 @@ void ParseCmdArgs (LPWSTR *argv, DWORD argc, std::map <cmdkey, cmdvalue> &parser
|
||||
arg = arg.trim ();
|
||||
if (IsFile (arg)) parseresult [cmdkey (arg, paramtype::file)] = cmdvalue {L"", paramtype::file, true};
|
||||
else if (IsURI (arg)) parseresult [cmdkey (arg, paramtype::uri)] = cmdvalue {L"", paramtype::uri, true};
|
||||
else
|
||||
else if (IsFile (TrimQuotes (arg))) parseresult [cmdkey (TrimQuotes (arg), paramtype::file)] = cmdvalue { L"", paramtype::file, true };
|
||||
else
|
||||
{
|
||||
for (auto &it : g_argslist)
|
||||
{
|
||||
@@ -140,6 +152,11 @@ void ParseCmdArgs (LPWSTR *argv, DWORD argc, std::map <cmdkey, cmdvalue> &parser
|
||||
auto value = rightpart.substr (valuehead);
|
||||
paramtype ptype = paramtype::string;
|
||||
if (IsFile (value)) ptype = paramtype::file;
|
||||
else if (IsFile (TrimQuotes (value)))
|
||||
{
|
||||
value = TrimQuotes (value);
|
||||
ptype = paramtype::file;
|
||||
}
|
||||
else if (IsURI (StringTrim (value))) ptype = paramtype::uri;
|
||||
parseresult [cmdkey (it.uniquelabel, paramtype::string)] = cmdvalue {value, ptype, false};
|
||||
}
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
#include "resmap.h"
|
||||
#include "appxinfo.h"
|
||||
#include "localeex.h"
|
||||
#include "pkgmgr.h"
|
||||
#include "notice.h"
|
||||
#include "certmgr.h"
|
||||
#include "../pkgmgr/pkgmgr.h"
|
||||
#include "../notice/notice.h"
|
||||
#include "../certmgr/certmgr.h"
|
||||
#include "bridge.h"
|
||||
#include "filepath.h"
|
||||
|
||||
@@ -39,7 +39,7 @@ enum class CMDPARAM: DWORD
|
||||
{
|
||||
NONE = 0b000,
|
||||
SILENT = 0b001,
|
||||
VERYSILENT = 0b011,
|
||||
VERYSILENT = 0b010,
|
||||
MULTIPLE = 0b100
|
||||
};
|
||||
|
||||
@@ -1810,6 +1810,8 @@ std::vector <std::wstring> LoadFileListW (const std::wstring &filePath)
|
||||
{
|
||||
if (!line.empty () && line.back () == L'\r') line.pop_back ();
|
||||
if (!line.empty () && !std::wnstring::empty (line) && IsFileExists (line)) result.push_back (line);
|
||||
auto fullFile = CombinePath (GetFileDirectoryW (filePath), line);
|
||||
if (!line.empty () && !std::wnstring::empty (fullFile) && IsFileExists (fullFile)) result.push_back (fullFile);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -1844,7 +1846,7 @@ DWORD CmdMapsToFlags (std::map <cmdkey, cmdvalue> cmdpairs, std::vector <std::wn
|
||||
auto &key = it.first;
|
||||
auto &value = it.second;
|
||||
if (key.key.equals (L"silent")) dwret |= (DWORD)CMDPARAM::SILENT;
|
||||
else if (key.key.equals (L"verysilent")) dwret |= (DWORD)CMDPARAM::SILENT;
|
||||
else if (key.key.equals (L"verysilent")) dwret |= (DWORD)CMDPARAM::VERYSILENT;
|
||||
else if (key.key.equals (L"multiple"))
|
||||
{
|
||||
if (value.type == paramtype::file)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
E:/Profiles/Bruce/Documents/Visual Studio 2015/Projects/AppInstallerReset/notice/notice.h
|
||||
@@ -1 +0,0 @@
|
||||
E:/Profiles/Bruce/Documents/Visual Studio 2015/Projects/AppInstallerReset/pkgmgr/pkgmgr.h
|
||||
@@ -1 +0,0 @@
|
||||
E:/Profiles/Bruce/Documents/Visual Studio 2015/Projects/AppInstallerReset/pkgread/pkgread.h
|
||||
@@ -1 +0,0 @@
|
||||
../priformatcli/priformatcli.h
|
||||
5
arm_build.bat
Normal file
@@ -0,0 +1,5 @@
|
||||
@echo off
|
||||
cd /d "%~dp0"
|
||||
set SCRIPT_DIR=%~dp0
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_DIR%ArmBuild.ps1"
|
||||
pause
|
||||