7zip-native 0.0.0-stage → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -2
  3. package/THIRD_PARTY_NOTICES.md +23 -0
  4. package/bench/args.mts +69 -0
  5. package/bench/benchmark.mts +102 -0
  6. package/bench/compare.mts +546 -0
  7. package/bench/concurrency.mts +196 -0
  8. package/binding.gyp +51 -0
  9. package/dist/index.cjs +528 -0
  10. package/dist/index.d.cts +63 -0
  11. package/dist/index.d.mts +63 -0
  12. package/dist/index.d.ts +63 -0
  13. package/dist/index.mjs +524 -0
  14. package/docs/architecture.md +112 -0
  15. package/examples/basic.mts +19 -0
  16. package/native/addon.cpp +2154 -0
  17. package/package.json +85 -5
  18. package/prebuilds/darwin-arm64/7zip_native.node +0 -0
  19. package/prebuilds/darwin-arm64/lib7z.dylib +0 -0
  20. package/prebuilds/darwin-x64/7zip_native.node +0 -0
  21. package/prebuilds/darwin-x64/lib7z.dylib +0 -0
  22. package/prebuilds/linux-arm/7z.so +0 -0
  23. package/prebuilds/linux-arm/7zip_native.node +0 -0
  24. package/prebuilds/linux-arm64/7z.so +0 -0
  25. package/prebuilds/linux-arm64/7zip_native.node +0 -0
  26. package/prebuilds/linux-ia32/7z.so +0 -0
  27. package/prebuilds/linux-ia32/7zip_native.node +0 -0
  28. package/prebuilds/linux-x64/7z.so +0 -0
  29. package/prebuilds/linux-x64/7zip_native.node +0 -0
  30. package/prebuilds/win32-arm64/7z.dll +0 -0
  31. package/prebuilds/win32-arm64/7zip_native.node +0 -0
  32. package/prebuilds/win32-x64/7z.dll +0 -0
  33. package/prebuilds/win32-x64/7zip_native.node +0 -0
  34. package/vendor/7zip/.gitattributes +2 -0
  35. package/vendor/7zip/Asm/arm/7zCrcOpt.asm +100 -0
  36. package/vendor/7zip/Asm/arm64/7zAsm.S +187 -0
  37. package/vendor/7zip/Asm/arm64/LzmaDecOpt.S +1487 -0
  38. package/vendor/7zip/Asm/x86/7zAsm.asm +341 -0
  39. package/vendor/7zip/Asm/x86/7zCrcOpt.asm +258 -0
  40. package/vendor/7zip/Asm/x86/AesOpt.asm +742 -0
  41. package/vendor/7zip/Asm/x86/LzFindOpt.asm +540 -0
  42. package/vendor/7zip/Asm/x86/LzmaDecOpt.asm +1339 -0
  43. package/vendor/7zip/Asm/x86/Sha1Opt.asm +263 -0
  44. package/vendor/7zip/Asm/x86/Sha256Opt.asm +275 -0
  45. package/vendor/7zip/Asm/x86/Sort.asm +860 -0
  46. package/vendor/7zip/Asm/x86/XzCrc64Opt.asm +523 -0
  47. package/vendor/7zip/C/7z.h +204 -0
  48. package/vendor/7zip/C/7zAlloc.c +89 -0
  49. package/vendor/7zip/C/7zAlloc.h +19 -0
  50. package/vendor/7zip/C/7zArcIn.c +1701 -0
  51. package/vendor/7zip/C/7zBuf.c +36 -0
  52. package/vendor/7zip/C/7zBuf.h +35 -0
  53. package/vendor/7zip/C/7zBuf2.c +52 -0
  54. package/vendor/7zip/C/7zCrc.c +420 -0
  55. package/vendor/7zip/C/7zCrc.h +28 -0
  56. package/vendor/7zip/C/7zCrcOpt.c +199 -0
  57. package/vendor/7zip/C/7zDec.c +672 -0
  58. package/vendor/7zip/C/7zFile.c +443 -0
  59. package/vendor/7zip/C/7zFile.h +91 -0
  60. package/vendor/7zip/C/7zStream.c +199 -0
  61. package/vendor/7zip/C/7zTypes.h +600 -0
  62. package/vendor/7zip/C/7zVersion.h +27 -0
  63. package/vendor/7zip/C/7zVersion.rc +55 -0
  64. package/vendor/7zip/C/7zWindows.h +107 -0
  65. package/vendor/7zip/C/7zip_gcc_c.mak +366 -0
  66. package/vendor/7zip/C/Aes.c +429 -0
  67. package/vendor/7zip/C/Aes.h +60 -0
  68. package/vendor/7zip/C/AesOpt.c +1002 -0
  69. package/vendor/7zip/C/Alloc.c +774 -0
  70. package/vendor/7zip/C/Alloc.h +76 -0
  71. package/vendor/7zip/C/Asm_c.mak +12 -0
  72. package/vendor/7zip/C/Bcj2.c +290 -0
  73. package/vendor/7zip/C/Bcj2.h +332 -0
  74. package/vendor/7zip/C/Bcj2Enc.c +509 -0
  75. package/vendor/7zip/C/Blake2.h +105 -0
  76. package/vendor/7zip/C/Blake2s.c +2672 -0
  77. package/vendor/7zip/C/Bra.c +709 -0
  78. package/vendor/7zip/C/Bra.h +105 -0
  79. package/vendor/7zip/C/Bra86.c +187 -0
  80. package/vendor/7zip/C/BraIA64.c +14 -0
  81. package/vendor/7zip/C/BwtSort.c +630 -0
  82. package/vendor/7zip/C/BwtSort.h +27 -0
  83. package/vendor/7zip/C/Compiler.h +287 -0
  84. package/vendor/7zip/C/CpuArch.c +970 -0
  85. package/vendor/7zip/C/CpuArch.h +719 -0
  86. package/vendor/7zip/C/Delta.c +169 -0
  87. package/vendor/7zip/C/Delta.h +19 -0
  88. package/vendor/7zip/C/DllSecur.c +99 -0
  89. package/vendor/7zip/C/DllSecur.h +20 -0
  90. package/vendor/7zip/C/HuffEnc.c +361 -0
  91. package/vendor/7zip/C/HuffEnc.h +23 -0
  92. package/vendor/7zip/C/LzFind.c +1746 -0
  93. package/vendor/7zip/C/LzFind.h +160 -0
  94. package/vendor/7zip/C/LzFindMt.c +1422 -0
  95. package/vendor/7zip/C/LzFindMt.h +114 -0
  96. package/vendor/7zip/C/LzFindOpt.c +578 -0
  97. package/vendor/7zip/C/LzHash.h +34 -0
  98. package/vendor/7zip/C/Lzma2Dec.c +493 -0
  99. package/vendor/7zip/C/Lzma2Dec.h +121 -0
  100. package/vendor/7zip/C/Lzma2DecMt.c +1095 -0
  101. package/vendor/7zip/C/Lzma2DecMt.h +81 -0
  102. package/vendor/7zip/C/Lzma2Enc.c +799 -0
  103. package/vendor/7zip/C/Lzma2Enc.h +58 -0
  104. package/vendor/7zip/C/Lzma86.h +111 -0
  105. package/vendor/7zip/C/Lzma86Dec.c +53 -0
  106. package/vendor/7zip/C/Lzma86Enc.c +103 -0
  107. package/vendor/7zip/C/LzmaDec.c +1367 -0
  108. package/vendor/7zip/C/LzmaDec.h +237 -0
  109. package/vendor/7zip/C/LzmaEnc.c +3154 -0
  110. package/vendor/7zip/C/LzmaEnc.h +85 -0
  111. package/vendor/7zip/C/LzmaLib.c +42 -0
  112. package/vendor/7zip/C/LzmaLib.h +138 -0
  113. package/vendor/7zip/C/Md5.c +206 -0
  114. package/vendor/7zip/C/Md5.h +34 -0
  115. package/vendor/7zip/C/MtCoder.c +604 -0
  116. package/vendor/7zip/C/MtCoder.h +144 -0
  117. package/vendor/7zip/C/MtDec.c +1124 -0
  118. package/vendor/7zip/C/MtDec.h +202 -0
  119. package/vendor/7zip/C/Ppmd.h +169 -0
  120. package/vendor/7zip/C/Ppmd7.c +1131 -0
  121. package/vendor/7zip/C/Ppmd7.h +181 -0
  122. package/vendor/7zip/C/Ppmd7Dec.c +312 -0
  123. package/vendor/7zip/C/Ppmd7Enc.c +340 -0
  124. package/vendor/7zip/C/Ppmd7aDec.c +295 -0
  125. package/vendor/7zip/C/Ppmd8.c +1574 -0
  126. package/vendor/7zip/C/Ppmd8.h +181 -0
  127. package/vendor/7zip/C/Ppmd8Dec.c +295 -0
  128. package/vendor/7zip/C/Ppmd8Enc.c +337 -0
  129. package/vendor/7zip/C/Precomp.h +127 -0
  130. package/vendor/7zip/C/RotateDefs.h +50 -0
  131. package/vendor/7zip/C/Sha1.c +441 -0
  132. package/vendor/7zip/C/Sha1.h +86 -0
  133. package/vendor/7zip/C/Sha1Opt.c +424 -0
  134. package/vendor/7zip/C/Sha256.c +492 -0
  135. package/vendor/7zip/C/Sha256.h +86 -0
  136. package/vendor/7zip/C/Sha256Opt.c +451 -0
  137. package/vendor/7zip/C/Sha3.c +359 -0
  138. package/vendor/7zip/C/Sha3.h +36 -0
  139. package/vendor/7zip/C/Sha512.c +711 -0
  140. package/vendor/7zip/C/Sha512.h +86 -0
  141. package/vendor/7zip/C/Sha512Opt.c +395 -0
  142. package/vendor/7zip/C/Sort.c +268 -0
  143. package/vendor/7zip/C/Sort.h +15 -0
  144. package/vendor/7zip/C/SwapBytes.c +835 -0
  145. package/vendor/7zip/C/SwapBytes.h +17 -0
  146. package/vendor/7zip/C/Threads.c +826 -0
  147. package/vendor/7zip/C/Threads.h +260 -0
  148. package/vendor/7zip/C/Util/7z/7z.dsp +249 -0
  149. package/vendor/7zip/C/Util/7z/7z.dsw +29 -0
  150. package/vendor/7zip/C/Util/7z/7zMain.c +1210 -0
  151. package/vendor/7zip/C/Util/7z/Precomp.c +4 -0
  152. package/vendor/7zip/C/Util/7z/Precomp.h +13 -0
  153. package/vendor/7zip/C/Util/7z/makefile +44 -0
  154. package/vendor/7zip/C/Util/7z/makefile.gcc +32 -0
  155. package/vendor/7zip/C/Util/7zipInstall/7zip.ico +0 -0
  156. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.c +1699 -0
  157. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsp +248 -0
  158. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsw +29 -0
  159. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.manifest +18 -0
  160. package/vendor/7zip/C/Util/7zipInstall/Precomp.c +4 -0
  161. package/vendor/7zip/C/Util/7zipInstall/Precomp.h +13 -0
  162. package/vendor/7zip/C/Util/7zipInstall/makefile +47 -0
  163. package/vendor/7zip/C/Util/7zipInstall/resource.h +9 -0
  164. package/vendor/7zip/C/Util/7zipInstall/resource.rc +48 -0
  165. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.c +1234 -0
  166. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsp +132 -0
  167. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsw +29 -0
  168. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.ico +0 -0
  169. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.manifest +18 -0
  170. package/vendor/7zip/C/Util/7zipUninstall/Precomp.c +4 -0
  171. package/vendor/7zip/C/Util/7zipUninstall/Precomp.h +13 -0
  172. package/vendor/7zip/C/Util/7zipUninstall/makefile +18 -0
  173. package/vendor/7zip/C/Util/7zipUninstall/resource.h +9 -0
  174. package/vendor/7zip/C/Util/7zipUninstall/resource.rc +48 -0
  175. package/vendor/7zip/C/Util/Lzma/LzmaUtil.c +313 -0
  176. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsp +192 -0
  177. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsw +29 -0
  178. package/vendor/7zip/C/Util/Lzma/Precomp.h +13 -0
  179. package/vendor/7zip/C/Util/Lzma/makefile +30 -0
  180. package/vendor/7zip/C/Util/Lzma/makefile.gcc +21 -0
  181. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.def +4 -0
  182. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsp +206 -0
  183. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  184. package/vendor/7zip/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  185. package/vendor/7zip/C/Util/LzmaLib/Precomp.c +4 -0
  186. package/vendor/7zip/C/Util/LzmaLib/Precomp.h +13 -0
  187. package/vendor/7zip/C/Util/LzmaLib/makefile +59 -0
  188. package/vendor/7zip/C/Util/LzmaLib/resource.rc +3 -0
  189. package/vendor/7zip/C/Util/SfxSetup/Precomp.c +4 -0
  190. package/vendor/7zip/C/Util/SfxSetup/Precomp.h +13 -0
  191. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.c +657 -0
  192. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  193. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  194. package/vendor/7zip/C/Util/SfxSetup/makefile +44 -0
  195. package/vendor/7zip/C/Util/SfxSetup/makefile_con +40 -0
  196. package/vendor/7zip/C/Util/SfxSetup/resource.rc +5 -0
  197. package/vendor/7zip/C/Util/SfxSetup/setup.ico +0 -0
  198. package/vendor/7zip/C/Xxh64.c +389 -0
  199. package/vendor/7zip/C/Xxh64.h +50 -0
  200. package/vendor/7zip/C/Xz.c +92 -0
  201. package/vendor/7zip/C/Xz.h +542 -0
  202. package/vendor/7zip/C/XzCrc64.c +140 -0
  203. package/vendor/7zip/C/XzCrc64.h +26 -0
  204. package/vendor/7zip/C/XzCrc64Opt.c +261 -0
  205. package/vendor/7zip/C/XzDec.c +2865 -0
  206. package/vendor/7zip/C/XzEnc.c +1374 -0
  207. package/vendor/7zip/C/XzEnc.h +62 -0
  208. package/vendor/7zip/C/XzIn.c +385 -0
  209. package/vendor/7zip/C/ZstdDec.c +4067 -0
  210. package/vendor/7zip/C/ZstdDec.h +173 -0
  211. package/vendor/7zip/C/var_clang.mak +11 -0
  212. package/vendor/7zip/C/var_clang_arm64.mak +12 -0
  213. package/vendor/7zip/C/var_clang_x64.mak +11 -0
  214. package/vendor/7zip/C/var_clang_x86.mak +11 -0
  215. package/vendor/7zip/C/var_gcc.mak +12 -0
  216. package/vendor/7zip/C/var_gcc_arm64.mak +12 -0
  217. package/vendor/7zip/C/var_gcc_x64.mak +10 -0
  218. package/vendor/7zip/C/var_gcc_x86.mak +10 -0
  219. package/vendor/7zip/C/var_mac_arm64.mak +13 -0
  220. package/vendor/7zip/C/var_mac_x64.mak +13 -0
  221. package/vendor/7zip/C/warn_clang.mak +1 -0
  222. package/vendor/7zip/C/warn_clang_mac.mak +1 -0
  223. package/vendor/7zip/C/warn_gcc.mak +51 -0
  224. package/vendor/7zip/CPP/7zip/7zip.mak +240 -0
  225. package/vendor/7zip/CPP/7zip/7zip_gcc.mak +1376 -0
  226. package/vendor/7zip/CPP/7zip/Aes.mak +10 -0
  227. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsp +650 -0
  228. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsw +29 -0
  229. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  230. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.h +92 -0
  231. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  232. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  233. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.cpp +702 -0
  234. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  235. package/vendor/7zip/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  236. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  237. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  238. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.cpp +800 -0
  239. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  240. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1162 -0
  241. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  242. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  243. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.cpp +1815 -0
  244. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.h +454 -0
  245. package/vendor/7zip/CPP/7zip/Archive/7z/7zItem.h +207 -0
  246. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  247. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.h +346 -0
  248. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  249. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  250. package/vendor/7zip/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  251. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  252. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  253. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.cpp +3087 -0
  254. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  255. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  256. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  257. package/vendor/7zip/CPP/7zip/Archive/7z/makefile +81 -0
  258. package/vendor/7zip/CPP/7zip/Archive/7z/resource.rc +11 -0
  259. package/vendor/7zip/CPP/7zip/Archive/ApfsHandler.cpp +4470 -0
  260. package/vendor/7zip/CPP/7zip/Archive/ApmHandler.cpp +420 -0
  261. package/vendor/7zip/CPP/7zip/Archive/ArHandler.cpp +844 -0
  262. package/vendor/7zip/CPP/7zip/Archive/Archive.def +15 -0
  263. package/vendor/7zip/CPP/7zip/Archive/Archive2.def +22 -0
  264. package/vendor/7zip/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  265. package/vendor/7zip/CPP/7zip/Archive/ArjHandler.cpp +977 -0
  266. package/vendor/7zip/CPP/7zip/Archive/AvbHandler.cpp +616 -0
  267. package/vendor/7zip/CPP/7zip/Archive/Base64Handler.cpp +488 -0
  268. package/vendor/7zip/CPP/7zip/Archive/Bz2Handler.cpp +482 -0
  269. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.cpp +122 -0
  270. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.h +28 -0
  271. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.cpp +1270 -0
  272. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.h +29 -0
  273. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.cpp +15 -0
  274. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.h +41 -0
  275. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.cpp +485 -0
  276. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.h +169 -0
  277. package/vendor/7zip/CPP/7zip/Archive/Cab/CabItem.h +69 -0
  278. package/vendor/7zip/CPP/7zip/Archive/Cab/CabRegister.cpp +19 -0
  279. package/vendor/7zip/CPP/7zip/Archive/Cab/StdAfx.h +11 -0
  280. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.cpp +790 -0
  281. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.h +27 -0
  282. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.cpp +1026 -0
  283. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.h +282 -0
  284. package/vendor/7zip/CPP/7zip/Archive/Chm/StdAfx.h +11 -0
  285. package/vendor/7zip/CPP/7zip/Archive/ComHandler.cpp +1449 -0
  286. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  287. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  288. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  289. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  290. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.cpp +90 -0
  291. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.h +12 -0
  292. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.cpp +315 -0
  293. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.h +169 -0
  294. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  295. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  296. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.cpp +140 -0
  297. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.h +33 -0
  298. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  299. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  300. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  301. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  302. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.cpp +29 -0
  303. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.h +61 -0
  304. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  305. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  306. package/vendor/7zip/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  307. package/vendor/7zip/CPP/7zip/Archive/CpioHandler.cpp +1110 -0
  308. package/vendor/7zip/CPP/7zip/Archive/CramfsHandler.cpp +784 -0
  309. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.cpp +3 -0
  310. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.h +6 -0
  311. package/vendor/7zip/CPP/7zip/Archive/DllExports.cpp +96 -0
  312. package/vendor/7zip/CPP/7zip/Archive/DllExports2.cpp +184 -0
  313. package/vendor/7zip/CPP/7zip/Archive/DmgHandler.cpp +2336 -0
  314. package/vendor/7zip/CPP/7zip/Archive/ElfHandler.cpp +1284 -0
  315. package/vendor/7zip/CPP/7zip/Archive/ExtHandler.cpp +2860 -0
  316. package/vendor/7zip/CPP/7zip/Archive/FatHandler.cpp +1325 -0
  317. package/vendor/7zip/CPP/7zip/Archive/FlvHandler.cpp +521 -0
  318. package/vendor/7zip/CPP/7zip/Archive/GptHandler.cpp +473 -0
  319. package/vendor/7zip/CPP/7zip/Archive/GzHandler.cpp +1200 -0
  320. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.cpp +320 -0
  321. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.h +134 -0
  322. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.cpp +2631 -0
  323. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.h +87 -0
  324. package/vendor/7zip/CPP/7zip/Archive/IArchive.h +755 -0
  325. package/vendor/7zip/CPP/7zip/Archive/Icons/7z.ico +0 -0
  326. package/vendor/7zip/CPP/7zip/Archive/Icons/apfs.ico +0 -0
  327. package/vendor/7zip/CPP/7zip/Archive/Icons/arj.ico +0 -0
  328. package/vendor/7zip/CPP/7zip/Archive/Icons/bz2.ico +0 -0
  329. package/vendor/7zip/CPP/7zip/Archive/Icons/cab.ico +0 -0
  330. package/vendor/7zip/CPP/7zip/Archive/Icons/cpio.ico +0 -0
  331. package/vendor/7zip/CPP/7zip/Archive/Icons/deb.ico +0 -0
  332. package/vendor/7zip/CPP/7zip/Archive/Icons/dmg.ico +0 -0
  333. package/vendor/7zip/CPP/7zip/Archive/Icons/fat.ico +0 -0
  334. package/vendor/7zip/CPP/7zip/Archive/Icons/gz.ico +0 -0
  335. package/vendor/7zip/CPP/7zip/Archive/Icons/hfs.ico +0 -0
  336. package/vendor/7zip/CPP/7zip/Archive/Icons/iso.ico +0 -0
  337. package/vendor/7zip/CPP/7zip/Archive/Icons/lzh.ico +0 -0
  338. package/vendor/7zip/CPP/7zip/Archive/Icons/lzma.ico +0 -0
  339. package/vendor/7zip/CPP/7zip/Archive/Icons/ntfs.ico +0 -0
  340. package/vendor/7zip/CPP/7zip/Archive/Icons/rar.ico +0 -0
  341. package/vendor/7zip/CPP/7zip/Archive/Icons/rpm.ico +0 -0
  342. package/vendor/7zip/CPP/7zip/Archive/Icons/split.ico +0 -0
  343. package/vendor/7zip/CPP/7zip/Archive/Icons/squashfs.ico +0 -0
  344. package/vendor/7zip/CPP/7zip/Archive/Icons/tar.ico +0 -0
  345. package/vendor/7zip/CPP/7zip/Archive/Icons/vhd.ico +0 -0
  346. package/vendor/7zip/CPP/7zip/Archive/Icons/wim.ico +0 -0
  347. package/vendor/7zip/CPP/7zip/Archive/Icons/xar.ico +0 -0
  348. package/vendor/7zip/CPP/7zip/Archive/Icons/xz.ico +0 -0
  349. package/vendor/7zip/CPP/7zip/Archive/Icons/z.ico +0 -0
  350. package/vendor/7zip/CPP/7zip/Archive/Icons/zip.ico +0 -0
  351. package/vendor/7zip/CPP/7zip/Archive/Icons/zst.ico +0 -0
  352. package/vendor/7zip/CPP/7zip/Archive/IhexHandler.cpp +493 -0
  353. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.cpp +498 -0
  354. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.h +24 -0
  355. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.cpp +12 -0
  356. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.h +64 -0
  357. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.cpp +801 -0
  358. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.h +328 -0
  359. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoItem.h +316 -0
  360. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoRegister.cpp +21 -0
  361. package/vendor/7zip/CPP/7zip/Archive/Iso/StdAfx.h +11 -0
  362. package/vendor/7zip/CPP/7zip/Archive/LpHandler.cpp +1172 -0
  363. package/vendor/7zip/CPP/7zip/Archive/LvmHandler.cpp +1108 -0
  364. package/vendor/7zip/CPP/7zip/Archive/LzhHandler.cpp +719 -0
  365. package/vendor/7zip/CPP/7zip/Archive/LzmaHandler.cpp +606 -0
  366. package/vendor/7zip/CPP/7zip/Archive/MachoHandler.cpp +1075 -0
  367. package/vendor/7zip/CPP/7zip/Archive/MbrHandler.cpp +648 -0
  368. package/vendor/7zip/CPP/7zip/Archive/MslzHandler.cpp +389 -0
  369. package/vendor/7zip/CPP/7zip/Archive/MubHandler.cpp +248 -0
  370. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.cpp +295 -0
  371. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.h +97 -0
  372. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.cpp +703 -0
  373. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.h +30 -0
  374. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.cpp +6231 -0
  375. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.h +462 -0
  376. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisRegister.cpp +20 -0
  377. package/vendor/7zip/CPP/7zip/Archive/Nsis/StdAfx.h +11 -0
  378. package/vendor/7zip/CPP/7zip/Archive/NtfsHandler.cpp +2944 -0
  379. package/vendor/7zip/CPP/7zip/Archive/PeHandler.cpp +3427 -0
  380. package/vendor/7zip/CPP/7zip/Archive/PpmdHandler.cpp +414 -0
  381. package/vendor/7zip/CPP/7zip/Archive/QcowHandler.cpp +713 -0
  382. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.cpp +3483 -0
  383. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.h +527 -0
  384. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.cpp +1775 -0
  385. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.h +115 -0
  386. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHeader.h +209 -0
  387. package/vendor/7zip/CPP/7zip/Archive/Rar/RarItem.h +97 -0
  388. package/vendor/7zip/CPP/7zip/Archive/Rar/RarVol.h +136 -0
  389. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.cpp +3 -0
  390. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.h +11 -0
  391. package/vendor/7zip/CPP/7zip/Archive/RpmHandler.cpp +775 -0
  392. package/vendor/7zip/CPP/7zip/Archive/SparseHandler.cpp +558 -0
  393. package/vendor/7zip/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  394. package/vendor/7zip/CPP/7zip/Archive/SquashfsHandler.cpp +2373 -0
  395. package/vendor/7zip/CPP/7zip/Archive/StdAfx.h +11 -0
  396. package/vendor/7zip/CPP/7zip/Archive/SwfHandler.cpp +996 -0
  397. package/vendor/7zip/CPP/7zip/Archive/Tar/StdAfx.h +11 -0
  398. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.cpp +1105 -0
  399. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.h +57 -0
  400. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandlerOut.cpp +332 -0
  401. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.cpp +99 -0
  402. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.h +90 -0
  403. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.cpp +1151 -0
  404. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.h +151 -0
  405. package/vendor/7zip/CPP/7zip/Archive/Tar/TarItem.h +365 -0
  406. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.cpp +644 -0
  407. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.h +53 -0
  408. package/vendor/7zip/CPP/7zip/Archive/Tar/TarRegister.cpp +31 -0
  409. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.cpp +563 -0
  410. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.h +74 -0
  411. package/vendor/7zip/CPP/7zip/Archive/Udf/StdAfx.h +11 -0
  412. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.cpp +427 -0
  413. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.h +32 -0
  414. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.cpp +1756 -0
  415. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.h +508 -0
  416. package/vendor/7zip/CPP/7zip/Archive/UefiHandler.cpp +1884 -0
  417. package/vendor/7zip/CPP/7zip/Archive/VdiHandler.cpp +433 -0
  418. package/vendor/7zip/CPP/7zip/Archive/VhdHandler.cpp +1106 -0
  419. package/vendor/7zip/CPP/7zip/Archive/VhdxHandler.cpp +2085 -0
  420. package/vendor/7zip/CPP/7zip/Archive/VmdkHandler.cpp +1530 -0
  421. package/vendor/7zip/CPP/7zip/Archive/Wim/StdAfx.h +11 -0
  422. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.cpp +1291 -0
  423. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.h +117 -0
  424. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandlerOut.cpp +2008 -0
  425. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.cpp +2104 -0
  426. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.h +719 -0
  427. package/vendor/7zip/CPP/7zip/Archive/Wim/WimRegister.cpp +29 -0
  428. package/vendor/7zip/CPP/7zip/Archive/XarHandler.cpp +1316 -0
  429. package/vendor/7zip/CPP/7zip/Archive/XzHandler.cpp +1452 -0
  430. package/vendor/7zip/CPP/7zip/Archive/XzHandler.h +11 -0
  431. package/vendor/7zip/CPP/7zip/Archive/ZHandler.cpp +208 -0
  432. package/vendor/7zip/CPP/7zip/Archive/Zip/StdAfx.h +11 -0
  433. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.cpp +484 -0
  434. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.h +76 -0
  435. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipCompressionMode.h +62 -0
  436. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.cpp +1679 -0
  437. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.h +94 -0
  438. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandlerOut.cpp +626 -0
  439. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHeader.h +201 -0
  440. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.cpp +3474 -0
  441. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.h +456 -0
  442. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.cpp +464 -0
  443. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.h +356 -0
  444. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.cpp +428 -0
  445. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.h +103 -0
  446. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipRegister.cpp +38 -0
  447. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.cpp +2165 -0
  448. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.h +107 -0
  449. package/vendor/7zip/CPP/7zip/Archive/ZstdHandler.cpp +1147 -0
  450. package/vendor/7zip/CPP/7zip/Archive/makefile +23 -0
  451. package/vendor/7zip/CPP/7zip/Asm.mak +12 -0
  452. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsp +3324 -0
  453. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsw +29 -0
  454. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.cpp +3 -0
  455. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.h +11 -0
  456. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile +245 -0
  457. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile.gcc +354 -0
  458. package/vendor/7zip/CPP/7zip/Bundles/Alone/resource.rc +7 -0
  459. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.cpp +3 -0
  460. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.h +11 -0
  461. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile +31 -0
  462. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile.gcc +108 -0
  463. package/vendor/7zip/CPP/7zip/Bundles/Alone2/resource.rc +7 -0
  464. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  465. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  466. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  467. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  468. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  469. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile.gcc +276 -0
  470. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  471. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsp +2275 -0
  472. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsw +29 -0
  473. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.cpp +3 -0
  474. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.h +6 -0
  475. package/vendor/7zip/CPP/7zip/Bundles/Fm/makefile +82 -0
  476. package/vendor/7zip/CPP/7zip/Bundles/Fm/resource.rc +7 -0
  477. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.cpp +3 -0
  478. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.h +11 -0
  479. package/vendor/7zip/CPP/7zip/Bundles/Format7z/makefile +148 -0
  480. package/vendor/7zip/CPP/7zip/Bundles/Format7z/resource.rc +5 -0
  481. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp +3 -0
  482. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.h +11 -0
  483. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/makefile +116 -0
  484. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/resource.rc +5 -0
  485. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  486. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  487. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  488. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  489. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc.mak +310 -0
  490. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc_gcc.mak +395 -0
  491. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsp +3486 -0
  492. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsw +29 -0
  493. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.cpp +3 -0
  494. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.h +11 -0
  495. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile +20 -0
  496. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile.gcc +55 -0
  497. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/resource.rc +39 -0
  498. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  499. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  500. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  501. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  502. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +815 -0
  503. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  504. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  505. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  506. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  507. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  508. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  509. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  510. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  511. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  512. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  513. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  514. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  515. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  516. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  517. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  518. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  519. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  520. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  521. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  522. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  523. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  524. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  525. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +359 -0
  526. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  527. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  528. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  529. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  530. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  531. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  532. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  533. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  534. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  535. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  536. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  537. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  538. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  539. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  540. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  541. package/vendor/7zip/CPP/7zip/Bundles/makefile +19 -0
  542. package/vendor/7zip/CPP/7zip/Common/CWrappers.cpp +358 -0
  543. package/vendor/7zip/CPP/7zip/Common/CWrappers.h +182 -0
  544. package/vendor/7zip/CPP/7zip/Common/CreateCoder.cpp +548 -0
  545. package/vendor/7zip/CPP/7zip/Common/CreateCoder.h +200 -0
  546. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  547. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  548. package/vendor/7zip/CPP/7zip/Common/FileStreams.cpp +923 -0
  549. package/vendor/7zip/CPP/7zip/Common/FileStreams.h +205 -0
  550. package/vendor/7zip/CPP/7zip/Common/FilterCoder.cpp +582 -0
  551. package/vendor/7zip/CPP/7zip/Common/FilterCoder.h +201 -0
  552. package/vendor/7zip/CPP/7zip/Common/InBuffer.cpp +182 -0
  553. package/vendor/7zip/CPP/7zip/Common/InBuffer.h +121 -0
  554. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  555. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  556. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.cpp +395 -0
  557. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.h +221 -0
  558. package/vendor/7zip/CPP/7zip/Common/LockedStream.cpp +3 -0
  559. package/vendor/7zip/CPP/7zip/Common/LockedStream.h +6 -0
  560. package/vendor/7zip/CPP/7zip/Common/MemBlocks.cpp +215 -0
  561. package/vendor/7zip/CPP/7zip/Common/MemBlocks.h +72 -0
  562. package/vendor/7zip/CPP/7zip/Common/MethodId.cpp +3 -0
  563. package/vendor/7zip/CPP/7zip/Common/MethodId.h +10 -0
  564. package/vendor/7zip/CPP/7zip/Common/MethodProps.cpp +765 -0
  565. package/vendor/7zip/CPP/7zip/Common/MethodProps.h +348 -0
  566. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  567. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.h +160 -0
  568. package/vendor/7zip/CPP/7zip/Common/OffsetStream.cpp +37 -0
  569. package/vendor/7zip/CPP/7zip/Common/OffsetStream.h +22 -0
  570. package/vendor/7zip/CPP/7zip/Common/OutBuffer.cpp +111 -0
  571. package/vendor/7zip/CPP/7zip/Common/OutBuffer.h +133 -0
  572. package/vendor/7zip/CPP/7zip/Common/OutMemStream.cpp +158 -0
  573. package/vendor/7zip/CPP/7zip/Common/OutMemStream.h +104 -0
  574. package/vendor/7zip/CPP/7zip/Common/ProgressMt.cpp +53 -0
  575. package/vendor/7zip/CPP/7zip/Common/ProgressMt.h +43 -0
  576. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  577. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.h +33 -0
  578. package/vendor/7zip/CPP/7zip/Common/PropId.cpp +115 -0
  579. package/vendor/7zip/CPP/7zip/Common/RegisterArc.h +80 -0
  580. package/vendor/7zip/CPP/7zip/Common/RegisterCodec.h +106 -0
  581. package/vendor/7zip/CPP/7zip/Common/StdAfx.h +11 -0
  582. package/vendor/7zip/CPP/7zip/Common/StreamBinder.cpp +151 -0
  583. package/vendor/7zip/CPP/7zip/Common/StreamBinder.h +78 -0
  584. package/vendor/7zip/CPP/7zip/Common/StreamObjects.cpp +290 -0
  585. package/vendor/7zip/CPP/7zip/Common/StreamObjects.h +146 -0
  586. package/vendor/7zip/CPP/7zip/Common/StreamUtils.cpp +101 -0
  587. package/vendor/7zip/CPP/7zip/Common/StreamUtils.h +31 -0
  588. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  589. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.h +41 -0
  590. package/vendor/7zip/CPP/7zip/Common/VirtThread.cpp +47 -0
  591. package/vendor/7zip/CPP/7zip/Common/VirtThread.h +24 -0
  592. package/vendor/7zip/CPP/7zip/Compress/BZip2Const.h +71 -0
  593. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.cpp +28 -0
  594. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.h +31 -0
  595. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.cpp +1777 -0
  596. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.h +388 -0
  597. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.cpp +1116 -0
  598. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.h +273 -0
  599. package/vendor/7zip/CPP/7zip/Compress/BZip2Register.cpp +25 -0
  600. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  601. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  602. package/vendor/7zip/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  603. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  604. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.h +37 -0
  605. package/vendor/7zip/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  606. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.cpp +32 -0
  607. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.h +225 -0
  608. package/vendor/7zip/CPP/7zip/Compress/BitlEncoder.h +57 -0
  609. package/vendor/7zip/CPP/7zip/Compress/BitmDecoder.h +106 -0
  610. package/vendor/7zip/CPP/7zip/Compress/BitmEncoder.h +90 -0
  611. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  612. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.h +59 -0
  613. package/vendor/7zip/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  614. package/vendor/7zip/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  615. package/vendor/7zip/CPP/7zip/Compress/Codec.def +7 -0
  616. package/vendor/7zip/CPP/7zip/Compress/CodecExports.cpp +378 -0
  617. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  618. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.h +34 -0
  619. package/vendor/7zip/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  620. package/vendor/7zip/CPP/7zip/Compress/Deflate64Register.cpp +25 -0
  621. package/vendor/7zip/CPP/7zip/Compress/DeflateConst.h +131 -0
  622. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.cpp +566 -0
  623. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.h +154 -0
  624. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.cpp +1045 -0
  625. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.h +203 -0
  626. package/vendor/7zip/CPP/7zip/Compress/DeflateRegister.cpp +25 -0
  627. package/vendor/7zip/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  628. package/vendor/7zip/CPP/7zip/Compress/DllExports2Compress.cpp +38 -0
  629. package/vendor/7zip/CPP/7zip/Compress/DllExportsCompress.cpp +59 -0
  630. package/vendor/7zip/CPP/7zip/Compress/HuffmanDecoder.h +528 -0
  631. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.cpp +250 -0
  632. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.h +61 -0
  633. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp +3 -0
  634. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.h +6 -0
  635. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.cpp +14 -0
  636. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.h +102 -0
  637. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.cpp +950 -0
  638. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.h +63 -0
  639. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.cpp +220 -0
  640. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.h +68 -0
  641. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  642. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  643. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.cpp +134 -0
  644. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  645. package/vendor/7zip/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  646. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  647. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  648. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.cpp +374 -0
  649. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  650. package/vendor/7zip/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  651. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.cpp +619 -0
  652. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.h +209 -0
  653. package/vendor/7zip/CPP/7zip/Compress/Lzx.h +61 -0
  654. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.cpp +1517 -0
  655. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.h +106 -0
  656. package/vendor/7zip/CPP/7zip/Compress/Mtf8.h +225 -0
  657. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  658. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  659. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  660. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  661. package/vendor/7zip/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  662. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.cpp +309 -0
  663. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.h +78 -0
  664. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.cpp +355 -0
  665. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.h +60 -0
  666. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.cpp +518 -0
  667. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.h +70 -0
  668. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.cpp +472 -0
  669. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.h +111 -0
  670. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.cpp +939 -0
  671. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.h +283 -0
  672. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.cpp +1153 -0
  673. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.h +195 -0
  674. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.cpp +2060 -0
  675. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.h +132 -0
  676. package/vendor/7zip/CPP/7zip/Compress/RarCodecsRegister.cpp +33 -0
  677. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.cpp +290 -0
  678. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.h +38 -0
  679. package/vendor/7zip/CPP/7zip/Compress/StdAfx.h +11 -0
  680. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.cpp +399 -0
  681. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.h +18 -0
  682. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  683. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.h +86 -0
  684. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  685. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.h +35 -0
  686. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.cpp +392 -0
  687. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.h +41 -0
  688. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.cpp +136 -0
  689. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.h +78 -0
  690. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.cpp +61 -0
  691. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.h +42 -0
  692. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.cpp +437 -0
  693. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.h +98 -0
  694. package/vendor/7zip/CPP/7zip/Compress/makefile +7 -0
  695. package/vendor/7zip/CPP/7zip/Crc.mak +8 -0
  696. package/vendor/7zip/CPP/7zip/Crc64.mak +8 -0
  697. package/vendor/7zip/CPP/7zip/Crypto/7zAes.cpp +315 -0
  698. package/vendor/7zip/CPP/7zip/Crypto/7zAes.h +130 -0
  699. package/vendor/7zip/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  700. package/vendor/7zip/CPP/7zip/Crypto/Codec.def +4 -0
  701. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.cpp +94 -0
  702. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.h +31 -0
  703. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.cpp +53 -0
  704. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.h +27 -0
  705. package/vendor/7zip/CPP/7zip/Crypto/MyAes.cpp +277 -0
  706. package/vendor/7zip/CPP/7zip/Crypto/MyAes.h +122 -0
  707. package/vendor/7zip/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  708. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp +48 -0
  709. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.h +19 -0
  710. package/vendor/7zip/CPP/7zip/Crypto/RandGen.cpp +242 -0
  711. package/vendor/7zip/CPP/7zip/Crypto/RandGen.h +41 -0
  712. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.cpp +130 -0
  713. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.h +54 -0
  714. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.cpp +273 -0
  715. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.h +97 -0
  716. package/vendor/7zip/CPP/7zip/Crypto/RarAes.cpp +202 -0
  717. package/vendor/7zip/CPP/7zip/Crypto/RarAes.h +54 -0
  718. package/vendor/7zip/CPP/7zip/Crypto/Sha1Cls.h +37 -0
  719. package/vendor/7zip/CPP/7zip/Crypto/StdAfx.h +11 -0
  720. package/vendor/7zip/CPP/7zip/Crypto/WzAes.cpp +231 -0
  721. package/vendor/7zip/CPP/7zip/Crypto/WzAes.h +161 -0
  722. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.cpp +114 -0
  723. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.h +80 -0
  724. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.cpp +265 -0
  725. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.h +73 -0
  726. package/vendor/7zip/CPP/7zip/GuiCommon.rc +119 -0
  727. package/vendor/7zip/CPP/7zip/Guid.txt +243 -0
  728. package/vendor/7zip/CPP/7zip/ICoder.h +480 -0
  729. package/vendor/7zip/CPP/7zip/IDecl.h +76 -0
  730. package/vendor/7zip/CPP/7zip/IPassword.h +54 -0
  731. package/vendor/7zip/CPP/7zip/IProgress.h +20 -0
  732. package/vendor/7zip/CPP/7zip/IStream.h +210 -0
  733. package/vendor/7zip/CPP/7zip/LzFindOpt.mak +7 -0
  734. package/vendor/7zip/CPP/7zip/LzmaDec.mak +7 -0
  735. package/vendor/7zip/CPP/7zip/LzmaDec_gcc.mak +14 -0
  736. package/vendor/7zip/CPP/7zip/MyVersion.h +2 -0
  737. package/vendor/7zip/CPP/7zip/MyVersionInfo.rc +2 -0
  738. package/vendor/7zip/CPP/7zip/PropID.h +178 -0
  739. package/vendor/7zip/CPP/7zip/Sha1.mak +13 -0
  740. package/vendor/7zip/CPP/7zip/Sha256.mak +13 -0
  741. package/vendor/7zip/CPP/7zip/Sort.mak +6 -0
  742. package/vendor/7zip/CPP/7zip/SubBuild.mak +3 -0
  743. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.cpp +2003 -0
  744. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.h +365 -0
  745. package/vendor/7zip/CPP/7zip/UI/Agent/AgentOut.cpp +776 -0
  746. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.cpp +1098 -0
  747. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.h +198 -0
  748. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolder.cpp +57 -0
  749. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOpen.cpp +243 -0
  750. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOut.cpp +457 -0
  751. package/vendor/7zip/CPP/7zip/UI/Agent/IFolderArchive.h +123 -0
  752. package/vendor/7zip/CPP/7zip/UI/Agent/StdAfx.h +11 -0
  753. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.cpp +208 -0
  754. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.h +22 -0
  755. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  756. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  757. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  758. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  759. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  760. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile +29 -0
  761. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  762. package/vendor/7zip/CPP/7zip/UI/Client7z/resource.rc +3 -0
  763. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1913 -0
  764. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  765. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +3243 -0
  766. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.h +640 -0
  767. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  768. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  769. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +403 -0
  770. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  771. package/vendor/7zip/CPP/7zip/UI/Common/Bench.cpp +5036 -0
  772. package/vendor/7zip/CPP/7zip/UI/Common/Bench.h +121 -0
  773. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.cpp +343 -0
  774. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.h +28 -0
  775. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall2.cpp +327 -0
  776. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  777. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.h +11 -0
  778. package/vendor/7zip/CPP/7zip/UI/Common/DirItem.h +407 -0
  779. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.cpp +1637 -0
  780. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  781. package/vendor/7zip/CPP/7zip/UI/Common/ExitCode.h +27 -0
  782. package/vendor/7zip/CPP/7zip/UI/Common/Extract.cpp +593 -0
  783. package/vendor/7zip/CPP/7zip/UI/Common/Extract.h +118 -0
  784. package/vendor/7zip/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  785. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.cpp +299 -0
  786. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  787. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.cpp +2273 -0
  788. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.h +322 -0
  789. package/vendor/7zip/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  790. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.cpp +1354 -0
  791. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  792. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.cpp +3690 -0
  793. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  794. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.cpp +746 -0
  795. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  796. package/vendor/7zip/CPP/7zip/UI/Common/Property.h +14 -0
  797. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  798. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.h +10 -0
  799. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  800. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.h +10 -0
  801. package/vendor/7zip/CPP/7zip/UI/Common/StdAfx.h +11 -0
  802. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  803. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.h +19 -0
  804. package/vendor/7zip/CPP/7zip/UI/Common/Update.cpp +1931 -0
  805. package/vendor/7zip/CPP/7zip/UI/Common/Update.h +221 -0
  806. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  807. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  808. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.cpp +1078 -0
  809. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  810. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.cpp +303 -0
  811. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  812. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.cpp +75 -0
  813. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  814. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  815. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.h +30 -0
  816. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.cpp +599 -0
  817. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  818. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  819. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.h +14 -0
  820. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsp +1052 -0
  821. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsw +29 -0
  822. package/vendor/7zip/CPP/7zip/UI/Console/Console.mak +45 -0
  823. package/vendor/7zip/CPP/7zip/UI/Console/Console.manifest +16 -0
  824. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  825. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  826. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +954 -0
  827. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  828. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  829. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.h +58 -0
  830. package/vendor/7zip/CPP/7zip/UI/Console/List.cpp +1417 -0
  831. package/vendor/7zip/CPP/7zip/UI/Console/List.h +42 -0
  832. package/vendor/7zip/CPP/7zip/UI/Console/Main.cpp +1663 -0
  833. package/vendor/7zip/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  834. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  835. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  836. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  837. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  838. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  839. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.h +11 -0
  840. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +1012 -0
  841. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  842. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  843. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  844. package/vendor/7zip/CPP/7zip/UI/Console/makefile +68 -0
  845. package/vendor/7zip/CPP/7zip/UI/Console/makefile.gcc +184 -0
  846. package/vendor/7zip/CPP/7zip/UI/Console/resource.rc +7 -0
  847. package/vendor/7zip/CPP/7zip/UI/Explorer/7-zip.dll.manifest +1 -0
  848. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.cpp +1837 -0
  849. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.h +173 -0
  850. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenuFlags.h +27 -0
  851. package/vendor/7zip/CPP/7zip/UI/Explorer/DllExportsExplorer.cpp +268 -0
  852. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.def +9 -0
  853. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsp +620 -0
  854. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsw +29 -0
  855. package/vendor/7zip/CPP/7zip/UI/Explorer/MenuLogo.bmp +0 -0
  856. package/vendor/7zip/CPP/7zip/UI/Explorer/MyExplorerCommand.h +217 -0
  857. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  858. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  859. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.cpp +225 -0
  860. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.h +13 -0
  861. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.cpp +3 -0
  862. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.h +6 -0
  863. package/vendor/7zip/CPP/7zip/UI/Explorer/makefile +76 -0
  864. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.h +15 -0
  865. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.rc +10 -0
  866. package/vendor/7zip/CPP/7zip/UI/Explorer/resource2.rc +19 -0
  867. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.cpp +274 -0
  868. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.h +43 -0
  869. package/vendor/7zip/CPP/7zip/UI/Far/Far.cpp +588 -0
  870. package/vendor/7zip/CPP/7zip/UI/Far/Far.def +35 -0
  871. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsp +831 -0
  872. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsw +29 -0
  873. package/vendor/7zip/CPP/7zip/UI/Far/FarPlugin.h +560 -0
  874. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.cpp +523 -0
  875. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.h +203 -0
  876. package/vendor/7zip/CPP/7zip/UI/Far/Messages.h +136 -0
  877. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.cpp +145 -0
  878. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.h +37 -0
  879. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.cpp +937 -0
  880. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.h +97 -0
  881. package/vendor/7zip/CPP/7zip/UI/Far/PluginCommon.cpp +50 -0
  882. package/vendor/7zip/CPP/7zip/UI/Far/PluginDelete.cpp +144 -0
  883. package/vendor/7zip/CPP/7zip/UI/Far/PluginRead.cpp +301 -0
  884. package/vendor/7zip/CPP/7zip/UI/Far/PluginWrite.cpp +840 -0
  885. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.cpp +305 -0
  886. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.h +85 -0
  887. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.cpp +3 -0
  888. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.h +11 -0
  889. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.cpp +327 -0
  890. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.h +58 -0
  891. package/vendor/7zip/CPP/7zip/UI/Far/makefile +105 -0
  892. package/vendor/7zip/CPP/7zip/UI/Far/resource.rc +3 -0
  893. package/vendor/7zip/CPP/7zip/UI/FileManager/7zFM.exe.manifest +23 -0
  894. package/vendor/7zip/CPP/7zip/UI/FileManager/7zipLogo.ico +0 -0
  895. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.cpp +81 -0
  896. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.h +19 -0
  897. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.rc +26 -0
  898. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialogRes.h +8 -0
  899. package/vendor/7zip/CPP/7zip/UI/FileManager/Add.bmp +0 -0
  900. package/vendor/7zip/CPP/7zip/UI/FileManager/Add2.bmp +0 -0
  901. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.cpp +865 -0
  902. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.h +92 -0
  903. package/vendor/7zip/CPP/7zip/UI/FileManager/App.cpp +1004 -0
  904. package/vendor/7zip/CPP/7zip/UI/FileManager/App.h +314 -0
  905. package/vendor/7zip/CPP/7zip/UI/FileManager/AppState.h +95 -0
  906. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  907. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  908. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.rc +25 -0
  909. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.cpp +1873 -0
  910. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.h +10 -0
  911. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.rc +32 -0
  912. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2Res.h +9 -0
  913. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  914. package/vendor/7zip/CPP/7zip/UI/FileManager/ClassDefs.cpp +12 -0
  915. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  916. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  917. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.rc +16 -0
  918. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  919. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy.bmp +0 -0
  920. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy2.bmp +0 -0
  921. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.cpp +103 -0
  922. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.h +31 -0
  923. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.rc +20 -0
  924. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialogRes.h +8 -0
  925. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete.bmp +0 -0
  926. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete2.bmp +0 -0
  927. package/vendor/7zip/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  928. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.cpp +57 -0
  929. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.h +25 -0
  930. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.rc +15 -0
  931. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialogRes.h +2 -0
  932. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.cpp +159 -0
  933. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.h +30 -0
  934. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.rc +19 -0
  935. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage2.rc +14 -0
  936. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPageRes.h +15 -0
  937. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.cpp +109 -0
  938. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.h +10 -0
  939. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract.bmp +0 -0
  940. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract2.bmp +0 -0
  941. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1284 -0
  942. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  943. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.cpp +1230 -0
  944. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsp +1699 -0
  945. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsw +29 -0
  946. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.ico +0 -0
  947. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.mak +102 -0
  948. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.cpp +512 -0
  949. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.h +52 -0
  950. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.cpp +1179 -0
  951. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.h +220 -0
  952. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolderCopy.cpp +871 -0
  953. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.cpp +394 -0
  954. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.h +27 -0
  955. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.cpp +78 -0
  956. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.h +33 -0
  957. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.cpp +172 -0
  958. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.h +32 -0
  959. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.rc +23 -0
  960. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage2.rc +11 -0
  961. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPageRes.h +12 -0
  962. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  963. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  964. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.cpp +78 -0
  965. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.h +10 -0
  966. package/vendor/7zip/CPP/7zip/UI/FileManager/IFolder.h +187 -0
  967. package/vendor/7zip/CPP/7zip/UI/FileManager/Info.bmp +0 -0
  968. package/vendor/7zip/CPP/7zip/UI/FileManager/Info2.bmp +0 -0
  969. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.cpp +359 -0
  970. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.h +36 -0
  971. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.rc +40 -0
  972. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPageRes.h +9 -0
  973. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.cpp +333 -0
  974. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  975. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.cpp +402 -0
  976. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.h +34 -0
  977. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.rc +38 -0
  978. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialogRes.h +22 -0
  979. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.cpp +321 -0
  980. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.h +46 -0
  981. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.rc +14 -0
  982. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialogRes.h +2 -0
  983. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  984. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  985. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.rc +49 -0
  986. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  987. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.cpp +439 -0
  988. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.h +57 -0
  989. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.rc +24 -0
  990. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage2.rc +28 -0
  991. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPageRes.h +15 -0
  992. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.cpp +76 -0
  993. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.h +25 -0
  994. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.rc +14 -0
  995. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialogRes.h +3 -0
  996. package/vendor/7zip/CPP/7zip/UI/FileManager/Move.bmp +0 -0
  997. package/vendor/7zip/CPP/7zip/UI/FileManager/Move2.bmp +0 -0
  998. package/vendor/7zip/CPP/7zip/UI/FileManager/MyCom2.h +46 -0
  999. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.cpp +964 -0
  1000. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.h +40 -0
  1001. package/vendor/7zip/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  1002. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.cpp +276 -0
  1003. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.h +36 -0
  1004. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.cpp +86 -0
  1005. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.h +69 -0
  1006. package/vendor/7zip/CPP/7zip/UI/FileManager/OptionsDialog.cpp +89 -0
  1007. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  1008. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  1009. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  1010. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  1011. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.cpp +1177 -0
  1012. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.h +1020 -0
  1013. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCopy.cpp +477 -0
  1014. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCrc.cpp +422 -0
  1015. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelDrag.cpp +3006 -0
  1016. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelFolderChange.cpp +1122 -0
  1017. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItemOpen.cpp +1836 -0
  1018. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItems.cpp +1476 -0
  1019. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelKey.cpp +357 -0
  1020. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelListNotify.cpp +838 -0
  1021. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelMenu.cpp +1160 -0
  1022. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelOperations.cpp +533 -0
  1023. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSelect.cpp +317 -0
  1024. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSort.cpp +288 -0
  1025. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSplitFile.cpp +562 -0
  1026. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  1027. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  1028. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  1029. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  1030. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginInterface.h +32 -0
  1031. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginLoader.h +33 -0
  1032. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.cpp +3 -0
  1033. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.h +6 -0
  1034. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  1035. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  1036. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  1037. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1484 -0
  1038. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  1039. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  1040. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  1041. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  1042. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  1043. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  1044. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  1045. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.rc +109 -0
  1046. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  1047. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.cpp +167 -0
  1048. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.h +31 -0
  1049. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.cpp +145 -0
  1050. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.h +29 -0
  1051. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.cpp +194 -0
  1052. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.h +50 -0
  1053. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.cpp +342 -0
  1054. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.h +24 -0
  1055. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.cpp +453 -0
  1056. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.h +37 -0
  1057. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.rc +22 -0
  1058. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage2.rc +37 -0
  1059. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPageRes.h +23 -0
  1060. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.cpp +114 -0
  1061. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.h +28 -0
  1062. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.rc +16 -0
  1063. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialogRes.h +8 -0
  1064. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.cpp +96 -0
  1065. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.h +15 -0
  1066. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.cpp +3 -0
  1067. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  1068. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.cpp +39 -0
  1069. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.h +11 -0
  1070. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.cpp +352 -0
  1071. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  1072. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.cpp +472 -0
  1073. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.h +126 -0
  1074. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.rc +43 -0
  1075. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPageRes.h +9 -0
  1076. package/vendor/7zip/CPP/7zip/UI/FileManager/Test.bmp +0 -0
  1077. package/vendor/7zip/CPP/7zip/UI/FileManager/Test2.bmp +0 -0
  1078. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.cpp +193 -0
  1079. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.h +32 -0
  1080. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.cpp +147 -0
  1081. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.h +49 -0
  1082. package/vendor/7zip/CPP/7zip/UI/FileManager/VerCtrl.cpp +428 -0
  1083. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.cpp +315 -0
  1084. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.h +115 -0
  1085. package/vendor/7zip/CPP/7zip/UI/FileManager/makefile +110 -0
  1086. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.h +199 -0
  1087. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.rc +296 -0
  1088. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  1089. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.rc +30 -0
  1090. package/vendor/7zip/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  1091. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.cpp +1921 -0
  1092. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.h +15 -0
  1093. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.rc +288 -0
  1094. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialogRes.h +79 -0
  1095. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.cpp +3821 -0
  1096. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.h +483 -0
  1097. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.rc +233 -0
  1098. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialogRes.h +125 -0
  1099. package/vendor/7zip/CPP/7zip/UI/GUI/CompressOptionsDialog.rc +79 -0
  1100. package/vendor/7zip/CPP/7zip/UI/GUI/Extract.rc +59 -0
  1101. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.cpp +420 -0
  1102. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  1103. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  1104. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  1105. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  1106. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  1107. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  1108. package/vendor/7zip/CPP/7zip/UI/GUI/FM.ico +0 -0
  1109. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.cpp +502 -0
  1110. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsp +1275 -0
  1111. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsw +29 -0
  1112. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.cpp +341 -0
  1113. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  1114. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.cpp +3 -0
  1115. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.h +6 -0
  1116. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.cpp +295 -0
  1117. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.h +31 -0
  1118. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.cpp +130 -0
  1119. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.h +53 -0
  1120. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.cpp +605 -0
  1121. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.h +33 -0
  1122. package/vendor/7zip/CPP/7zip/UI/GUI/makefile +148 -0
  1123. package/vendor/7zip/CPP/7zip/UI/GUI/resource.rc +26 -0
  1124. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.h +2 -0
  1125. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.rc +10 -0
  1126. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.h +10 -0
  1127. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.rc +15 -0
  1128. package/vendor/7zip/CPP/7zip/UI/makefile +12 -0
  1129. package/vendor/7zip/CPP/7zip/cmpl_clang.mak +3 -0
  1130. package/vendor/7zip/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  1131. package/vendor/7zip/CPP/7zip/cmpl_clang_x64.mak +3 -0
  1132. package/vendor/7zip/CPP/7zip/cmpl_clang_x86.mak +3 -0
  1133. package/vendor/7zip/CPP/7zip/cmpl_gcc.mak +3 -0
  1134. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm.mak +3 -0
  1135. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  1136. package/vendor/7zip/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  1137. package/vendor/7zip/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  1138. package/vendor/7zip/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  1139. package/vendor/7zip/CPP/7zip/cmpl_mac_x64.mak +3 -0
  1140. package/vendor/7zip/CPP/7zip/makefile +10 -0
  1141. package/vendor/7zip/CPP/7zip/var_clang.mak +11 -0
  1142. package/vendor/7zip/CPP/7zip/var_clang_arm64.mak +19 -0
  1143. package/vendor/7zip/CPP/7zip/var_clang_x64.mak +11 -0
  1144. package/vendor/7zip/CPP/7zip/var_clang_x86.mak +11 -0
  1145. package/vendor/7zip/CPP/7zip/var_gcc.mak +12 -0
  1146. package/vendor/7zip/CPP/7zip/var_gcc_arm.mak +34 -0
  1147. package/vendor/7zip/CPP/7zip/var_gcc_arm64.mak +12 -0
  1148. package/vendor/7zip/CPP/7zip/var_gcc_x64.mak +11 -0
  1149. package/vendor/7zip/CPP/7zip/var_gcc_x86.mak +10 -0
  1150. package/vendor/7zip/CPP/7zip/var_mac_arm64.mak +13 -0
  1151. package/vendor/7zip/CPP/7zip/var_mac_x64.mak +13 -0
  1152. package/vendor/7zip/CPP/7zip/warn_clang.mak +3 -0
  1153. package/vendor/7zip/CPP/7zip/warn_clang_mac.mak +9 -0
  1154. package/vendor/7zip/CPP/7zip/warn_gcc.mak +55 -0
  1155. package/vendor/7zip/CPP/Build.mak +259 -0
  1156. package/vendor/7zip/CPP/Common/AutoPtr.h +46 -0
  1157. package/vendor/7zip/CPP/Common/CRC.cpp +7 -0
  1158. package/vendor/7zip/CPP/Common/C_FileIO.cpp +3 -0
  1159. package/vendor/7zip/CPP/Common/C_FileIO.h +6 -0
  1160. package/vendor/7zip/CPP/Common/CksumReg.cpp +55 -0
  1161. package/vendor/7zip/CPP/Common/ComTry.h +21 -0
  1162. package/vendor/7zip/CPP/Common/CommandLineParser.cpp +231 -0
  1163. package/vendor/7zip/CPP/Common/CommandLineParser.h +63 -0
  1164. package/vendor/7zip/CPP/Common/Common.h +28 -0
  1165. package/vendor/7zip/CPP/Common/Common0.h +342 -0
  1166. package/vendor/7zip/CPP/Common/CrcReg.cpp +77 -0
  1167. package/vendor/7zip/CPP/Common/Defs.h +16 -0
  1168. package/vendor/7zip/CPP/Common/DynLimBuf.cpp +93 -0
  1169. package/vendor/7zip/CPP/Common/DynLimBuf.h +41 -0
  1170. package/vendor/7zip/CPP/Common/DynamicBuffer.h +76 -0
  1171. package/vendor/7zip/CPP/Common/IntToString.cpp +215 -0
  1172. package/vendor/7zip/CPP/Common/IntToString.h +54 -0
  1173. package/vendor/7zip/CPP/Common/Lang.cpp +173 -0
  1174. package/vendor/7zip/CPP/Common/Lang.h +30 -0
  1175. package/vendor/7zip/CPP/Common/ListFileUtils.cpp +150 -0
  1176. package/vendor/7zip/CPP/Common/ListFileUtils.h +18 -0
  1177. package/vendor/7zip/CPP/Common/LzFindPrepare.cpp +7 -0
  1178. package/vendor/7zip/CPP/Common/Md5Reg.cpp +44 -0
  1179. package/vendor/7zip/CPP/Common/MyBuffer.h +343 -0
  1180. package/vendor/7zip/CPP/Common/MyBuffer2.h +185 -0
  1181. package/vendor/7zip/CPP/Common/MyCom.h +693 -0
  1182. package/vendor/7zip/CPP/Common/MyException.h +14 -0
  1183. package/vendor/7zip/CPP/Common/MyGuidDef.h +63 -0
  1184. package/vendor/7zip/CPP/Common/MyInitGuid.h +57 -0
  1185. package/vendor/7zip/CPP/Common/MyLinux.h +75 -0
  1186. package/vendor/7zip/CPP/Common/MyMap.cpp +140 -0
  1187. package/vendor/7zip/CPP/Common/MyMap.h +28 -0
  1188. package/vendor/7zip/CPP/Common/MyString.cpp +1842 -0
  1189. package/vendor/7zip/CPP/Common/MyString.h +1079 -0
  1190. package/vendor/7zip/CPP/Common/MyTypes.h +38 -0
  1191. package/vendor/7zip/CPP/Common/MyUnknown.h +8 -0
  1192. package/vendor/7zip/CPP/Common/MyVector.cpp +3 -0
  1193. package/vendor/7zip/CPP/Common/MyVector.h +772 -0
  1194. package/vendor/7zip/CPP/Common/MyWindows.cpp +292 -0
  1195. package/vendor/7zip/CPP/Common/MyWindows.h +325 -0
  1196. package/vendor/7zip/CPP/Common/MyXml.cpp +349 -0
  1197. package/vendor/7zip/CPP/Common/MyXml.h +45 -0
  1198. package/vendor/7zip/CPP/Common/NewHandler.cpp +340 -0
  1199. package/vendor/7zip/CPP/Common/NewHandler.h +121 -0
  1200. package/vendor/7zip/CPP/Common/Random.cpp +28 -0
  1201. package/vendor/7zip/CPP/Common/Random.h +14 -0
  1202. package/vendor/7zip/CPP/Common/Sha1Prepare.cpp +7 -0
  1203. package/vendor/7zip/CPP/Common/Sha1Reg.cpp +67 -0
  1204. package/vendor/7zip/CPP/Common/Sha256Prepare.cpp +7 -0
  1205. package/vendor/7zip/CPP/Common/Sha256Reg.cpp +67 -0
  1206. package/vendor/7zip/CPP/Common/Sha3Reg.cpp +76 -0
  1207. package/vendor/7zip/CPP/Common/Sha512Prepare.cpp +7 -0
  1208. package/vendor/7zip/CPP/Common/Sha512Reg.cpp +83 -0
  1209. package/vendor/7zip/CPP/Common/StdAfx.h +8 -0
  1210. package/vendor/7zip/CPP/Common/StdInStream.cpp +98 -0
  1211. package/vendor/7zip/CPP/Common/StdInStream.h +46 -0
  1212. package/vendor/7zip/CPP/Common/StdOutStream.cpp +271 -0
  1213. package/vendor/7zip/CPP/Common/StdOutStream.h +87 -0
  1214. package/vendor/7zip/CPP/Common/StringConvert.cpp +762 -0
  1215. package/vendor/7zip/CPP/Common/StringConvert.h +110 -0
  1216. package/vendor/7zip/CPP/Common/StringToInt.cpp +154 -0
  1217. package/vendor/7zip/CPP/Common/StringToInt.h +38 -0
  1218. package/vendor/7zip/CPP/Common/TextConfig.cpp +123 -0
  1219. package/vendor/7zip/CPP/Common/TextConfig.h +19 -0
  1220. package/vendor/7zip/CPP/Common/UTFConvert.cpp +863 -0
  1221. package/vendor/7zip/CPP/Common/UTFConvert.h +384 -0
  1222. package/vendor/7zip/CPP/Common/Wildcard.cpp +789 -0
  1223. package/vendor/7zip/CPP/Common/Wildcard.h +231 -0
  1224. package/vendor/7zip/CPP/Common/Xxh64Reg.cpp +97 -0
  1225. package/vendor/7zip/CPP/Common/XzCrc64Init.cpp +7 -0
  1226. package/vendor/7zip/CPP/Common/XzCrc64Reg.cpp +39 -0
  1227. package/vendor/7zip/CPP/Windows/COM.cpp +41 -0
  1228. package/vendor/7zip/CPP/Windows/COM.h +86 -0
  1229. package/vendor/7zip/CPP/Windows/Clipboard.cpp +130 -0
  1230. package/vendor/7zip/CPP/Windows/Clipboard.h +28 -0
  1231. package/vendor/7zip/CPP/Windows/CommonDialog.cpp +269 -0
  1232. package/vendor/7zip/CPP/Windows/CommonDialog.h +43 -0
  1233. package/vendor/7zip/CPP/Windows/Console.cpp +10 -0
  1234. package/vendor/7zip/CPP/Windows/Console.h +52 -0
  1235. package/vendor/7zip/CPP/Windows/Control/ComboBox.cpp +75 -0
  1236. package/vendor/7zip/CPP/Windows/Control/ComboBox.h +79 -0
  1237. package/vendor/7zip/CPP/Windows/Control/CommandBar.h +52 -0
  1238. package/vendor/7zip/CPP/Windows/Control/Dialog.cpp +446 -0
  1239. package/vendor/7zip/CPP/Windows/Control/Dialog.h +213 -0
  1240. package/vendor/7zip/CPP/Windows/Control/Edit.h +19 -0
  1241. package/vendor/7zip/CPP/Windows/Control/ImageList.cpp +10 -0
  1242. package/vendor/7zip/CPP/Windows/Control/ImageList.h +87 -0
  1243. package/vendor/7zip/CPP/Windows/Control/ListView.cpp +162 -0
  1244. package/vendor/7zip/CPP/Windows/Control/ListView.h +156 -0
  1245. package/vendor/7zip/CPP/Windows/Control/ProgressBar.h +35 -0
  1246. package/vendor/7zip/CPP/Windows/Control/PropertyPage.cpp +165 -0
  1247. package/vendor/7zip/CPP/Windows/Control/PropertyPage.h +50 -0
  1248. package/vendor/7zip/CPP/Windows/Control/ReBar.h +34 -0
  1249. package/vendor/7zip/CPP/Windows/Control/Static.h +28 -0
  1250. package/vendor/7zip/CPP/Windows/Control/StatusBar.h +42 -0
  1251. package/vendor/7zip/CPP/Windows/Control/StdAfx.h +11 -0
  1252. package/vendor/7zip/CPP/Windows/Control/ToolBar.h +43 -0
  1253. package/vendor/7zip/CPP/Windows/Control/Trackbar.h +27 -0
  1254. package/vendor/7zip/CPP/Windows/Control/Window2.cpp +202 -0
  1255. package/vendor/7zip/CPP/Windows/Control/Window2.h +53 -0
  1256. package/vendor/7zip/CPP/Windows/DLL.cpp +178 -0
  1257. package/vendor/7zip/CPP/Windows/DLL.h +103 -0
  1258. package/vendor/7zip/CPP/Windows/ErrorMsg.cpp +133 -0
  1259. package/vendor/7zip/CPP/Windows/ErrorMsg.h +16 -0
  1260. package/vendor/7zip/CPP/Windows/FileDir.cpp +1388 -0
  1261. package/vendor/7zip/CPP/Windows/FileDir.h +173 -0
  1262. package/vendor/7zip/CPP/Windows/FileFind.cpp +1458 -0
  1263. package/vendor/7zip/CPP/Windows/FileFind.h +345 -0
  1264. package/vendor/7zip/CPP/Windows/FileIO.cpp +1188 -0
  1265. package/vendor/7zip/CPP/Windows/FileIO.h +508 -0
  1266. package/vendor/7zip/CPP/Windows/FileLink.cpp +697 -0
  1267. package/vendor/7zip/CPP/Windows/FileMapping.cpp +12 -0
  1268. package/vendor/7zip/CPP/Windows/FileMapping.h +66 -0
  1269. package/vendor/7zip/CPP/Windows/FileName.cpp +911 -0
  1270. package/vendor/7zip/CPP/Windows/FileName.h +142 -0
  1271. package/vendor/7zip/CPP/Windows/FileSystem.cpp +187 -0
  1272. package/vendor/7zip/CPP/Windows/FileSystem.h +31 -0
  1273. package/vendor/7zip/CPP/Windows/Handle.h +39 -0
  1274. package/vendor/7zip/CPP/Windows/MemoryGlobal.cpp +36 -0
  1275. package/vendor/7zip/CPP/Windows/MemoryGlobal.h +55 -0
  1276. package/vendor/7zip/CPP/Windows/MemoryLock.cpp +127 -0
  1277. package/vendor/7zip/CPP/Windows/MemoryLock.h +40 -0
  1278. package/vendor/7zip/CPP/Windows/Menu.cpp +265 -0
  1279. package/vendor/7zip/CPP/Windows/Menu.h +170 -0
  1280. package/vendor/7zip/CPP/Windows/NationalTime.cpp +37 -0
  1281. package/vendor/7zip/CPP/Windows/NationalTime.h +20 -0
  1282. package/vendor/7zip/CPP/Windows/Net.cpp +398 -0
  1283. package/vendor/7zip/CPP/Windows/Net.h +87 -0
  1284. package/vendor/7zip/CPP/Windows/NtCheck.h +58 -0
  1285. package/vendor/7zip/CPP/Windows/ProcessMessages.cpp +22 -0
  1286. package/vendor/7zip/CPP/Windows/ProcessMessages.h +12 -0
  1287. package/vendor/7zip/CPP/Windows/ProcessUtils.cpp +102 -0
  1288. package/vendor/7zip/CPP/Windows/ProcessUtils.h +138 -0
  1289. package/vendor/7zip/CPP/Windows/PropVariant.cpp +393 -0
  1290. package/vendor/7zip/CPP/Windows/PropVariant.h +173 -0
  1291. package/vendor/7zip/CPP/Windows/PropVariantConv.cpp +274 -0
  1292. package/vendor/7zip/CPP/Windows/PropVariantConv.h +47 -0
  1293. package/vendor/7zip/CPP/Windows/PropVariantUtils.cpp +161 -0
  1294. package/vendor/7zip/CPP/Windows/PropVariantUtils.h +34 -0
  1295. package/vendor/7zip/CPP/Windows/Registry.cpp +474 -0
  1296. package/vendor/7zip/CPP/Windows/Registry.h +96 -0
  1297. package/vendor/7zip/CPP/Windows/ResourceString.cpp +103 -0
  1298. package/vendor/7zip/CPP/Windows/ResourceString.h +17 -0
  1299. package/vendor/7zip/CPP/Windows/SecurityUtils.cpp +186 -0
  1300. package/vendor/7zip/CPP/Windows/SecurityUtils.h +154 -0
  1301. package/vendor/7zip/CPP/Windows/Shell.cpp +839 -0
  1302. package/vendor/7zip/CPP/Windows/Shell.h +129 -0
  1303. package/vendor/7zip/CPP/Windows/StdAfx.h +11 -0
  1304. package/vendor/7zip/CPP/Windows/Synchronization.cpp +87 -0
  1305. package/vendor/7zip/CPP/Windows/Synchronization.h +386 -0
  1306. package/vendor/7zip/CPP/Windows/System.cpp +423 -0
  1307. package/vendor/7zip/CPP/Windows/System.h +209 -0
  1308. package/vendor/7zip/CPP/Windows/SystemInfo.cpp +1312 -0
  1309. package/vendor/7zip/CPP/Windows/SystemInfo.h +19 -0
  1310. package/vendor/7zip/CPP/Windows/Thread.h +46 -0
  1311. package/vendor/7zip/CPP/Windows/TimeUtils.cpp +467 -0
  1312. package/vendor/7zip/CPP/Windows/TimeUtils.h +154 -0
  1313. package/vendor/7zip/CPP/Windows/WinDefs.h +17 -0
  1314. package/vendor/7zip/CPP/Windows/Window.cpp +179 -0
  1315. package/vendor/7zip/CPP/Windows/Window.h +363 -0
  1316. package/vendor/7zip/DOC/7zC.txt +187 -0
  1317. package/vendor/7zip/DOC/7zFormat.txt +469 -0
  1318. package/vendor/7zip/DOC/7zip.hhp +84 -0
  1319. package/vendor/7zip/DOC/7zip.wxs +403 -0
  1320. package/vendor/7zip/DOC/License.txt +151 -0
  1321. package/vendor/7zip/DOC/Methods.txt +177 -0
  1322. package/vendor/7zip/DOC/copying.txt +502 -0
  1323. package/vendor/7zip/DOC/lzma.txt +345 -0
  1324. package/vendor/7zip/DOC/readme.txt +299 -0
  1325. package/vendor/7zip/DOC/src-history.txt +884 -0
  1326. package/vendor/7zip/DOC/unRarLicense.txt +41 -0
  1327. package/vendor/7zip/README.md +2 -0
@@ -0,0 +1,1921 @@
1
+ // BenchmarkDialog.cpp
2
+
3
+ #include "StdAfx.h"
4
+
5
+ #include "../../../../C/CpuArch.h"
6
+
7
+ #include "../../../Common/Defs.h"
8
+ #include "../../../Common/IntToString.h"
9
+ #include "../../../Common/MyException.h"
10
+ #include "../../../Common/StringConvert.h"
11
+ #include "../../../Common/StringToInt.h"
12
+
13
+ #include "../../../Windows/Synchronization.h"
14
+ #include "../../../Windows/System.h"
15
+ #include "../../../Windows/Thread.h"
16
+ #include "../../../Windows/SystemInfo.h"
17
+
18
+ #include "../../../Windows/Control/ComboBox.h"
19
+ #include "../../../Windows/Control/Edit.h"
20
+
21
+ #include "../../Common/MethodProps.h"
22
+
23
+ #include "../FileManager/DialogSize.h"
24
+ #include "../FileManager/HelpUtils.h"
25
+ #include "../FileManager/LangUtils.h"
26
+ #include "../FileManager/resourceGui.h"
27
+
28
+ #include "../../MyVersion.h"
29
+
30
+ #include "../Common/Bench.h"
31
+
32
+ #include "BenchmarkDialogRes.h"
33
+ #include "BenchmarkDialog.h"
34
+
35
+ using namespace NWindows;
36
+
37
+ #define kHelpTopic "fm/benchmark.htm"
38
+
39
+ static const UINT_PTR kTimerID = 4;
40
+ static const UINT kTimerElapse = 1000; // 1000
41
+
42
+ // use PRINT_ITER_TIME to show time of each iteration in log box
43
+ // #define PRINT_ITER_TIME
44
+
45
+ static const unsigned kRatingVector_NumBundlesMax = 20;
46
+
47
+ enum MyBenchMessages
48
+ {
49
+ k_Message_Finished = WM_APP + 1
50
+ };
51
+
52
+ enum My_Message_WPARAM
53
+ {
54
+ k_Msg_WPARM_Thread_Finished = 0,
55
+ k_Msg_WPARM_Iter_Finished,
56
+ k_Msg_WPARM_Enc1_Finished
57
+ };
58
+
59
+
60
+ struct CBenchPassResult
61
+ {
62
+ CTotalBenchRes Enc;
63
+ CTotalBenchRes Dec;
64
+ #ifdef PRINT_ITER_TIME
65
+ DWORD Ticks;
66
+ #endif
67
+ // CBenchInfo EncInfo; // for debug
68
+ // CBenchPassResult() {};
69
+ };
70
+
71
+
72
+ struct CTotalBenchRes2: public CTotalBenchRes
73
+ {
74
+ UInt64 UnpackSize;
75
+
76
+ void Init()
77
+ {
78
+ CTotalBenchRes::Init();
79
+ UnpackSize = 0;
80
+ }
81
+
82
+ void SetFrom_BenchInfo(const CBenchInfo &info)
83
+ {
84
+ NumIterations2 = 1;
85
+ Generate_From_BenchInfo(info);
86
+ UnpackSize = info.Get_UnpackSize_Full();
87
+ }
88
+
89
+ void Update_With_Res2(const CTotalBenchRes2 &r)
90
+ {
91
+ Update_With_Res(r);
92
+ UnpackSize += r.UnpackSize;
93
+ }
94
+ };
95
+
96
+
97
+ struct CSyncData
98
+ {
99
+ UInt32 NumPasses_Finished;
100
+ #ifdef PRINT_ITER_TIME
101
+ DWORD TotalTicks;
102
+ #endif
103
+ int RatingVector_DeletedIndex;
104
+ // UInt64 RatingVector_NumDeleted;
105
+
106
+ bool BenchWasFinished; // all passes were finished
107
+ bool NeedPrint_Freq;
108
+ bool NeedPrint_RatingVector;
109
+ bool NeedPrint_Enc_1;
110
+ bool NeedPrint_Enc;
111
+ bool NeedPrint_Dec_1;
112
+ bool NeedPrint_Dec;
113
+ bool NeedPrint_Tot; // intermediate Total was updated after current pass
114
+
115
+ // UInt64 NumEncProgress; // for debug
116
+ // UInt64 NumDecProgress; // for debug
117
+ // CBenchInfo EncInfo; // for debug
118
+
119
+ CTotalBenchRes2 Enc_BenchRes_1;
120
+ CTotalBenchRes2 Enc_BenchRes;
121
+
122
+ CTotalBenchRes2 Dec_BenchRes_1;
123
+ CTotalBenchRes2 Dec_BenchRes;
124
+
125
+ void Init();
126
+ };
127
+
128
+
129
+ void CSyncData::Init()
130
+ {
131
+ NumPasses_Finished = 0;
132
+
133
+ // NumEncProgress = 0;
134
+ // NumDecProgress = 0;
135
+
136
+ Enc_BenchRes.Init();
137
+ Enc_BenchRes_1.Init();
138
+ Dec_BenchRes.Init();
139
+ Dec_BenchRes_1.Init();
140
+
141
+ #ifdef PRINT_ITER_TIME
142
+ TotalTicks = 0;
143
+ #endif
144
+
145
+ RatingVector_DeletedIndex = -1;
146
+ // RatingVector_NumDeleted = 0;
147
+
148
+ BenchWasFinished =
149
+ NeedPrint_Freq =
150
+ NeedPrint_RatingVector =
151
+ NeedPrint_Enc_1 =
152
+ NeedPrint_Enc =
153
+ NeedPrint_Dec_1 =
154
+ NeedPrint_Dec =
155
+ NeedPrint_Tot = false;
156
+ }
157
+
158
+
159
+ struct CBenchProgressSync
160
+ {
161
+ bool Exit; // GUI asks BenchThread to Exit, and BenchThread reads that variable
162
+ bool TextWasChanged;
163
+
164
+ UInt32 NumThreads;
165
+ UInt64 DictSize;
166
+ UInt32 NumPasses_Limit;
167
+ int Level;
168
+
169
+ AString Text;
170
+
171
+ /* BenchFinish_Task_HRESULT - for result from benchmark code
172
+ BenchFinish_Thread_HRESULT - for Exceptions and service errors
173
+ these arreos must be shown even if user escapes benchmark */
174
+ HRESULT BenchFinish_Task_HRESULT;
175
+ HRESULT BenchFinish_Thread_HRESULT;
176
+
177
+ UInt32 NumFreqThreadsPrev;
178
+ UString FreqString_Sync;
179
+ UString FreqString_GUI;
180
+
181
+ // must be written by benchmark thread, read by GUI thread */
182
+ CRecordVector<CBenchPassResult> RatingVector;
183
+ CSyncData sd;
184
+
185
+ NWindows::NSynchronization::CCriticalSection CS;
186
+
187
+ CBenchProgressSync()
188
+ {
189
+ NumPasses_Limit = 1;
190
+ }
191
+
192
+ void Init();
193
+
194
+ void SendExit()
195
+ {
196
+ NWindows::NSynchronization::CCriticalSectionLock lock(CS);
197
+ Exit = true;
198
+ }
199
+ };
200
+
201
+
202
+ void CBenchProgressSync::Init()
203
+ {
204
+ Exit = false;
205
+
206
+ BenchFinish_Task_HRESULT = S_OK;
207
+ BenchFinish_Thread_HRESULT = S_OK;
208
+
209
+ sd.Init();
210
+ RatingVector.Clear();
211
+
212
+ NumFreqThreadsPrev = 0;
213
+ FreqString_Sync.Empty();
214
+ FreqString_GUI.Empty();
215
+
216
+ Text.Empty();
217
+ TextWasChanged = true;
218
+ }
219
+
220
+
221
+
222
+ struct CMyFont
223
+ {
224
+ HFONT _font;
225
+ CMyFont(): _font(NULL) {}
226
+ ~CMyFont()
227
+ {
228
+ if (_font)
229
+ DeleteObject(_font);
230
+ }
231
+ void Create(const LOGFONT *lplf)
232
+ {
233
+ _font = CreateFontIndirect(lplf);
234
+ }
235
+ };
236
+
237
+
238
+ class CBenchmarkDialog;
239
+
240
+ struct CThreadBenchmark
241
+ {
242
+ CBenchmarkDialog *BenchmarkDialog;
243
+ DECL_EXTERNAL_CODECS_LOC_VARS_DECL
244
+ // HRESULT Result;
245
+
246
+ HRESULT Process();
247
+ static THREAD_FUNC_DECL MyThreadFunction(void *param)
248
+ {
249
+ /* ((CThreadBenchmark *)param)->Result = */
250
+ ((CThreadBenchmark *)param)->Process();
251
+ return 0;
252
+ }
253
+ };
254
+
255
+
256
+ class CBenchmarkDialog:
257
+ public NWindows::NControl::CModalDialog
258
+ {
259
+ bool _finishTime_WasSet;
260
+
261
+ bool WasStopped_in_GUI;
262
+ bool ExitWasAsked_in_GUI;
263
+ bool NeedRestart;
264
+
265
+ bool RamSize_Defined;
266
+
267
+ public:
268
+ bool TotalMode;
269
+
270
+ private:
271
+
272
+ NWindows::NControl::CComboBox m_Dictionary;
273
+ NWindows::NControl::CComboBox m_NumThreads;
274
+ NWindows::NControl::CComboBox m_NumPasses;
275
+ NWindows::NControl::CEdit _consoleEdit;
276
+ UINT_PTR _timer;
277
+
278
+ UInt32 _startTime;
279
+ UInt32 _finishTime;
280
+
281
+ CMyFont _font;
282
+
283
+ size_t RamSize;
284
+ size_t RamSize_Limit;
285
+
286
+ UInt32 NumPasses_Finished_Prev;
287
+
288
+ UString ElapsedSec_Prev;
289
+
290
+ void InitSyncNew()
291
+ {
292
+ NumPasses_Finished_Prev = (UInt32)(Int32)-1;
293
+ ElapsedSec_Prev.Empty();
294
+ Sync.Init();
295
+ }
296
+
297
+ virtual bool OnInit() Z7_override;
298
+ virtual bool OnDestroy() Z7_override;
299
+ virtual bool OnSize(WPARAM /* wParam */, int xSize, int ySize) Z7_override;
300
+ virtual bool OnMessage(UINT message, WPARAM wParam, LPARAM lParam) Z7_override;
301
+ virtual bool OnCommand(unsigned code, unsigned itemID, LPARAM lParam) Z7_override;
302
+ virtual void OnHelp() Z7_override;
303
+ virtual void OnCancel() Z7_override;
304
+ virtual bool OnTimer(WPARAM timerID, LPARAM callback) Z7_override;
305
+ virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override;
306
+
307
+ void Disable_Stop_Button();
308
+ void OnStopButton();
309
+ void RestartBenchmark();
310
+ void StartBenchmark();
311
+
312
+ void UpdateGui();
313
+
314
+ void PrintTime();
315
+ void PrintRating(UInt64 rating, UINT controlID);
316
+ void PrintUsage(UInt64 usage, UINT controlID);
317
+ void PrintBenchRes(const CTotalBenchRes2 &info, const UINT ids[]);
318
+
319
+ UInt32 GetNumberOfThreads();
320
+ size_t OnChangeDictionary();
321
+
322
+ void SetItemText_Number(unsigned itemID, UInt64 val, LPCTSTR post = NULL);
323
+ void Print_MemUsage(UString &s, UInt64 memUsage) const;
324
+ bool IsMemoryUsageOK(UInt64 memUsage) const
325
+ { return memUsage + (1 << 20) <= RamSize_Limit; }
326
+
327
+ void MyKillTimer();
328
+
329
+ void SendExit_Status(const wchar_t *message)
330
+ {
331
+ SetItemText(IDT_BENCH_ERROR_MESSAGE, message);
332
+ Sync.SendExit();
333
+ }
334
+
335
+ public:
336
+ CBenchProgressSync Sync;
337
+
338
+ CObjectVector<CProperty> Props;
339
+
340
+ CSysString Bench2Text;
341
+
342
+ NWindows::CThread _thread;
343
+ CThreadBenchmark _threadBenchmark;
344
+
345
+ CBenchmarkDialog():
346
+ WasStopped_in_GUI(false),
347
+ ExitWasAsked_in_GUI(false),
348
+ NeedRestart(false),
349
+ TotalMode(false),
350
+ _timer(0)
351
+ {}
352
+
353
+ ~CBenchmarkDialog() Z7_DESTRUCTOR_override;
354
+
355
+ bool PostMsg_Finish(WPARAM wparam)
356
+ {
357
+ if ((HWND)*this)
358
+ return PostMsg(k_Message_Finished, wparam);
359
+ // the (HWND)*this is NULL only for some internal code failure
360
+ return true;
361
+ }
362
+
363
+ INT_PTR Create(HWND wndParent = NULL)
364
+ {
365
+ BIG_DIALOG_SIZE(332, 228);
366
+ return CModalDialog::Create(TotalMode ? IDD_BENCH_TOTAL : SIZED_DIALOG(IDD_BENCH), wndParent);
367
+ }
368
+ void MessageBoxError(LPCWSTR message)
369
+ {
370
+ MessageBoxW(*this, message, L"7-Zip", MB_ICONERROR);
371
+ }
372
+ void MessageBoxError_Status(LPCWSTR message)
373
+ {
374
+ UString s ("ERROR: ");
375
+ s += message;
376
+ MessageBoxError(s);
377
+ SetItemText(IDT_BENCH_ERROR_MESSAGE, s);
378
+ }
379
+ };
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+ UString HResultToMessage(HRESULT errorCode);
390
+
391
+ #ifdef Z7_LANG
392
+ static const UInt32 kLangIDs[] =
393
+ {
394
+ IDT_BENCH_DICTIONARY,
395
+ IDT_BENCH_MEMORY,
396
+ IDT_BENCH_NUM_THREADS,
397
+ IDT_BENCH_SIZE,
398
+ IDT_BENCH_RATING_LABEL,
399
+ IDT_BENCH_USAGE_LABEL,
400
+ IDT_BENCH_RPU_LABEL,
401
+ IDG_BENCH_COMPRESSING,
402
+ IDG_BENCH_DECOMPRESSING,
403
+ IDG_BENCH_TOTAL_RATING,
404
+ IDT_BENCH_CURRENT,
405
+ IDT_BENCH_RESULTING,
406
+ IDT_BENCH_ELAPSED,
407
+ IDT_BENCH_PASSES,
408
+ IDB_STOP,
409
+ IDB_RESTART
410
+ };
411
+
412
+ static const UInt32 kLangIDs_RemoveColon[] =
413
+ {
414
+ IDT_BENCH_SPEED
415
+ };
416
+
417
+ #endif
418
+
419
+ static LPCTSTR const kProcessingString = TEXT("...");
420
+ static LPCTSTR const kGB = TEXT(" GB");
421
+ static LPCTSTR const kMB = TEXT(" MB");
422
+ static LPCTSTR const kKB = TEXT(" KB");
423
+ // static LPCTSTR const kMIPS = TEXT(" MIPS");
424
+ static LPCTSTR const kKBs = TEXT(" KB/s");
425
+
426
+ static const unsigned kMinDicLogSize = 18;
427
+
428
+ static const UInt32 kMinDicSize = (UInt32)1 << kMinDicLogSize;
429
+ static const size_t kMaxDicSize = (size_t)1 << (22 + sizeof(size_t) / 4 * 5);
430
+ // static const size_t kMaxDicSize = (size_t)1 << 16;
431
+ /*
432
+ #ifdef MY_CPU_64BIT
433
+ (UInt32)(Int32)-1; // we can use it, if we want 4 GB buffer
434
+ // (UInt32)15 << 28;
435
+ #else
436
+ (UInt32)1 << 27;
437
+ #endif
438
+ */
439
+
440
+
441
+ static int ComboBox_Add_UInt32(NWindows::NControl::CComboBox &cb, UInt32 v)
442
+ {
443
+ WCHAR s[16];
444
+ ConvertUInt32ToString(v, s);
445
+ return (int)cb.AddString_SetItemData(s, (LPARAM)v);
446
+ }
447
+
448
+
449
+ bool CBenchmarkDialog::OnInit()
450
+ {
451
+ #ifdef Z7_LANG
452
+ LangSetWindowText(*this, IDD_BENCH);
453
+ LangSetDlgItems(*this, kLangIDs, Z7_ARRAY_SIZE(kLangIDs));
454
+ LangSetDlgItems_RemoveColon(*this, kLangIDs_RemoveColon, Z7_ARRAY_SIZE(kLangIDs_RemoveColon));
455
+ LangSetDlgItemText(*this, IDT_BENCH_CURRENT2, IDT_BENCH_CURRENT);
456
+ LangSetDlgItemText(*this, IDT_BENCH_RESULTING2, IDT_BENCH_RESULTING);
457
+ #endif
458
+
459
+ InitSyncNew();
460
+
461
+ if (TotalMode)
462
+ {
463
+ _consoleEdit.Attach(GetItem(IDE_BENCH2_EDIT));
464
+ LOGFONT f;
465
+ memset(&f, 0, sizeof(f));
466
+ f.lfHeight = 14;
467
+ f.lfWidth = 0;
468
+ f.lfWeight = FW_DONTCARE;
469
+ f.lfCharSet = DEFAULT_CHARSET;
470
+ f.lfOutPrecision = OUT_DEFAULT_PRECIS;
471
+ f.lfClipPrecision = CLIP_DEFAULT_PRECIS;
472
+ f.lfQuality = DEFAULT_QUALITY;
473
+
474
+ f.lfPitchAndFamily = FIXED_PITCH;
475
+ // MyStringCopy(f.lfFaceName, TEXT(""));
476
+ // f.lfFaceName[0] = 0;
477
+ _font.Create(&f);
478
+ if (_font._font)
479
+ _consoleEdit.SendMsg(WM_SETFONT, (WPARAM)_font._font, TRUE);
480
+ }
481
+
482
+ UInt32 numCPUs = 1; // process threads
483
+ UInt32 numCPUs_Sys = 1; // system threads
484
+
485
+ {
486
+ NSystem::CProcessAffinity threadsInfo;
487
+ threadsInfo.InitST();
488
+ #ifndef Z7_ST
489
+ threadsInfo.Get_and_return_NumProcessThreads_and_SysThreads(numCPUs, numCPUs_Sys);
490
+ #endif
491
+
492
+ AString s ("/ ");
493
+ s.Add_UInt32(numCPUs);
494
+ s += GetProcessThreadsInfo(threadsInfo);
495
+ SetItemTextA(IDT_BENCH_HARDWARE_THREADS, s);
496
+
497
+ {
498
+ AString s2;
499
+ GetSysInfo(s, s2);
500
+ SetItemTextA(IDT_BENCH_SYS1, s);
501
+ if (s != s2 && !s2.IsEmpty())
502
+ SetItemTextA(IDT_BENCH_SYS2, s2);
503
+
504
+ GetCpuName_MultiLine(s, s2); // s2==registers
505
+ SetItemTextA(IDT_BENCH_CPU, s);
506
+ }
507
+ {
508
+ GetOsInfoText(s);
509
+ s += " : ";
510
+ AddCpuFeatures(s);
511
+ SetItemTextA(IDT_BENCH_CPU_FEATURE, s);
512
+ }
513
+
514
+ s = "7-Zip " MY_VERSION_CPU;
515
+ SetItemTextA(IDT_BENCH_VER, s);
516
+ }
517
+
518
+
519
+ // ----- Num Threads ----------
520
+
521
+ UInt32 numThreads = Sync.NumThreads;
522
+ if (numThreads == (UInt32)(Int32)-1)
523
+ numThreads = numCPUs;
524
+ numThreads &= ~(UInt32)1;
525
+ if (numThreads == 0)
526
+ numThreads = 1;
527
+ numThreads = MyMin(numThreads, (UInt32)(1u << 14));
528
+
529
+ m_NumThreads.Attach(GetItem(IDC_BENCH_NUM_THREADS));
530
+ if (numCPUs_Sys == 0)
531
+ numCPUs_Sys = 1;
532
+ const UInt32 numTheads_Combo = numCPUs_Sys * 2;
533
+ UInt32 v = 1;
534
+ int cur = 0;
535
+ for (; v <= numTheads_Combo;)
536
+ {
537
+ int index = ComboBox_Add_UInt32(m_NumThreads, v);
538
+ const UInt32 vNext = v + (v < 2 ? 1 : 2);
539
+ if (v <= numThreads)
540
+ if (numThreads < vNext || vNext > numTheads_Combo)
541
+ {
542
+ if (v != numThreads)
543
+ index = ComboBox_Add_UInt32(m_NumThreads, numThreads);
544
+ cur = index;
545
+ }
546
+ v = vNext;
547
+ }
548
+ m_NumThreads.SetCurSel(cur);
549
+ Sync.NumThreads = GetNumberOfThreads();
550
+
551
+
552
+ // ----- Dictionary ----------
553
+
554
+ m_Dictionary.Attach(GetItem(IDC_BENCH_DICTIONARY));
555
+
556
+ RamSize = (UInt64)(sizeof(size_t)) << 29;
557
+ RamSize_Defined = NSystem::GetRamSize(RamSize);
558
+
559
+
560
+ #ifdef UNDER_CE
561
+ const UInt32 kNormalizedCeSize = (16 << 20);
562
+ if (RamSize > kNormalizedCeSize && RamSize < (33 << 20))
563
+ RamSize = kNormalizedCeSize;
564
+ #endif
565
+ RamSize_Limit = RamSize / 16 * 15;
566
+
567
+ if (Sync.DictSize == (UInt64)(Int64)-1)
568
+ {
569
+ unsigned dicSizeLog = 25;
570
+ #ifdef UNDER_CE
571
+ dicSizeLog = 20;
572
+ #endif
573
+ if (RamSize_Defined)
574
+ for (; dicSizeLog > kBenchMinDicLogSize; dicSizeLog--)
575
+ if (IsMemoryUsageOK(GetBenchMemoryUsage(
576
+ Sync.NumThreads, Sync.Level, (UInt64)1 << dicSizeLog, TotalMode)))
577
+ break;
578
+ Sync.DictSize = (UInt64)1 << dicSizeLog;
579
+ }
580
+
581
+ if (Sync.DictSize < kMinDicSize) Sync.DictSize = kMinDicSize;
582
+ if (Sync.DictSize > kMaxDicSize) Sync.DictSize = kMaxDicSize;
583
+
584
+ cur = 0;
585
+ for (unsigned i = (kMinDicLogSize - 1) * 2; i <= (32 - 1) * 2; i++)
586
+ {
587
+ const size_t dict = (size_t)(2 + (i & 1)) << (i / 2);
588
+ // if (i == (32 - 1) * 2) dict = kMaxDicSize;
589
+ TCHAR s[32];
590
+ const TCHAR *post;
591
+ UInt32 d;
592
+ if (dict >= ((UInt32)1 << 31)) { d = (UInt32)(dict >> 30); post = kGB; }
593
+ else if (dict >= ((UInt32)1 << 21)) { d = (UInt32)(dict >> 20); post = kMB; }
594
+ else { d = (UInt32)(dict >> 10); post = kKB; }
595
+ ConvertUInt32ToString(d, s);
596
+ lstrcat(s, post);
597
+ const int index = (int)m_Dictionary.AddString(s);
598
+ m_Dictionary.SetItemData(index, (LPARAM)dict);
599
+ if (dict <= Sync.DictSize)
600
+ cur = index;
601
+ if (dict >= kMaxDicSize)
602
+ break;
603
+ }
604
+ m_Dictionary.SetCurSel(cur);
605
+
606
+
607
+ // ----- Num Passes ----------
608
+
609
+ m_NumPasses.Attach(GetItem(IDC_BENCH_NUM_PASSES));
610
+ cur = 0;
611
+ v = 1;
612
+ for (;;)
613
+ {
614
+ int index = ComboBox_Add_UInt32(m_NumPasses, v);
615
+ const bool isLast = (v >= 10000000);
616
+ UInt32 vNext = v * 10;
617
+ if (v < 2) vNext = 2;
618
+ else if (v < 5) vNext = 5;
619
+ else if (v < 10) vNext = 10;
620
+
621
+ if (v <= Sync.NumPasses_Limit)
622
+ if (isLast || Sync.NumPasses_Limit < vNext)
623
+ {
624
+ if (v != Sync.NumPasses_Limit)
625
+ index = ComboBox_Add_UInt32(m_NumPasses, Sync.NumPasses_Limit);
626
+ cur = index;
627
+ }
628
+ v = vNext;
629
+ if (isLast)
630
+ break;
631
+ }
632
+ m_NumPasses.SetCurSel(cur);
633
+
634
+ if (TotalMode)
635
+ NormalizeSize(true);
636
+ else
637
+ NormalizePosition();
638
+
639
+ RestartBenchmark();
640
+
641
+ return CModalDialog::OnInit();
642
+ }
643
+
644
+
645
+ bool CBenchmarkDialog::OnSize(WPARAM /* wParam */, int xSize, int ySize)
646
+ {
647
+ int mx, my;
648
+ GetMargins(8, mx, my);
649
+
650
+ if (!TotalMode)
651
+ {
652
+ RECT rect;
653
+ GetClientRectOfItem(IDT_BENCH_LOG, rect);
654
+ int x = xSize - rect.left - mx;
655
+ int y = ySize - rect.top - my;
656
+ if (x < 0) x = 0;
657
+ if (y < 0) y = 0;
658
+ MoveItem(IDT_BENCH_LOG, rect.left, rect.top, x, y, true);
659
+ return false;
660
+ }
661
+
662
+ int bx1, bx2, by;
663
+
664
+ GetItemSizes(IDCANCEL, bx1, by);
665
+ GetItemSizes(IDHELP, bx2, by);
666
+
667
+ {
668
+ int y = ySize - my - by;
669
+ int x = xSize - mx - bx1;
670
+
671
+ InvalidateRect(NULL);
672
+
673
+ MoveItem(IDCANCEL, x, y, bx1, by);
674
+ MoveItem(IDHELP, x - mx - bx2, y, bx2, by);
675
+ }
676
+
677
+ if (_consoleEdit)
678
+ {
679
+ int yPos = ySize - my - by;
680
+ RECT rect;
681
+ GetClientRectOfItem(IDE_BENCH2_EDIT, rect);
682
+ int y = rect.top;
683
+ int ySize2 = yPos - my - y;
684
+ const int kMinYSize = 20;
685
+ int xx = xSize - mx * 2;
686
+ if (ySize2 < kMinYSize)
687
+ {
688
+ ySize2 = kMinYSize;
689
+ }
690
+ _consoleEdit.Move(mx, y, xx, ySize2);
691
+ }
692
+ return false;
693
+ }
694
+
695
+
696
+ UInt32 CBenchmarkDialog::GetNumberOfThreads()
697
+ {
698
+ return (UInt32)m_NumThreads.GetItemData_of_CurSel();
699
+ }
700
+
701
+
702
+ #define UINT_TO_STR_3(s, val) { \
703
+ s[0] = (wchar_t)('0' + (val) / 100); \
704
+ s[1] = (wchar_t)('0' + (val) % 100 / 10); \
705
+ s[2] = (wchar_t)('0' + (val) % 10); \
706
+ s += 3; s[0] = 0; }
707
+
708
+ static WCHAR *NumberToDot3(UInt64 val, WCHAR *s Z7_lifetimebound)
709
+ {
710
+ s = ConvertUInt64ToString(val / 1000, s);
711
+ const UInt32 rem = (UInt32)(val % 1000);
712
+ *s++ = '.';
713
+ UINT_TO_STR_3(s, rem)
714
+ return s;
715
+ }
716
+
717
+ void CBenchmarkDialog::SetItemText_Number(unsigned itemID, UInt64 val, LPCTSTR post)
718
+ {
719
+ TCHAR s[64];
720
+ ConvertUInt64ToString(val, s);
721
+ if (post)
722
+ lstrcat(s, post);
723
+ SetItemText(itemID, s);
724
+ }
725
+
726
+ static void AddSize_MB(UString &s, UInt64 size)
727
+ {
728
+ s.Add_UInt64((size + (1 << 20) - 1) >> 20);
729
+ s += kMB;
730
+ }
731
+
732
+ void CBenchmarkDialog::Print_MemUsage(UString &s, UInt64 memUsage) const
733
+ {
734
+ AddSize_MB(s, memUsage);
735
+ if (RamSize_Defined)
736
+ {
737
+ s += " / ";
738
+ AddSize_MB(s, RamSize);
739
+ }
740
+ }
741
+
742
+ size_t CBenchmarkDialog::OnChangeDictionary()
743
+ {
744
+ const size_t dict = (size_t)m_Dictionary.GetItemData_of_CurSel();
745
+ const UInt64 memUsage = GetBenchMemoryUsage(GetNumberOfThreads(),
746
+ Sync.Level,
747
+ dict,
748
+ false); // totalBench mode
749
+
750
+ UString s;
751
+ Print_MemUsage(s, memUsage);
752
+
753
+ #ifdef Z7_LARGE_PAGES
754
+ {
755
+ AString s2;
756
+ Add_LargePages_String(s2);
757
+ if (!s2.IsEmpty())
758
+ {
759
+ s.Add_Space();
760
+ s += s2;
761
+ }
762
+ }
763
+ #endif
764
+
765
+ SetItemText(IDT_BENCH_MEMORY_VAL, s);
766
+
767
+ return dict;
768
+ }
769
+
770
+
771
+ static const UInt32 g_IDs[] =
772
+ {
773
+ IDT_BENCH_COMPRESS_SIZE1,
774
+ IDT_BENCH_COMPRESS_SIZE2,
775
+ IDT_BENCH_COMPRESS_USAGE1,
776
+ IDT_BENCH_COMPRESS_USAGE2,
777
+ IDT_BENCH_COMPRESS_SPEED1,
778
+ IDT_BENCH_COMPRESS_SPEED2,
779
+ IDT_BENCH_COMPRESS_RATING1,
780
+ IDT_BENCH_COMPRESS_RATING2,
781
+ IDT_BENCH_COMPRESS_RPU1,
782
+ IDT_BENCH_COMPRESS_RPU2,
783
+
784
+ IDT_BENCH_DECOMPR_SIZE1,
785
+ IDT_BENCH_DECOMPR_SIZE2,
786
+ IDT_BENCH_DECOMPR_SPEED1,
787
+ IDT_BENCH_DECOMPR_SPEED2,
788
+ IDT_BENCH_DECOMPR_RATING1,
789
+ IDT_BENCH_DECOMPR_RATING2,
790
+ IDT_BENCH_DECOMPR_USAGE1,
791
+ IDT_BENCH_DECOMPR_USAGE2,
792
+ IDT_BENCH_DECOMPR_RPU1,
793
+ IDT_BENCH_DECOMPR_RPU2,
794
+
795
+ IDT_BENCH_TOTAL_USAGE_VAL,
796
+ IDT_BENCH_TOTAL_RATING_VAL,
797
+ IDT_BENCH_TOTAL_RPU_VAL
798
+ };
799
+
800
+
801
+ static const unsigned k_Ids_Enc_1[] = {
802
+ IDT_BENCH_COMPRESS_USAGE1,
803
+ IDT_BENCH_COMPRESS_SPEED1,
804
+ IDT_BENCH_COMPRESS_RPU1,
805
+ IDT_BENCH_COMPRESS_RATING1,
806
+ IDT_BENCH_COMPRESS_SIZE1 };
807
+
808
+ static const unsigned k_Ids_Enc[] = {
809
+ IDT_BENCH_COMPRESS_USAGE2,
810
+ IDT_BENCH_COMPRESS_SPEED2,
811
+ IDT_BENCH_COMPRESS_RPU2,
812
+ IDT_BENCH_COMPRESS_RATING2,
813
+ IDT_BENCH_COMPRESS_SIZE2 };
814
+
815
+ static const unsigned k_Ids_Dec_1[] = {
816
+ IDT_BENCH_DECOMPR_USAGE1,
817
+ IDT_BENCH_DECOMPR_SPEED1,
818
+ IDT_BENCH_DECOMPR_RPU1,
819
+ IDT_BENCH_DECOMPR_RATING1,
820
+ IDT_BENCH_DECOMPR_SIZE1 };
821
+
822
+ static const unsigned k_Ids_Dec[] = {
823
+ IDT_BENCH_DECOMPR_USAGE2,
824
+ IDT_BENCH_DECOMPR_SPEED2,
825
+ IDT_BENCH_DECOMPR_RPU2,
826
+ IDT_BENCH_DECOMPR_RATING2,
827
+ IDT_BENCH_DECOMPR_SIZE2 };
828
+
829
+ static const unsigned k_Ids_Tot[] = {
830
+ IDT_BENCH_TOTAL_USAGE_VAL,
831
+ 0,
832
+ IDT_BENCH_TOTAL_RPU_VAL,
833
+ IDT_BENCH_TOTAL_RATING_VAL,
834
+ 0 };
835
+
836
+
837
+ void CBenchmarkDialog::MyKillTimer()
838
+ {
839
+ if (_timer != 0)
840
+ {
841
+ KillTimer(kTimerID);
842
+ _timer = 0;
843
+ }
844
+ }
845
+
846
+
847
+ bool CBenchmarkDialog::OnDestroy()
848
+ {
849
+ /* actually timer was removed before.
850
+ also the timer must be removed by Windows, when window will be removed. */
851
+ MyKillTimer(); // it's optional code
852
+ return false; // we return (false) to perform default dialog operation
853
+ }
854
+
855
+ void SetErrorMessage_MemUsage(UString &s, UInt64 reqSize, UInt64 ramSize, UInt64 ramLimit, const UString &usageString);
856
+
857
+ void CBenchmarkDialog::StartBenchmark()
858
+ {
859
+ NeedRestart = false;
860
+ WasStopped_in_GUI = false;
861
+
862
+ SetItemText_Empty(IDT_BENCH_ERROR_MESSAGE);
863
+
864
+ MyKillTimer(); // optional code. timer was killed before
865
+
866
+ const size_t dict = OnChangeDictionary();
867
+ const UInt32 numThreads = GetNumberOfThreads();
868
+ const UInt32 numPasses = (UInt32)m_NumPasses.GetItemData_of_CurSel();
869
+
870
+ for (unsigned i = 0; i < Z7_ARRAY_SIZE(g_IDs); i++)
871
+ SetItemText(g_IDs[i], kProcessingString);
872
+
873
+ SetItemText_Empty(IDT_BENCH_LOG);
874
+ SetItemText_Empty(IDT_BENCH_ELAPSED_VAL);
875
+ SetItemText_Empty(IDT_BENCH_ERROR_MESSAGE);
876
+
877
+ const UInt64 memUsage = GetBenchMemoryUsage(numThreads, Sync.Level, dict,
878
+ false); // totalBench
879
+ if (!IsMemoryUsageOK(memUsage))
880
+ {
881
+ UString s2;
882
+ LangString_OnlyFromLangFile(IDS_MEM_REQUIRED_MEM_SIZE, s2);
883
+ if (s2.IsEmpty())
884
+ {
885
+ s2 = LangString(IDT_BENCH_MEMORY);
886
+ if (s2.IsEmpty())
887
+ GetItemText(IDT_BENCH_MEMORY, s2);
888
+ s2.RemoveChar(L':');
889
+ }
890
+ UString s;
891
+ SetErrorMessage_MemUsage(s, memUsage, RamSize, RamSize_Limit, s2);
892
+ MessageBoxError_Status(s);
893
+ return;
894
+ }
895
+
896
+ EnableItem(IDB_STOP, true);
897
+
898
+ _startTime = GetTickCount();
899
+ _finishTime = _startTime;
900
+ _finishTime_WasSet = false;
901
+
902
+ {
903
+ NWindows::NSynchronization::CCriticalSectionLock lock(Sync.CS);
904
+ InitSyncNew();
905
+ Sync.DictSize = dict;
906
+ Sync.NumThreads = numThreads;
907
+ Sync.NumPasses_Limit = numPasses;
908
+ }
909
+
910
+ PrintTime();
911
+
912
+ _timer = SetTimer(kTimerID, kTimerElapse);
913
+ if (_thread.Create(CThreadBenchmark::MyThreadFunction, &_threadBenchmark) != 0)
914
+ {
915
+ MyKillTimer();
916
+ MessageBoxError_Status(L"Can't create thread");
917
+ }
918
+ return;
919
+ }
920
+
921
+
922
+ void CBenchmarkDialog::RestartBenchmark()
923
+ {
924
+ if (ExitWasAsked_in_GUI)
925
+ return;
926
+
927
+ if (_thread.IsCreated())
928
+ {
929
+ NeedRestart = true;
930
+ SendExit_Status(L"Stop for restart ...");
931
+ }
932
+ else
933
+ StartBenchmark();
934
+ }
935
+
936
+
937
+ void CBenchmarkDialog::Disable_Stop_Button()
938
+ {
939
+ // if we disable focused button, then focus will be lost
940
+ if (GetFocus() == GetItem(IDB_STOP))
941
+ {
942
+ // SendMsg_NextDlgCtl_Prev();
943
+ SendMsg_NextDlgCtl_CtlId(IDB_RESTART);
944
+ }
945
+ EnableItem(IDB_STOP, false);
946
+ }
947
+
948
+
949
+ void CBenchmarkDialog::OnStopButton()
950
+ {
951
+ if (ExitWasAsked_in_GUI)
952
+ return;
953
+
954
+ Disable_Stop_Button();
955
+
956
+ WasStopped_in_GUI = true;
957
+ if (_thread.IsCreated())
958
+ {
959
+ SendExit_Status(L"Stop ...");
960
+ }
961
+ }
962
+
963
+
964
+
965
+ void CBenchmarkDialog::OnCancel()
966
+ {
967
+ ExitWasAsked_in_GUI = true;
968
+
969
+ /*
970
+ SendMsg_NextDlgCtl_Prev();
971
+ EnableItem(IDCANCEL, false);
972
+ */
973
+
974
+ if (_thread.IsCreated())
975
+ SendExit_Status(L"Cancel ...");
976
+ else
977
+ CModalDialog::OnCancel();
978
+ }
979
+
980
+
981
+ void CBenchmarkDialog::OnHelp()
982
+ {
983
+ ShowHelpWindow(kHelpTopic);
984
+ }
985
+
986
+
987
+
988
+ // void GetTimeString(UInt64 timeValue, wchar_t *s);
989
+
990
+ void CBenchmarkDialog::PrintTime()
991
+ {
992
+ const UInt32 curTime =
993
+ _finishTime_WasSet ?
994
+ _finishTime :
995
+ ::GetTickCount();
996
+
997
+ const UInt32 elapsedTime = (curTime - _startTime);
998
+
999
+ WCHAR s[64];
1000
+
1001
+ WCHAR *p = ConvertUInt32ToString(elapsedTime / 1000, s);
1002
+
1003
+ if (_finishTime_WasSet)
1004
+ {
1005
+ *p++ = '.';
1006
+ UINT_TO_STR_3(p, elapsedTime % 1000)
1007
+ }
1008
+
1009
+ // p = NumberToDot3((UInt64)elapsedTime, s);
1010
+
1011
+ MyStringCopy(p, L" s");
1012
+
1013
+ // if (WasStopped_in_GUI) wcscat(s, L" X"); // for debug
1014
+
1015
+ if (s == ElapsedSec_Prev)
1016
+ return;
1017
+
1018
+ ElapsedSec_Prev = s;
1019
+
1020
+ // static cnt = 0; cnt++; wcscat(s, L" ");
1021
+ // UString s2; s2.Add_UInt32(cnt); wcscat(s, s2.Ptr());
1022
+
1023
+ SetItemText(IDT_BENCH_ELAPSED_VAL, s);
1024
+ }
1025
+
1026
+
1027
+ static UInt64 GetMips(UInt64 ips)
1028
+ {
1029
+ return (ips + 500000) / 1000000;
1030
+ }
1031
+
1032
+
1033
+ static UInt64 GetUsagePercents(UInt64 usage)
1034
+ {
1035
+ return Benchmark_GetUsage_Percents(usage);
1036
+ }
1037
+
1038
+
1039
+ static UInt32 GetRating(const CTotalBenchRes &info)
1040
+ {
1041
+ UInt64 numIter = info.NumIterations2;
1042
+ if (numIter == 0)
1043
+ numIter = 1000000;
1044
+ const UInt64 rating64 = GetMips(info.Rating / numIter);
1045
+ // return rating64;
1046
+ UInt32 rating32 = (UInt32)rating64;
1047
+ if (rating32 != rating64)
1048
+ rating32 = (UInt32)(Int32)-1;
1049
+ return rating32;
1050
+ }
1051
+
1052
+
1053
+ static void AddUsageString(UString &s, const CTotalBenchRes &info)
1054
+ {
1055
+ UInt64 numIter = info.NumIterations2;
1056
+ if (numIter == 0)
1057
+ numIter = 1000000;
1058
+ UInt64 usage = GetUsagePercents(info.Usage / numIter);
1059
+
1060
+ wchar_t w[32];
1061
+ wchar_t *p = ConvertUInt64ToString(usage, w);
1062
+ p[0] = '%';
1063
+ p[1] = 0;
1064
+ unsigned len = (unsigned)(size_t)(p - w);
1065
+ while (len < 5)
1066
+ {
1067
+ s.Add_Space();
1068
+ len++;
1069
+ }
1070
+ s += w;
1071
+ }
1072
+
1073
+
1074
+ static void Add_Dot3String(UString &s, UInt64 val)
1075
+ {
1076
+ WCHAR temp[32];
1077
+ NumberToDot3(val, temp);
1078
+ s += temp;
1079
+ }
1080
+
1081
+
1082
+ static void AddRatingString(UString &s, const CTotalBenchRes &info)
1083
+ {
1084
+ // AddUsageString(s, info);
1085
+ // s.Add_Space();
1086
+ // s.Add_UInt32(GetRating(info));
1087
+ Add_Dot3String(s, GetRating(info));
1088
+ }
1089
+
1090
+
1091
+ static void AddRatingsLine(UString &s, const CTotalBenchRes &enc, const CTotalBenchRes &dec
1092
+ #ifdef PRINT_ITER_TIME
1093
+ , DWORD ticks
1094
+ #endif
1095
+ )
1096
+ {
1097
+ // AddUsageString(s, enc); s.Add_Space();
1098
+
1099
+ AddRatingString(s, enc);
1100
+ s += " ";
1101
+ AddRatingString(s, dec);
1102
+
1103
+ CTotalBenchRes tot_BenchRes;
1104
+ tot_BenchRes.SetSum(enc, dec);
1105
+
1106
+ s += " ";
1107
+ AddRatingString(s, tot_BenchRes);
1108
+
1109
+ s.Add_Space(); AddUsageString(s, tot_BenchRes);
1110
+
1111
+
1112
+ #ifdef PRINT_ITER_TIME
1113
+ s.Add_Space();
1114
+ {
1115
+ Add_Dot3String(s, ticks;
1116
+ s += " s";
1117
+ // s.Add_UInt32(ticks); s += " ms";
1118
+ }
1119
+ #endif
1120
+ }
1121
+
1122
+
1123
+ void CBenchmarkDialog::PrintRating(UInt64 rating, UINT controlID)
1124
+ {
1125
+ // SetItemText_Number(controlID, GetMips(rating), kMIPS);
1126
+ WCHAR s[64];
1127
+ MyStringCopy(NumberToDot3(GetMips(rating), s), L" GIPS");
1128
+ SetItemText(controlID, s);
1129
+ }
1130
+
1131
+ void CBenchmarkDialog::PrintUsage(UInt64 usage, UINT controlID)
1132
+ {
1133
+ SetItemText_Number(controlID, GetUsagePercents(usage), TEXT("%"));
1134
+ }
1135
+
1136
+
1137
+ // void SetItemText_Number
1138
+
1139
+ void CBenchmarkDialog::PrintBenchRes(
1140
+ const CTotalBenchRes2 &info,
1141
+ const UINT ids[])
1142
+ {
1143
+ if (info.NumIterations2 == 0)
1144
+ return;
1145
+ if (ids[1] != 0)
1146
+ SetItemText_Number(ids[1], (info.Speed >> 10) / info.NumIterations2, kKBs);
1147
+ PrintRating(info.Rating / info.NumIterations2, ids[3]);
1148
+ PrintRating(info.RPU / info.NumIterations2, ids[2]);
1149
+ PrintUsage(info.Usage / info.NumIterations2, ids[0]);
1150
+ if (ids[4] != 0)
1151
+ {
1152
+ UInt64 val = info.UnpackSize;
1153
+ LPCTSTR kPostfix;
1154
+ if (val >= ((UInt64)1 << 40))
1155
+ {
1156
+ kPostfix = kGB;
1157
+ val >>= 30;
1158
+ }
1159
+ else
1160
+ {
1161
+ kPostfix = kMB;
1162
+ val >>= 20;
1163
+ }
1164
+ SetItemText_Number(ids[4], val, kPostfix);
1165
+ }
1166
+ }
1167
+
1168
+
1169
+ // static UInt32 k_Message_Finished_cnt = 0;
1170
+ // static UInt32 k_OnTimer_cnt = 0;
1171
+
1172
+ bool CBenchmarkDialog::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
1173
+ {
1174
+ if (message != k_Message_Finished)
1175
+ return CModalDialog::OnMessage(message, wParam, lParam);
1176
+
1177
+ {
1178
+ if (wParam == k_Msg_WPARM_Thread_Finished)
1179
+ {
1180
+ _finishTime = GetTickCount();
1181
+ _finishTime_WasSet = true;
1182
+ MyKillTimer();
1183
+
1184
+ if (_thread.Wait_Close() != 0)
1185
+ {
1186
+ MessageBoxError_Status(L"Thread Wait Error");
1187
+ }
1188
+
1189
+ if (!WasStopped_in_GUI)
1190
+ {
1191
+ WasStopped_in_GUI = true;
1192
+ Disable_Stop_Button();
1193
+ }
1194
+
1195
+ HRESULT res = Sync.BenchFinish_Thread_HRESULT;
1196
+ if (res != S_OK)
1197
+ // if (!ExitWasAsked_in_GUI || res != E_ABORT)
1198
+ MessageBoxError_Status(HResultToMessage(res));
1199
+
1200
+ if (ExitWasAsked_in_GUI)
1201
+ {
1202
+ // SetItemText(IDT_BENCH_ERROR_MESSAGE, "before CModalDialog::OnCancel()");
1203
+ // Sleep (2000);
1204
+ // MessageBoxError(L"test");
1205
+ CModalDialog::OnCancel();
1206
+ return true;
1207
+ }
1208
+
1209
+ SetItemText_Empty(IDT_BENCH_ERROR_MESSAGE);
1210
+
1211
+ res = Sync.BenchFinish_Task_HRESULT;
1212
+ if (res != S_OK)
1213
+ {
1214
+ if (!WasStopped_in_GUI || res != E_ABORT)
1215
+ {
1216
+ UString m;
1217
+ if (res == S_FALSE)
1218
+ m = "Decoding error";
1219
+ else if (res == CLASS_E_CLASSNOTAVAILABLE)
1220
+ m = "Can't find 7z.dll";
1221
+ else
1222
+ m = HResultToMessage(res);
1223
+ MessageBoxError_Status(m);
1224
+ }
1225
+ }
1226
+
1227
+ if (NeedRestart)
1228
+ {
1229
+ StartBenchmark();
1230
+ return true;
1231
+ }
1232
+ }
1233
+ // k_Message_Finished_cnt++;
1234
+ UpdateGui();
1235
+ return true;
1236
+ }
1237
+ }
1238
+
1239
+
1240
+ bool CBenchmarkDialog::OnTimer(WPARAM timerID, LPARAM /* callback */)
1241
+ {
1242
+ // k_OnTimer_cnt++;
1243
+ if (timerID == kTimerID)
1244
+ UpdateGui();
1245
+ return true;
1246
+ }
1247
+
1248
+
1249
+ void CBenchmarkDialog::UpdateGui()
1250
+ {
1251
+ PrintTime();
1252
+
1253
+ if (TotalMode)
1254
+ {
1255
+ bool wasChanged = false;
1256
+ {
1257
+ NWindows::NSynchronization::CCriticalSectionLock lock(Sync.CS);
1258
+
1259
+ if (Sync.TextWasChanged)
1260
+ {
1261
+ wasChanged = true;
1262
+ Bench2Text += Sync.Text;
1263
+ Sync.Text.Empty();
1264
+ Sync.TextWasChanged = false;
1265
+ }
1266
+ }
1267
+ if (wasChanged)
1268
+ _consoleEdit.SetText(Bench2Text);
1269
+ return;
1270
+ }
1271
+
1272
+ CSyncData sd;
1273
+ CRecordVector<CBenchPassResult> RatingVector;
1274
+
1275
+ {
1276
+ NWindows::NSynchronization::CCriticalSectionLock lock(Sync.CS);
1277
+ sd = Sync.sd;
1278
+
1279
+ if (sd.NeedPrint_RatingVector)
1280
+ RatingVector = Sync.RatingVector;
1281
+
1282
+ if (sd.NeedPrint_Freq)
1283
+ {
1284
+ Sync.FreqString_GUI = Sync.FreqString_Sync;
1285
+ sd.NeedPrint_RatingVector = true;
1286
+ }
1287
+
1288
+ Sync.sd.NeedPrint_RatingVector = false;
1289
+ Sync.sd.NeedPrint_Enc_1 = false;
1290
+ Sync.sd.NeedPrint_Enc = false;
1291
+ Sync.sd.NeedPrint_Dec_1 = false;
1292
+ Sync.sd.NeedPrint_Dec = false;
1293
+ Sync.sd.NeedPrint_Tot = false;
1294
+ Sync.sd.NeedPrint_Freq = false;
1295
+ }
1296
+
1297
+ if (sd.NumPasses_Finished != NumPasses_Finished_Prev)
1298
+ {
1299
+ SetItemText_Number(IDT_BENCH_PASSES_VAL, sd.NumPasses_Finished, TEXT(" /"));
1300
+ NumPasses_Finished_Prev = sd.NumPasses_Finished;
1301
+ }
1302
+
1303
+ if (sd.NeedPrint_Enc_1) PrintBenchRes(sd.Enc_BenchRes_1, k_Ids_Enc_1);
1304
+ if (sd.NeedPrint_Enc) PrintBenchRes(sd.Enc_BenchRes, k_Ids_Enc);
1305
+ if (sd.NeedPrint_Dec_1) PrintBenchRes(sd.Dec_BenchRes_1, k_Ids_Dec_1);
1306
+ if (sd.NeedPrint_Dec) PrintBenchRes(sd.Dec_BenchRes, k_Ids_Dec);
1307
+
1308
+ if (sd.BenchWasFinished && sd.NeedPrint_Tot)
1309
+ {
1310
+ CTotalBenchRes2 tot_BenchRes = sd.Enc_BenchRes;
1311
+ tot_BenchRes.Update_With_Res2(sd.Dec_BenchRes);
1312
+ PrintBenchRes(tot_BenchRes, k_Ids_Tot);
1313
+ }
1314
+
1315
+
1316
+ if (sd.NeedPrint_RatingVector)
1317
+ // for (unsigned k = 0; k < 1; k++)
1318
+ {
1319
+ UString s;
1320
+ s += Sync.FreqString_GUI;
1321
+ if (!RatingVector.IsEmpty())
1322
+ {
1323
+ if (!s.IsEmpty())
1324
+ s.Add_LF();
1325
+ s += "Compr Decompr Total CPU"
1326
+ #ifdef PRINT_ITER_TIME
1327
+ " Time"
1328
+ #endif
1329
+ ;
1330
+ s.Add_LF();
1331
+ }
1332
+ // s += "GIPS GIPS GIPS % s"; s.Add_LF();
1333
+ for (unsigned i = 0; i < RatingVector.Size(); i++)
1334
+ {
1335
+ if (i != 0)
1336
+ s.Add_LF();
1337
+ if ((int)i == sd.RatingVector_DeletedIndex)
1338
+ {
1339
+ s += "...";
1340
+ s.Add_LF();
1341
+ }
1342
+ const CBenchPassResult &pair = RatingVector[i];
1343
+ /*
1344
+ s += "g:"; s.Add_UInt32((UInt32)pair.EncInfo.GlobalTime);
1345
+ s += " u:"; s.Add_UInt32((UInt32)pair.EncInfo.UserTime);
1346
+ s.Add_Space();
1347
+ */
1348
+ AddRatingsLine(s, pair.Enc, pair.Dec
1349
+ #ifdef PRINT_ITER_TIME
1350
+ , pair.Ticks
1351
+ #endif
1352
+ );
1353
+ /*
1354
+ {
1355
+ UInt64 v = i + 1;
1356
+ if (sd.RatingVector_DeletedIndex >= 0 && i >= (unsigned)sd.RatingVector_DeletedIndex)
1357
+ v += sd.RatingVector_NumDeleted;
1358
+ char temp[64];
1359
+ ConvertUInt64ToString(v, temp);
1360
+ s += " : ";
1361
+ s += temp;
1362
+ }
1363
+ */
1364
+ }
1365
+
1366
+ if (sd.BenchWasFinished)
1367
+ {
1368
+ s.Add_LF();
1369
+ s += "-------------";
1370
+ s.Add_LF();
1371
+ {
1372
+ // average time is not correct because of freq detection in first iteration
1373
+ AddRatingsLine(s, sd.Enc_BenchRes, sd.Dec_BenchRes
1374
+ #ifdef PRINT_ITER_TIME
1375
+ , (DWORD)(sd.TotalTicks / (sd.NumPasses_Finished ? sd.NumPasses_Finished : 1))
1376
+ #endif
1377
+ );
1378
+ }
1379
+ }
1380
+ // s.Add_LF(); s += "OnTimer: "; s.Add_UInt32(k_OnTimer_cnt);
1381
+ // s.Add_LF(); s += "finished Message: "; s.Add_UInt32(k_Message_Finished_cnt);
1382
+ // static cnt = 0; cnt++; s.Add_LF(); s += "Print: "; s.Add_UInt32(cnt);
1383
+ // s.Add_LF(); s += "NumEncProgress: "; s.Add_UInt32((UInt32)sd.NumEncProgress);
1384
+ // s.Add_LF(); s += "NumDecProgress: "; s.Add_UInt32((UInt32)sd.NumDecProgress);
1385
+ SetItemText(IDT_BENCH_LOG, s);
1386
+ }
1387
+ }
1388
+
1389
+
1390
+ bool CBenchmarkDialog::OnCommand(unsigned code, unsigned itemID, LPARAM lParam)
1391
+ {
1392
+ if (code == CBN_SELCHANGE &&
1393
+ (itemID == IDC_BENCH_DICTIONARY ||
1394
+ itemID == IDC_BENCH_NUM_PASSES ||
1395
+ itemID == IDC_BENCH_NUM_THREADS))
1396
+ {
1397
+ RestartBenchmark();
1398
+ return true;
1399
+ }
1400
+ return CModalDialog::OnCommand(code, itemID, lParam);
1401
+ }
1402
+
1403
+
1404
+ bool CBenchmarkDialog::OnButtonClicked(unsigned buttonID, HWND buttonHWND)
1405
+ {
1406
+ switch (buttonID)
1407
+ {
1408
+ case IDB_RESTART:
1409
+ RestartBenchmark();
1410
+ return true;
1411
+ case IDB_STOP:
1412
+ OnStopButton();
1413
+ return true;
1414
+ }
1415
+ return CModalDialog::OnButtonClicked(buttonID, buttonHWND);
1416
+ }
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+ // ---------- Benchmark Thread ----------
1423
+
1424
+ struct CBenchCallback Z7_final: public IBenchCallback
1425
+ {
1426
+ UInt64 dictionarySize;
1427
+ CBenchProgressSync *Sync;
1428
+ CBenchmarkDialog *BenchmarkDialog;
1429
+
1430
+ HRESULT SetEncodeResult(const CBenchInfo &info, bool final) Z7_override;
1431
+ HRESULT SetDecodeResult(const CBenchInfo &info, bool final) Z7_override;
1432
+ };
1433
+
1434
+ HRESULT CBenchCallback::SetEncodeResult(const CBenchInfo &info, bool final)
1435
+ {
1436
+ bool needPost = false;
1437
+ {
1438
+ NSynchronization::CCriticalSectionLock lock(Sync->CS);
1439
+ if (Sync->Exit)
1440
+ return E_ABORT;
1441
+ CSyncData &sd = Sync->sd;
1442
+ // sd.NumEncProgress++;
1443
+ CTotalBenchRes2 &br = sd.Enc_BenchRes_1;
1444
+ {
1445
+ UInt64 dictSize = Sync->DictSize;
1446
+ if (final)
1447
+ {
1448
+ // sd.EncInfo = info;
1449
+ }
1450
+ else
1451
+ {
1452
+ /* if (!final), then CBenchInfo::NumIterations means totalNumber of threads.
1453
+ so we can reduce the dictionary */
1454
+ if (dictSize > info.UnpackSize)
1455
+ dictSize = info.UnpackSize;
1456
+ }
1457
+ br.Rating = info.GetRating_LzmaEnc(dictSize);
1458
+ }
1459
+ br.SetFrom_BenchInfo(info);
1460
+ sd.NeedPrint_Enc_1 = true;
1461
+ if (final)
1462
+ {
1463
+ sd.Enc_BenchRes.Update_With_Res2(br);
1464
+ sd.NeedPrint_Enc = true;
1465
+ needPost = true;
1466
+ }
1467
+ }
1468
+
1469
+ if (needPost)
1470
+ BenchmarkDialog->PostMsg(k_Message_Finished, k_Msg_WPARM_Enc1_Finished);
1471
+
1472
+ return S_OK;
1473
+ }
1474
+
1475
+
1476
+ HRESULT CBenchCallback::SetDecodeResult(const CBenchInfo &info, bool final)
1477
+ {
1478
+ NSynchronization::CCriticalSectionLock lock(Sync->CS);
1479
+ if (Sync->Exit)
1480
+ return E_ABORT;
1481
+ CSyncData &sd = Sync->sd;
1482
+ // sd.NumDecProgress++;
1483
+ CTotalBenchRes2 &br = sd.Dec_BenchRes_1;
1484
+ br.Rating = info.GetRating_LzmaDec();
1485
+ br.SetFrom_BenchInfo(info);
1486
+ sd.NeedPrint_Dec_1 = true;
1487
+ if (final)
1488
+ sd.Dec_BenchRes.Update_With_Res2(br);
1489
+ return S_OK;
1490
+ }
1491
+
1492
+
1493
+ struct CBenchCallback2 Z7_final: public IBenchPrintCallback
1494
+ {
1495
+ CBenchProgressSync *Sync;
1496
+ bool TotalMode;
1497
+
1498
+ void Print(const char *s) Z7_override;
1499
+ void NewLine() Z7_override;
1500
+ HRESULT CheckBreak() Z7_override;
1501
+ };
1502
+
1503
+ void CBenchCallback2::Print(const char *s)
1504
+ {
1505
+ if (TotalMode)
1506
+ {
1507
+ NSynchronization::CCriticalSectionLock lock(Sync->CS);
1508
+ Sync->Text += s;
1509
+ Sync->TextWasChanged = true;
1510
+ }
1511
+ }
1512
+
1513
+ void CBenchCallback2::NewLine()
1514
+ {
1515
+ Print("\xD\n");
1516
+ }
1517
+
1518
+ HRESULT CBenchCallback2::CheckBreak()
1519
+ {
1520
+ if (Sync->Exit)
1521
+ return E_ABORT;
1522
+ return S_OK;
1523
+ }
1524
+
1525
+
1526
+
1527
+ struct CFreqCallback Z7_final: public IBenchFreqCallback
1528
+ {
1529
+ CBenchmarkDialog *BenchmarkDialog;
1530
+
1531
+ virtual HRESULT AddCpuFreq(unsigned numThreads, UInt64 freq, UInt64 usage) Z7_override;
1532
+ virtual HRESULT FreqsFinished(unsigned numThreads) Z7_override;
1533
+ };
1534
+
1535
+ HRESULT CFreqCallback::AddCpuFreq(unsigned numThreads, UInt64 freq, UInt64 usage)
1536
+ {
1537
+ HRESULT res;
1538
+ {
1539
+ CBenchProgressSync &sync = BenchmarkDialog->Sync;
1540
+ NSynchronization::CCriticalSectionLock lock(sync.CS);
1541
+ UString &s = sync.FreqString_Sync;
1542
+ if (sync.NumFreqThreadsPrev != numThreads)
1543
+ {
1544
+ sync.NumFreqThreadsPrev = numThreads;
1545
+ if (!s.IsEmpty())
1546
+ s.Add_LF();
1547
+ s.Add_UInt32(numThreads);
1548
+ s += "T Frequency (MHz):";
1549
+ s.Add_LF();
1550
+ }
1551
+ s.Add_Space();
1552
+ if (numThreads != 1)
1553
+ {
1554
+ s.Add_UInt64(GetUsagePercents(usage));
1555
+ s.Add_Char('%');
1556
+ s.Add_Space();
1557
+ }
1558
+ s.Add_UInt64(GetMips(freq));
1559
+ // BenchmarkDialog->Sync.sd.NeedPrint_Freq = true;
1560
+ res = sync.Exit ? E_ABORT : S_OK;
1561
+ }
1562
+ // BenchmarkDialog->PostMsg(k_Message_Finished, k_Msg_WPARM_Enc1_Finished);
1563
+ return res;
1564
+ }
1565
+
1566
+ HRESULT CFreqCallback::FreqsFinished(unsigned /* numThreads */)
1567
+ {
1568
+ HRESULT res;
1569
+ {
1570
+ CBenchProgressSync &sync = BenchmarkDialog->Sync;
1571
+ NSynchronization::CCriticalSectionLock lock(sync.CS);
1572
+ sync.sd.NeedPrint_Freq = true;
1573
+ BenchmarkDialog->PostMsg(k_Message_Finished, k_Msg_WPARM_Enc1_Finished);
1574
+ res = sync.Exit ? E_ABORT : S_OK;
1575
+ }
1576
+ BenchmarkDialog->PostMsg(k_Message_Finished, k_Msg_WPARM_Enc1_Finished);
1577
+ return res;
1578
+ }
1579
+
1580
+
1581
+
1582
+ // define USE_DUMMY only for debug
1583
+ // #define USE_DUMMY
1584
+ #ifdef USE_DUMMY
1585
+ static unsigned dummy = 1;
1586
+ static unsigned Dummy(unsigned limit)
1587
+ {
1588
+ unsigned sum = 0;
1589
+ for (unsigned k = 0; k < limit; k++)
1590
+ {
1591
+ sum += dummy;
1592
+ if (sum == 0)
1593
+ break;
1594
+ }
1595
+ return sum;
1596
+ }
1597
+ #endif
1598
+
1599
+
1600
+ HRESULT CThreadBenchmark::Process()
1601
+ {
1602
+ /* the first benchmark pass can be slow,
1603
+ if we run benchmark while the window is being created,
1604
+ and (no freq detecion loop) && (dictionary is small) (-mtic is small) */
1605
+
1606
+ // Sleep(300); // for debug
1607
+ #ifdef USE_DUMMY
1608
+ Dummy(1000 * 1000 * 1000); // for debug
1609
+ #endif
1610
+
1611
+ CBenchProgressSync &sync = BenchmarkDialog->Sync;
1612
+ HRESULT finishHRESULT = S_OK;
1613
+
1614
+ try
1615
+ {
1616
+ for (UInt32 passIndex = 0;; passIndex++)
1617
+ {
1618
+ // throw 1; // to debug
1619
+ // throw CSystemException(E_INVALIDARG); // to debug
1620
+
1621
+ UInt64 dictionarySize;
1622
+ UInt32 numThreads;
1623
+ {
1624
+ NSynchronization::CCriticalSectionLock lock(sync.CS);
1625
+ if (sync.Exit)
1626
+ break;
1627
+ dictionarySize = sync.DictSize;
1628
+ numThreads = sync.NumThreads;
1629
+ }
1630
+
1631
+ #ifdef PRINT_ITER_TIME
1632
+ const DWORD startTick = GetTickCount();
1633
+ #endif
1634
+
1635
+ CBenchCallback callback;
1636
+
1637
+ callback.dictionarySize = dictionarySize;
1638
+ callback.Sync = &sync;
1639
+ callback.BenchmarkDialog = BenchmarkDialog;
1640
+
1641
+ CBenchCallback2 callback2;
1642
+ callback2.TotalMode = BenchmarkDialog->TotalMode;
1643
+ callback2.Sync = &sync;
1644
+
1645
+ CFreqCallback freqCallback;
1646
+ freqCallback.BenchmarkDialog = BenchmarkDialog;
1647
+
1648
+ HRESULT result;
1649
+
1650
+ try
1651
+ {
1652
+ CObjectVector<CProperty> props;
1653
+
1654
+ props = BenchmarkDialog->Props;
1655
+
1656
+ if (BenchmarkDialog->TotalMode)
1657
+ {
1658
+ props = BenchmarkDialog->Props;
1659
+ }
1660
+ else
1661
+ {
1662
+ {
1663
+ CProperty prop;
1664
+ prop.Name = "mt";
1665
+ prop.Value.Add_UInt32(numThreads);
1666
+ props.Add(prop);
1667
+ }
1668
+ {
1669
+ CProperty prop;
1670
+ prop.Name = 'd';
1671
+ prop.Name.Add_UInt32((UInt32)(dictionarySize >> 10));
1672
+ prop.Name.Add_Char('k');
1673
+ props.Add(prop);
1674
+ }
1675
+ }
1676
+
1677
+ result = Bench(EXTERNAL_CODECS_LOC_VARS
1678
+ BenchmarkDialog->TotalMode ? &callback2 : NULL,
1679
+ BenchmarkDialog->TotalMode ? NULL : &callback,
1680
+ props, 1, false,
1681
+ (!BenchmarkDialog->TotalMode) && passIndex == 0 ? &freqCallback: NULL);
1682
+
1683
+ // result = S_FALSE; // for debug;
1684
+ // throw 1;
1685
+ }
1686
+ catch(...)
1687
+ {
1688
+ result = E_FAIL;
1689
+ }
1690
+
1691
+ #ifdef PRINT_ITER_TIME
1692
+ const DWORD numTicks = GetTickCount() - startTick;
1693
+ #endif
1694
+
1695
+ bool finished = true;
1696
+
1697
+ NSynchronization::CCriticalSectionLock lock(sync.CS);
1698
+
1699
+ if (result != S_OK)
1700
+ {
1701
+ sync.BenchFinish_Task_HRESULT = result;
1702
+ break;
1703
+ }
1704
+
1705
+ {
1706
+ CSyncData &sd = sync.sd;
1707
+
1708
+ sd.NumPasses_Finished++;
1709
+ #ifdef PRINT_ITER_TIME
1710
+ sd.TotalTicks += numTicks;
1711
+ #endif
1712
+
1713
+ if (BenchmarkDialog->TotalMode)
1714
+ break;
1715
+
1716
+ {
1717
+ CTotalBenchRes tot_BenchRes = sd.Enc_BenchRes_1;
1718
+ tot_BenchRes.Update_With_Res(sd.Dec_BenchRes_1);
1719
+
1720
+ sd.NeedPrint_RatingVector = true;
1721
+ {
1722
+ CBenchPassResult pair;
1723
+ // pair.EncInfo = sd.EncInfo; // for debug
1724
+ pair.Enc = sd.Enc_BenchRes_1;
1725
+ pair.Dec = sd.Dec_BenchRes_1;
1726
+ #ifdef PRINT_ITER_TIME
1727
+ pair.Ticks = numTicks;
1728
+ #endif
1729
+ sync.RatingVector.Add(pair);
1730
+ // pair.Dec_Defined = true;
1731
+ }
1732
+ }
1733
+
1734
+ sd.NeedPrint_Dec = true;
1735
+ sd.NeedPrint_Tot = true;
1736
+
1737
+ if (sync.RatingVector.Size() > kRatingVector_NumBundlesMax)
1738
+ {
1739
+ // sd.RatingVector_NumDeleted++;
1740
+ sd.RatingVector_DeletedIndex = (int)(kRatingVector_NumBundlesMax / 4);
1741
+ sync.RatingVector.Delete((unsigned)(sd.RatingVector_DeletedIndex));
1742
+ }
1743
+
1744
+ if (sync.sd.NumPasses_Finished < sync.NumPasses_Limit)
1745
+ finished = false;
1746
+ else
1747
+ {
1748
+ sync.sd.BenchWasFinished = true;
1749
+ // BenchmarkDialog->_finishTime = GetTickCount();
1750
+ // return 0;
1751
+ }
1752
+ }
1753
+
1754
+ if (BenchmarkDialog->TotalMode)
1755
+ break;
1756
+
1757
+ /*
1758
+ if (newTick - prevTick < 1000)
1759
+ numSameTick++;
1760
+ if (numSameTick > 5 || finished)
1761
+ {
1762
+ prevTick = newTick;
1763
+ numSameTick = 0;
1764
+ */
1765
+ // for (unsigned i = 0; i < 1; i++)
1766
+ {
1767
+ // we suppose that PostMsg messages will be processed in order.
1768
+ if (!BenchmarkDialog->PostMsg_Finish(k_Msg_WPARM_Iter_Finished))
1769
+ {
1770
+ finished = true;
1771
+ finishHRESULT = E_FAIL;
1772
+ // throw 1234567;
1773
+ }
1774
+ }
1775
+ if (finished)
1776
+ break;
1777
+ }
1778
+ // return S_OK;
1779
+ }
1780
+ catch(CSystemException &e)
1781
+ {
1782
+ finishHRESULT = e.ErrorCode;
1783
+ // BenchmarkDialog->MessageBoxError(HResultToMessage(e.ErrorCode));
1784
+ // return E_FAIL;
1785
+ }
1786
+ catch(...)
1787
+ {
1788
+ finishHRESULT = E_FAIL;
1789
+ // BenchmarkDialog->MessageBoxError(HResultToMessage(E_FAIL));
1790
+ // return E_FAIL;
1791
+ }
1792
+
1793
+ if (finishHRESULT != S_OK)
1794
+ {
1795
+ NSynchronization::CCriticalSectionLock lock(sync.CS);
1796
+ sync.BenchFinish_Thread_HRESULT = finishHRESULT;
1797
+ }
1798
+ if (!BenchmarkDialog->PostMsg_Finish(k_Msg_WPARM_Thread_Finished))
1799
+ {
1800
+ // sync.BenchFinish_Thread_HRESULT = E_FAIL;
1801
+ }
1802
+ return 0;
1803
+ }
1804
+
1805
+
1806
+
1807
+ static void ParseNumberString(const UString &s, NCOM::CPropVariant &prop)
1808
+ {
1809
+ const wchar_t *end;
1810
+ UInt64 result = ConvertStringToUInt64(s, &end);
1811
+ if (*end != 0 || s.IsEmpty())
1812
+ prop = s;
1813
+ else if (result <= (UInt32)0xFFFFFFFF)
1814
+ prop = (UInt32)result;
1815
+ else
1816
+ prop = result;
1817
+ }
1818
+
1819
+
1820
+ HRESULT Benchmark(
1821
+ DECL_EXTERNAL_CODECS_LOC_VARS
1822
+ const CObjectVector<CProperty> &props, UInt32 numIterations, HWND hwndParent)
1823
+ {
1824
+ CBenchmarkDialog bd;
1825
+
1826
+ bd.TotalMode = false;
1827
+ bd.Props = props;
1828
+ if (numIterations == 0)
1829
+ numIterations = 1;
1830
+ bd.Sync.NumPasses_Limit = numIterations;
1831
+ bd.Sync.DictSize = (UInt64)(Int64)-1;
1832
+ bd.Sync.NumThreads = (UInt32)(Int32)-1;
1833
+ bd.Sync.Level = -1;
1834
+
1835
+ COneMethodInfo method;
1836
+
1837
+ UInt32 numCPUs = 1;
1838
+ #ifndef Z7_ST
1839
+ numCPUs = NSystem::GetNumberOfProcessors();
1840
+ #endif
1841
+ UInt32 numThreads = numCPUs;
1842
+
1843
+ FOR_VECTOR (i, props)
1844
+ {
1845
+ const CProperty &prop = props[i];
1846
+ UString name = prop.Name;
1847
+ name.MakeLower_Ascii();
1848
+ if (name.IsEqualTo_Ascii_NoCase("m") && prop.Value.IsEqualTo("*"))
1849
+ {
1850
+ bd.TotalMode = true;
1851
+ continue;
1852
+ }
1853
+
1854
+ NCOM::CPropVariant propVariant;
1855
+ if (!prop.Value.IsEmpty())
1856
+ ParseNumberString(prop.Value, propVariant);
1857
+ if (name.IsPrefixedBy("mt"))
1858
+ {
1859
+ #ifndef Z7_ST
1860
+ RINOK(ParseMtProp(name.Ptr(2), propVariant, numCPUs, numThreads))
1861
+ if (numThreads != numCPUs)
1862
+ bd.Sync.NumThreads = numThreads;
1863
+ #endif
1864
+ continue;
1865
+ }
1866
+ /*
1867
+ if (name.IsEqualTo("time"))
1868
+ {
1869
+ // UInt32 testTime = 4;
1870
+ // RINOK(ParsePropToUInt32(L"", propVariant, testTime));
1871
+ continue;
1872
+ }
1873
+ RINOK(method.ParseMethodFromPROPVARIANT(name, propVariant));
1874
+ */
1875
+ // here we need to parse DictSize property, and ignore unknown properties
1876
+ method.ParseMethodFromPROPVARIANT(name, propVariant);
1877
+ }
1878
+
1879
+ if (bd.TotalMode)
1880
+ {
1881
+ // bd.Bench2Text.Empty();
1882
+ bd.Bench2Text = "7-Zip " MY_VERSION_CPU;
1883
+ // bd.Bench2Text.Add_Char((char)0xD);
1884
+ bd.Bench2Text.Add_LF();
1885
+ }
1886
+
1887
+ {
1888
+ UInt64 dict;
1889
+ if (method.Get_DicSize(dict))
1890
+ bd.Sync.DictSize = dict;
1891
+ }
1892
+ bd.Sync.Level = (int)method.GetLevel();
1893
+
1894
+ // Dummy(1000 * 1000 * 1);
1895
+
1896
+ {
1897
+ CThreadBenchmark &benchmarker = bd._threadBenchmark;
1898
+ #ifdef Z7_EXTERNAL_CODECS
1899
+ benchmarker._externalCodecs = _externalCodecs;
1900
+ #endif
1901
+ benchmarker.BenchmarkDialog = &bd;
1902
+ }
1903
+
1904
+ bd.Create(hwndParent);
1905
+
1906
+ return S_OK;
1907
+ }
1908
+
1909
+
1910
+ CBenchmarkDialog::~CBenchmarkDialog()
1911
+ {
1912
+ if (_thread.IsCreated())
1913
+ {
1914
+ /* the following code will be not executed in normal code flow.
1915
+ it can be called, if there is some internal failure in dialog code. */
1916
+ Attach(NULL);
1917
+ MessageBoxError(L"The flaw in benchmark thread code");
1918
+ Sync.SendExit();
1919
+ _thread.Wait_Close();
1920
+ }
1921
+ }