hdiffpatch 1.0.0__cp39-cp39-win32.whl

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 (2254) hide show
  1. hdiffpatch/__init__.py +67 -0
  2. hdiffpatch/_base_config.py +56 -0
  3. hdiffpatch/_bzip2_config.py +102 -0
  4. hdiffpatch/_c_extension.cp39-win32.pyd +0 -0
  5. hdiffpatch/_c_extension.pyi +121 -0
  6. hdiffpatch/_c_extension.pyx +1068 -0
  7. hdiffpatch/_c_src/HDiffPatch/.git +1 -0
  8. hdiffpatch/_c_src/HDiffPatch/.github/workflows/ci.yml +134 -0
  9. hdiffpatch/_c_src/HDiffPatch/.gitignore +23 -0
  10. hdiffpatch/_c_src/HDiffPatch/CHANGELOG.md +244 -0
  11. hdiffpatch/_c_src/HDiffPatch/LICENSE +48 -0
  12. hdiffpatch/_c_src/HDiffPatch/Makefile +425 -0
  13. hdiffpatch/_c_src/HDiffPatch/README.md +528 -0
  14. hdiffpatch/_c_src/HDiffPatch/README_cn.md +525 -0
  15. hdiffpatch/_c_src/HDiffPatch/_atosize.h +83 -0
  16. hdiffpatch/_c_src/HDiffPatch/_clock_for_demo.h +55 -0
  17. hdiffpatch/_c_src/HDiffPatch/_dir_ignore.h +191 -0
  18. hdiffpatch/_c_src/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.cpp +380 -0
  19. hdiffpatch/_c_src/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.h +73 -0
  20. hdiffpatch/_c_src/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.c +275 -0
  21. hdiffpatch/_c_src/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.h +58 -0
  22. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +135 -0
  23. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +8 -0
  24. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
  25. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
  26. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.bat +1 -0
  27. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.sh +1 -0
  28. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +44 -0
  29. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +26 -0
  30. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +38 -0
  31. hdiffpatch/_c_src/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +21 -0
  32. hdiffpatch/_c_src/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +8 -0
  33. hdiffpatch/_c_src/HDiffPatch/builds/codeblocks/HDiffZ.cbp +400 -0
  34. hdiffpatch/_c_src/HDiffPatch/builds/codeblocks/HPatchZ.cbp +269 -0
  35. hdiffpatch/_c_src/HDiffPatch/builds/codeblocks/unitTest.cbp +79 -0
  36. hdiffpatch/_c_src/HDiffPatch/builds/vc/HDiffPatch.sln +191 -0
  37. hdiffpatch/_c_src/HDiffPatch/builds/vc/HDiffZ.vcxproj +456 -0
  38. hdiffpatch/_c_src/HDiffPatch/builds/vc/HPatchZ.vcxproj +439 -0
  39. hdiffpatch/_c_src/HDiffPatch/builds/vc/bzip2.vcxproj +302 -0
  40. hdiffpatch/_c_src/HDiffPatch/builds/vc/hpatchz_test.vcxproj +216 -0
  41. hdiffpatch/_c_src/HDiffPatch/builds/vc/libdeflate.vcxproj +332 -0
  42. hdiffpatch/_c_src/HDiffPatch/builds/vc/longPathAware.exe.manifest +7 -0
  43. hdiffpatch/_c_src/HDiffPatch/builds/vc/lzma.vcxproj +350 -0
  44. hdiffpatch/_c_src/HDiffPatch/builds/vc/testHashClash.vcxproj +294 -0
  45. hdiffpatch/_c_src/HDiffPatch/builds/vc/unitTest.vcxproj +369 -0
  46. hdiffpatch/_c_src/HDiffPatch/builds/vc/zlib.vcxproj +315 -0
  47. hdiffpatch/_c_src/HDiffPatch/builds/vc/zstd.vcxproj +357 -0
  48. hdiffpatch/_c_src/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +39 -0
  49. hdiffpatch/_c_src/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  50. hdiffpatch/_c_src/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  51. hdiffpatch/_c_src/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +447 -0
  52. hdiffpatch/_c_src/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  53. hdiffpatch/_c_src/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +655 -0
  54. hdiffpatch/_c_src/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  55. hdiffpatch/_c_src/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  56. hdiffpatch/_c_src/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +410 -0
  57. hdiffpatch/_c_src/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  58. hdiffpatch/_c_src/HDiffPatch/builds/xcode/libdeflate.xcodeproj/project.pbxproj +286 -0
  59. hdiffpatch/_c_src/HDiffPatch/builds/xcode/libdeflate.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  60. hdiffpatch/_c_src/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
  61. hdiffpatch/_c_src/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  62. hdiffpatch/_c_src/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +585 -0
  63. hdiffpatch/_c_src/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  64. hdiffpatch/_c_src/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
  65. hdiffpatch/_c_src/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  66. hdiffpatch/_c_src/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  67. hdiffpatch/_c_src/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +549 -0
  68. hdiffpatch/_c_src/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  69. hdiffpatch/_c_src/HDiffPatch/builds/xcode/zlib.xcodeproj/project.pbxproj +308 -0
  70. hdiffpatch/_c_src/HDiffPatch/builds/xcode/zlib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  71. hdiffpatch/_c_src/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +515 -0
  72. hdiffpatch/_c_src/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  73. hdiffpatch/_c_src/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.h +30 -0
  74. hdiffpatch/_c_src/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.m +32 -0
  75. hdiffpatch/_c_src/HDiffPatch/builds/xcode_iOS_hpatchz/hpatchz.xcodeproj/project.pbxproj +745 -0
  76. hdiffpatch/_c_src/HDiffPatch/builds/xcode_iOS_hpatchz/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  77. hdiffpatch/_c_src/HDiffPatch/builds/xcode_iOS_hpatchz/hpatchz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  78. hdiffpatch/_c_src/HDiffPatch/checksum_plugin_demo.h +716 -0
  79. hdiffpatch/_c_src/HDiffPatch/compress_parallel.cpp +201 -0
  80. hdiffpatch/_c_src/HDiffPatch/compress_parallel.h +59 -0
  81. hdiffpatch/_c_src/HDiffPatch/compress_plugin_demo.h +1519 -0
  82. hdiffpatch/_c_src/HDiffPatch/decompress_plugin_demo.h +1634 -0
  83. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +867 -0
  84. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +79 -0
  85. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +226 -0
  86. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +190 -0
  87. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +357 -0
  88. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
  89. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +151 -0
  90. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +814 -0
  91. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +241 -0
  92. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
  93. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +114 -0
  94. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +53 -0
  95. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +65 -0
  96. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +340 -0
  97. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +144 -0
  98. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
  99. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
  100. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
  101. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
  102. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
  103. hdiffpatch/_c_src/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
  104. hdiffpatch/_c_src/HDiffPatch/file_for_patch.c +658 -0
  105. hdiffpatch/_c_src/HDiffPatch/file_for_patch.h +298 -0
  106. hdiffpatch/_c_src/HDiffPatch/hdiffz.cpp +2112 -0
  107. hdiffpatch/_c_src/HDiffPatch/hdiffz_import_patch.c +31 -0
  108. hdiffpatch/_c_src/HDiffPatch/hdiffz_import_patch.h +42 -0
  109. hdiffpatch/_c_src/HDiffPatch/hpatch_dir_listener.h +302 -0
  110. hdiffpatch/_c_src/HDiffPatch/hpatchz.c +1683 -0
  111. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1709 -0
  112. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/diff.h +200 -0
  113. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/diff_for_hpatch_lite.h +33 -0
  114. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +173 -0
  115. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/match_block.cpp +356 -0
  116. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/match_block.h +149 -0
  117. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +383 -0
  118. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +73 -0
  119. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +184 -0
  120. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +88 -0
  121. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
  122. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +319 -0
  123. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.cpp +10 -0
  124. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +97 -0
  125. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.cpp +14 -0
  126. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +108 -0
  127. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +186 -0
  128. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +780 -0
  129. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +575 -0
  130. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +435 -0
  131. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +144 -0
  132. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +167 -0
  133. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +138 -0
  134. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +763 -0
  135. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +97 -0
  136. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +921 -0
  137. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +319 -0
  138. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +72 -0
  139. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +132 -0
  140. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/qsort_parallel.h +125 -0
  141. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +428 -0
  142. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +133 -0
  143. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
  144. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatch/patch.c +2384 -0
  145. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatch/patch.h +229 -0
  146. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +213 -0
  147. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +342 -0
  148. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.c +186 -0
  149. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.h +48 -0
  150. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_input_cache.h +31 -0
  151. hdiffpatch/_c_src/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_types.h +100 -0
  152. hdiffpatch/_c_src/HDiffPatch/libParallel/parallel_channel.cpp +170 -0
  153. hdiffpatch/_c_src/HDiffPatch/libParallel/parallel_channel.h +153 -0
  154. hdiffpatch/_c_src/HDiffPatch/libParallel/parallel_import.cpp +367 -0
  155. hdiffpatch/_c_src/HDiffPatch/libParallel/parallel_import.h +92 -0
  156. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/dict_decompress_plugin.h +153 -0
  157. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/dir_sync_client.cpp +437 -0
  158. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/dir_sync_client.h +88 -0
  159. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/match_in_old.cpp +572 -0
  160. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/match_in_old.h +46 -0
  161. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_client.cpp +610 -0
  162. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_client.h +75 -0
  163. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_client_private.h +49 -0
  164. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_client_type.h +156 -0
  165. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_client_type_private.h +204 -0
  166. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_diff_data.cpp +250 -0
  167. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_diff_data.h +67 -0
  168. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_info_client.cpp +674 -0
  169. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_client/sync_info_client.h +121 -0
  170. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/dict_compress_plugin.h +83 -0
  171. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/dir_sync_make.cpp +131 -0
  172. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/dir_sync_make.h +56 -0
  173. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/hsynz_plugin.h +55 -0
  174. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/match_in_new.cpp +147 -0
  175. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/match_in_new.h +38 -0
  176. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/sync_info_make.cpp +328 -0
  177. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/sync_info_make.h +65 -0
  178. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/sync_make.cpp +478 -0
  179. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/sync_make.h +68 -0
  180. hdiffpatch/_c_src/HDiffPatch/libhsync/sync_make/sync_make_hash_clash.h +111 -0
  181. hdiffpatch/_c_src/HDiffPatch/test/_private_searchBestParams.cpp +301 -0
  182. hdiffpatch/_c_src/HDiffPatch/test/hpatchz_test.cpp +291 -0
  183. hdiffpatch/_c_src/HDiffPatch/test/testHashClash.cpp +538 -0
  184. hdiffpatch/_c_src/HDiffPatch/test/unit_test.cpp +861 -0
  185. hdiffpatch/_c_src/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.cpp +619 -0
  186. hdiffpatch/_c_src/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.h +95 -0
  187. hdiffpatch/_c_src/HDiffPatch/vcdiff_wrapper/vcpatch_code_table.h +78 -0
  188. hdiffpatch/_c_src/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.c +950 -0
  189. hdiffpatch/_c_src/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.h +72 -0
  190. hdiffpatch/_c_src/bzip2/.git +1 -0
  191. hdiffpatch/_c_src/bzip2/.gitattributes +1 -0
  192. hdiffpatch/_c_src/bzip2/.gitignore +9 -0
  193. hdiffpatch/_c_src/bzip2/CHANGES +356 -0
  194. hdiffpatch/_c_src/bzip2/LICENSE +42 -0
  195. hdiffpatch/_c_src/bzip2/Makefile +223 -0
  196. hdiffpatch/_c_src/bzip2/Makefile-libbz2_so +59 -0
  197. hdiffpatch/_c_src/bzip2/README +196 -0
  198. hdiffpatch/_c_src/bzip2/README.COMPILATION.PROBLEMS +58 -0
  199. hdiffpatch/_c_src/bzip2/README.XML.STUFF +45 -0
  200. hdiffpatch/_c_src/bzip2/blocksort.c +1094 -0
  201. hdiffpatch/_c_src/bzip2/bz-common.xsl +39 -0
  202. hdiffpatch/_c_src/bzip2/bz-fo.xsl +276 -0
  203. hdiffpatch/_c_src/bzip2/bz-html.xsl +23 -0
  204. hdiffpatch/_c_src/bzip2/bzdiff +76 -0
  205. hdiffpatch/_c_src/bzip2/bzdiff.1 +52 -0
  206. hdiffpatch/_c_src/bzip2/bzgrep +85 -0
  207. hdiffpatch/_c_src/bzip2/bzgrep.1 +62 -0
  208. hdiffpatch/_c_src/bzip2/bzip.css +74 -0
  209. hdiffpatch/_c_src/bzip2/bzip2.1 +464 -0
  210. hdiffpatch/_c_src/bzip2/bzip2.c +2046 -0
  211. hdiffpatch/_c_src/bzip2/bzip2recover.c +516 -0
  212. hdiffpatch/_c_src/bzip2/bzlib.c +1572 -0
  213. hdiffpatch/_c_src/bzip2/bzlib.h +282 -0
  214. hdiffpatch/_c_src/bzip2/bzlib_private.h +509 -0
  215. hdiffpatch/_c_src/bzip2/bzmore +61 -0
  216. hdiffpatch/_c_src/bzip2/bzmore.1 +156 -0
  217. hdiffpatch/_c_src/bzip2/compress.c +672 -0
  218. hdiffpatch/_c_src/bzip2/crctable.c +104 -0
  219. hdiffpatch/_c_src/bzip2/decompress.c +652 -0
  220. hdiffpatch/_c_src/bzip2/dlltest.c +175 -0
  221. hdiffpatch/_c_src/bzip2/dlltest.dsp +93 -0
  222. hdiffpatch/_c_src/bzip2/entities.xml +10 -0
  223. hdiffpatch/_c_src/bzip2/format.pl +68 -0
  224. hdiffpatch/_c_src/bzip2/huffman.c +205 -0
  225. hdiffpatch/_c_src/bzip2/libbz2.def +27 -0
  226. hdiffpatch/_c_src/bzip2/libbz2.dsp +130 -0
  227. hdiffpatch/_c_src/bzip2/makefile.msc +63 -0
  228. hdiffpatch/_c_src/bzip2/manual.xml +2979 -0
  229. hdiffpatch/_c_src/bzip2/mk251.c +31 -0
  230. hdiffpatch/_c_src/bzip2/prepare-release.sh +82 -0
  231. hdiffpatch/_c_src/bzip2/randtable.c +84 -0
  232. hdiffpatch/_c_src/bzip2/release-update.sh +90 -0
  233. hdiffpatch/_c_src/bzip2/sample1.bz2 +0 -0
  234. hdiffpatch/_c_src/bzip2/sample1.ref +0 -0
  235. hdiffpatch/_c_src/bzip2/sample2.bz2 +0 -0
  236. hdiffpatch/_c_src/bzip2/sample2.ref +0 -0
  237. hdiffpatch/_c_src/bzip2/sample3.bz2 +0 -0
  238. hdiffpatch/_c_src/bzip2/sample3.ref +30007 -0
  239. hdiffpatch/_c_src/bzip2/spewG.c +54 -0
  240. hdiffpatch/_c_src/bzip2/unzcrash.c +141 -0
  241. hdiffpatch/_c_src/bzip2/words0 +9 -0
  242. hdiffpatch/_c_src/bzip2/words1 +4 -0
  243. hdiffpatch/_c_src/bzip2/words2 +5 -0
  244. hdiffpatch/_c_src/bzip2/words3 +30 -0
  245. hdiffpatch/_c_src/bzip2/xmlproc.sh +114 -0
  246. hdiffpatch/_c_src/foo.c +11 -0
  247. hdiffpatch/_c_src/foo.h +24 -0
  248. hdiffpatch/_c_src/libdeflate/.cirrus.yml +12 -0
  249. hdiffpatch/_c_src/libdeflate/.git +1 -0
  250. hdiffpatch/_c_src/libdeflate/.github/workflows/ci.yml +290 -0
  251. hdiffpatch/_c_src/libdeflate/.gitignore +6 -0
  252. hdiffpatch/_c_src/libdeflate/CMakeLists.txt +319 -0
  253. hdiffpatch/_c_src/libdeflate/COPYING +22 -0
  254. hdiffpatch/_c_src/libdeflate/NEWS.md +515 -0
  255. hdiffpatch/_c_src/libdeflate/README.md +341 -0
  256. hdiffpatch/_c_src/libdeflate/common_defs.h +747 -0
  257. hdiffpatch/_c_src/libdeflate/lib/adler32.c +162 -0
  258. hdiffpatch/_c_src/libdeflate/lib/arm/adler32_impl.h +365 -0
  259. hdiffpatch/_c_src/libdeflate/lib/arm/cpu_features.c +230 -0
  260. hdiffpatch/_c_src/libdeflate/lib/arm/cpu_features.h +216 -0
  261. hdiffpatch/_c_src/libdeflate/lib/arm/crc32_impl.h +596 -0
  262. hdiffpatch/_c_src/libdeflate/lib/arm/crc32_pmull_helpers.h +156 -0
  263. hdiffpatch/_c_src/libdeflate/lib/arm/crc32_pmull_wide.h +226 -0
  264. hdiffpatch/_c_src/libdeflate/lib/arm/matchfinder_impl.h +78 -0
  265. hdiffpatch/_c_src/libdeflate/lib/bt_matchfinder.h +342 -0
  266. hdiffpatch/_c_src/libdeflate/lib/cpu_features_common.h +93 -0
  267. hdiffpatch/_c_src/libdeflate/lib/crc32.c +262 -0
  268. hdiffpatch/_c_src/libdeflate/lib/crc32_multipliers.h +375 -0
  269. hdiffpatch/_c_src/libdeflate/lib/crc32_tables.h +587 -0
  270. hdiffpatch/_c_src/libdeflate/lib/decompress_template.h +849 -0
  271. hdiffpatch/_c_src/libdeflate/lib/deflate_compress.c +4394 -0
  272. hdiffpatch/_c_src/libdeflate/lib/deflate_compress.h +15 -0
  273. hdiffpatch/_c_src/libdeflate/lib/deflate_constants.h +56 -0
  274. hdiffpatch/_c_src/libdeflate/lib/deflate_decompress.c +1249 -0
  275. hdiffpatch/_c_src/libdeflate/lib/gzip_compress.c +112 -0
  276. hdiffpatch/_c_src/libdeflate/lib/gzip_constants.h +45 -0
  277. hdiffpatch/_c_src/libdeflate/lib/gzip_decompress.c +184 -0
  278. hdiffpatch/_c_src/libdeflate/lib/gzip_overhead.h +20 -0
  279. hdiffpatch/_c_src/libdeflate/lib/hc_matchfinder.h +401 -0
  280. hdiffpatch/_c_src/libdeflate/lib/ht_matchfinder.h +240 -0
  281. hdiffpatch/_c_src/libdeflate/lib/lib_common.h +108 -0
  282. hdiffpatch/_c_src/libdeflate/lib/matchfinder_common.h +224 -0
  283. hdiffpatch/_c_src/libdeflate/lib/riscv/matchfinder_impl.h +97 -0
  284. hdiffpatch/_c_src/libdeflate/lib/utils.c +141 -0
  285. hdiffpatch/_c_src/libdeflate/lib/x86/adler32_impl.h +136 -0
  286. hdiffpatch/_c_src/libdeflate/lib/x86/adler32_template.h +518 -0
  287. hdiffpatch/_c_src/libdeflate/lib/x86/cpu_features.c +212 -0
  288. hdiffpatch/_c_src/libdeflate/lib/x86/cpu_features.h +179 -0
  289. hdiffpatch/_c_src/libdeflate/lib/x86/crc32_impl.h +160 -0
  290. hdiffpatch/_c_src/libdeflate/lib/x86/crc32_pclmul_template.h +467 -0
  291. hdiffpatch/_c_src/libdeflate/lib/x86/decompress_impl.h +57 -0
  292. hdiffpatch/_c_src/libdeflate/lib/x86/matchfinder_impl.h +122 -0
  293. hdiffpatch/_c_src/libdeflate/lib/zlib_compress.c +82 -0
  294. hdiffpatch/_c_src/libdeflate/lib/zlib_constants.h +21 -0
  295. hdiffpatch/_c_src/libdeflate/lib/zlib_decompress.c +104 -0
  296. hdiffpatch/_c_src/libdeflate/libdeflate-config.cmake.in +3 -0
  297. hdiffpatch/_c_src/libdeflate/libdeflate.h +534 -0
  298. hdiffpatch/_c_src/libdeflate/libdeflate.pc.in +18 -0
  299. hdiffpatch/_c_src/libdeflate/pgzip/Makefile +74 -0
  300. hdiffpatch/_c_src/libdeflate/pgzip/vc/pgzip.sln +37 -0
  301. hdiffpatch/_c_src/libdeflate/pgzip/vc/pgzip.vcxproj +215 -0
  302. hdiffpatch/_c_src/libdeflate/pgzip/vc/pgzip.vcxproj.filters +46 -0
  303. hdiffpatch/_c_src/libdeflate/pgzip/xcode/pgzip.xcodeproj/project.pbxproj +326 -0
  304. hdiffpatch/_c_src/libdeflate/pgzip/xcode/pgzip.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  305. hdiffpatch/_c_src/libdeflate/pgzip/xcode/pgzip.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  306. hdiffpatch/_c_src/libdeflate/pgzip/xcode/pgzip.xcodeproj/xcshareddata/xcschemes/pgzip.xcscheme +78 -0
  307. hdiffpatch/_c_src/libdeflate/programs/CMakeLists.txt +105 -0
  308. hdiffpatch/_c_src/libdeflate/programs/benchmark.c +696 -0
  309. hdiffpatch/_c_src/libdeflate/programs/checksum.c +218 -0
  310. hdiffpatch/_c_src/libdeflate/programs/config.h.in +19 -0
  311. hdiffpatch/_c_src/libdeflate/programs/gzip.c +688 -0
  312. hdiffpatch/_c_src/libdeflate/programs/gzip_compress_by_stream_mt.cpp +336 -0
  313. hdiffpatch/_c_src/libdeflate/programs/gzip_compress_by_stream_mt.h +43 -0
  314. hdiffpatch/_c_src/libdeflate/programs/gzip_decompress_by_stream_mt.cpp +483 -0
  315. hdiffpatch/_c_src/libdeflate/programs/gzip_decompress_by_stream_mt.h +53 -0
  316. hdiffpatch/_c_src/libdeflate/programs/pgzip.c +523 -0
  317. hdiffpatch/_c_src/libdeflate/programs/prog_util.c +541 -0
  318. hdiffpatch/_c_src/libdeflate/programs/prog_util.h +226 -0
  319. hdiffpatch/_c_src/libdeflate/programs/test_checksums.c +200 -0
  320. hdiffpatch/_c_src/libdeflate/programs/test_custom_malloc.c +155 -0
  321. hdiffpatch/_c_src/libdeflate/programs/test_incomplete_codes.c +385 -0
  322. hdiffpatch/_c_src/libdeflate/programs/test_invalid_streams.c +130 -0
  323. hdiffpatch/_c_src/libdeflate/programs/test_litrunlen_overflow.c +72 -0
  324. hdiffpatch/_c_src/libdeflate/programs/test_overread.c +95 -0
  325. hdiffpatch/_c_src/libdeflate/programs/test_slow_decompression.c +472 -0
  326. hdiffpatch/_c_src/libdeflate/programs/test_trailing_bytes.c +151 -0
  327. hdiffpatch/_c_src/libdeflate/programs/test_util.c +237 -0
  328. hdiffpatch/_c_src/libdeflate/programs/test_util.h +61 -0
  329. hdiffpatch/_c_src/libdeflate/programs/tgetopt.c +118 -0
  330. hdiffpatch/_c_src/libdeflate/scripts/android_build.sh +118 -0
  331. hdiffpatch/_c_src/libdeflate/scripts/android_tests.sh +69 -0
  332. hdiffpatch/_c_src/libdeflate/scripts/benchmark.sh +10 -0
  333. hdiffpatch/_c_src/libdeflate/scripts/checksum.sh +10 -0
  334. hdiffpatch/_c_src/libdeflate/scripts/checksum_benchmarks.sh +253 -0
  335. hdiffpatch/_c_src/libdeflate/scripts/cmake-helper.sh +17 -0
  336. hdiffpatch/_c_src/libdeflate/scripts/deflate_benchmarks.sh +119 -0
  337. hdiffpatch/_c_src/libdeflate/scripts/exec_tests.sh +38 -0
  338. hdiffpatch/_c_src/libdeflate/scripts/gen-crc32-consts.py +158 -0
  339. hdiffpatch/_c_src/libdeflate/scripts/gen-release-archives.sh +37 -0
  340. hdiffpatch/_c_src/libdeflate/scripts/gen_bitreverse_tab.py +19 -0
  341. hdiffpatch/_c_src/libdeflate/scripts/gen_default_litlen_costs.py +44 -0
  342. hdiffpatch/_c_src/libdeflate/scripts/gen_offset_slot_map.py +29 -0
  343. hdiffpatch/_c_src/libdeflate/scripts/gzip_tests.sh +523 -0
  344. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/.gitignore +1 -0
  345. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/deflate_compress/corpus/0 +0 -0
  346. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/deflate_compress/fuzz.c +95 -0
  347. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/deflate_decompress/corpus/0 +3 -0
  348. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/deflate_decompress/fuzz.c +62 -0
  349. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/fuzz.sh +108 -0
  350. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/gzip_decompress/corpus/0 +0 -0
  351. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/gzip_decompress/fuzz.c +19 -0
  352. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/zlib_decompress/corpus/0 +3 -0
  353. hdiffpatch/_c_src/libdeflate/scripts/libFuzzer/zlib_decompress/fuzz.c +19 -0
  354. hdiffpatch/_c_src/libdeflate/scripts/run_tests.sh +416 -0
  355. hdiffpatch/_c_src/libdeflate/scripts/toolchain-i686-w64-mingw32.cmake +8 -0
  356. hdiffpatch/_c_src/libdeflate/scripts/toolchain-x86_64-w64-mingw32.cmake +8 -0
  357. hdiffpatch/_c_src/libmd5/.git +1 -0
  358. hdiffpatch/_c_src/libmd5/md5.c +381 -0
  359. hdiffpatch/_c_src/libmd5/md5.h +91 -0
  360. hdiffpatch/_c_src/libmd5/md5main.c +139 -0
  361. hdiffpatch/_c_src/lzma/.git +1 -0
  362. hdiffpatch/_c_src/lzma/Asm/arm/7zCrcOpt.asm +100 -0
  363. hdiffpatch/_c_src/lzma/Asm/arm64/7zAsm.S +181 -0
  364. hdiffpatch/_c_src/lzma/Asm/arm64/LzmaDecOpt.S +1487 -0
  365. hdiffpatch/_c_src/lzma/Asm/x86/7zAsm.asm +341 -0
  366. hdiffpatch/_c_src/lzma/Asm/x86/7zCrcOpt.asm +258 -0
  367. hdiffpatch/_c_src/lzma/Asm/x86/AesOpt.asm +742 -0
  368. hdiffpatch/_c_src/lzma/Asm/x86/LzFindOpt.asm +540 -0
  369. hdiffpatch/_c_src/lzma/Asm/x86/LzmaDecOpt.asm +1339 -0
  370. hdiffpatch/_c_src/lzma/Asm/x86/Sha256Opt.asm +275 -0
  371. hdiffpatch/_c_src/lzma/Asm/x86/XzCrc64Opt.asm +523 -0
  372. hdiffpatch/_c_src/lzma/C/7z.h +204 -0
  373. hdiffpatch/_c_src/lzma/C/7zAlloc.c +89 -0
  374. hdiffpatch/_c_src/lzma/C/7zAlloc.h +19 -0
  375. hdiffpatch/_c_src/lzma/C/7zArcIn.c +1786 -0
  376. hdiffpatch/_c_src/lzma/C/7zBuf.c +36 -0
  377. hdiffpatch/_c_src/lzma/C/7zBuf.h +35 -0
  378. hdiffpatch/_c_src/lzma/C/7zBuf2.c +52 -0
  379. hdiffpatch/_c_src/lzma/C/7zCrc.c +464 -0
  380. hdiffpatch/_c_src/lzma/C/7zCrc.h +28 -0
  381. hdiffpatch/_c_src/lzma/C/7zCrcOpt.c +199 -0
  382. hdiffpatch/_c_src/lzma/C/7zDec.c +673 -0
  383. hdiffpatch/_c_src/lzma/C/7zFile.c +443 -0
  384. hdiffpatch/_c_src/lzma/C/7zFile.h +92 -0
  385. hdiffpatch/_c_src/lzma/C/7zStream.c +199 -0
  386. hdiffpatch/_c_src/lzma/C/7zTypes.h +597 -0
  387. hdiffpatch/_c_src/lzma/C/7zVersion.h +27 -0
  388. hdiffpatch/_c_src/lzma/C/7zVersion.rc +55 -0
  389. hdiffpatch/_c_src/lzma/C/7zWindows.h +101 -0
  390. hdiffpatch/_c_src/lzma/C/7zip_gcc_c.mak +360 -0
  391. hdiffpatch/_c_src/lzma/C/Aes.c +429 -0
  392. hdiffpatch/_c_src/lzma/C/Aes.h +60 -0
  393. hdiffpatch/_c_src/lzma/C/AesOpt.c +1002 -0
  394. hdiffpatch/_c_src/lzma/C/Alloc.c +605 -0
  395. hdiffpatch/_c_src/lzma/C/Alloc.h +76 -0
  396. hdiffpatch/_c_src/lzma/C/Asm_c.mak +12 -0
  397. hdiffpatch/_c_src/lzma/C/Bcj2.c +290 -0
  398. hdiffpatch/_c_src/lzma/C/Bcj2.h +332 -0
  399. hdiffpatch/_c_src/lzma/C/Bcj2Enc.c +506 -0
  400. hdiffpatch/_c_src/lzma/C/Bra.c +709 -0
  401. hdiffpatch/_c_src/lzma/C/Bra.h +105 -0
  402. hdiffpatch/_c_src/lzma/C/Bra86.c +187 -0
  403. hdiffpatch/_c_src/lzma/C/BraIA64.c +14 -0
  404. hdiffpatch/_c_src/lzma/C/Compiler.h +236 -0
  405. hdiffpatch/_c_src/lzma/C/CpuArch.c +970 -0
  406. hdiffpatch/_c_src/lzma/C/CpuArch.h +678 -0
  407. hdiffpatch/_c_src/lzma/C/Delta.c +169 -0
  408. hdiffpatch/_c_src/lzma/C/Delta.h +19 -0
  409. hdiffpatch/_c_src/lzma/C/DllSecur.c +99 -0
  410. hdiffpatch/_c_src/lzma/C/DllSecur.h +20 -0
  411. hdiffpatch/_c_src/lzma/C/LzFind.c +1746 -0
  412. hdiffpatch/_c_src/lzma/C/LzFind.h +160 -0
  413. hdiffpatch/_c_src/lzma/C/LzFindMt.c +1414 -0
  414. hdiffpatch/_c_src/lzma/C/LzFindMt.h +112 -0
  415. hdiffpatch/_c_src/lzma/C/LzFindOpt.c +578 -0
  416. hdiffpatch/_c_src/lzma/C/LzHash.h +34 -0
  417. hdiffpatch/_c_src/lzma/C/Lzma2Dec.c +493 -0
  418. hdiffpatch/_c_src/lzma/C/Lzma2Dec.h +121 -0
  419. hdiffpatch/_c_src/lzma/C/Lzma2DecMt.c +1095 -0
  420. hdiffpatch/_c_src/lzma/C/Lzma2DecMt.h +81 -0
  421. hdiffpatch/_c_src/lzma/C/Lzma2Enc.c +805 -0
  422. hdiffpatch/_c_src/lzma/C/Lzma2Enc.h +57 -0
  423. hdiffpatch/_c_src/lzma/C/Lzma86.h +111 -0
  424. hdiffpatch/_c_src/lzma/C/Lzma86Dec.c +53 -0
  425. hdiffpatch/_c_src/lzma/C/Lzma86Enc.c +103 -0
  426. hdiffpatch/_c_src/lzma/C/LzmaDec.c +1363 -0
  427. hdiffpatch/_c_src/lzma/C/LzmaDec.h +237 -0
  428. hdiffpatch/_c_src/lzma/C/LzmaEnc.c +3144 -0
  429. hdiffpatch/_c_src/lzma/C/LzmaEnc.h +83 -0
  430. hdiffpatch/_c_src/lzma/C/LzmaLib.c +42 -0
  431. hdiffpatch/_c_src/lzma/C/LzmaLib.h +138 -0
  432. hdiffpatch/_c_src/lzma/C/MtCoder.c +571 -0
  433. hdiffpatch/_c_src/lzma/C/MtCoder.h +141 -0
  434. hdiffpatch/_c_src/lzma/C/MtDec.c +1124 -0
  435. hdiffpatch/_c_src/lzma/C/MtDec.h +202 -0
  436. hdiffpatch/_c_src/lzma/C/Ppmd.h +169 -0
  437. hdiffpatch/_c_src/lzma/C/Ppmd7.c +1131 -0
  438. hdiffpatch/_c_src/lzma/C/Ppmd7.h +181 -0
  439. hdiffpatch/_c_src/lzma/C/Ppmd7Dec.c +312 -0
  440. hdiffpatch/_c_src/lzma/C/Ppmd7Enc.c +337 -0
  441. hdiffpatch/_c_src/lzma/C/Precomp.h +127 -0
  442. hdiffpatch/_c_src/lzma/C/RotateDefs.h +50 -0
  443. hdiffpatch/_c_src/lzma/C/Sha256.c +492 -0
  444. hdiffpatch/_c_src/lzma/C/Sha256.h +86 -0
  445. hdiffpatch/_c_src/lzma/C/Sha256Opt.c +451 -0
  446. hdiffpatch/_c_src/lzma/C/Sort.c +141 -0
  447. hdiffpatch/_c_src/lzma/C/Sort.h +18 -0
  448. hdiffpatch/_c_src/lzma/C/SwapBytes.c +835 -0
  449. hdiffpatch/_c_src/lzma/C/SwapBytes.h +17 -0
  450. hdiffpatch/_c_src/lzma/C/Threads.c +581 -0
  451. hdiffpatch/_c_src/lzma/C/Threads.h +250 -0
  452. hdiffpatch/_c_src/lzma/C/Util/7z/7z.dsp +249 -0
  453. hdiffpatch/_c_src/lzma/C/Util/7z/7z.dsw +29 -0
  454. hdiffpatch/_c_src/lzma/C/Util/7z/7zMain.c +889 -0
  455. hdiffpatch/_c_src/lzma/C/Util/7z/Precomp.c +4 -0
  456. hdiffpatch/_c_src/lzma/C/Util/7z/Precomp.h +13 -0
  457. hdiffpatch/_c_src/lzma/C/Util/7z/makefile +44 -0
  458. hdiffpatch/_c_src/lzma/C/Util/7z/makefile.gcc +32 -0
  459. hdiffpatch/_c_src/lzma/C/Util/Lzma/LzmaUtil.c +313 -0
  460. hdiffpatch/_c_src/lzma/C/Util/Lzma/LzmaUtil.dsp +188 -0
  461. hdiffpatch/_c_src/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
  462. hdiffpatch/_c_src/lzma/C/Util/Lzma/Precomp.h +13 -0
  463. hdiffpatch/_c_src/lzma/C/Util/Lzma/makefile +30 -0
  464. hdiffpatch/_c_src/lzma/C/Util/Lzma/makefile.gcc +21 -0
  465. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
  466. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/LzmaLib.dsp +202 -0
  467. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  468. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  469. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/Precomp.c +4 -0
  470. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/Precomp.h +13 -0
  471. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/makefile +59 -0
  472. hdiffpatch/_c_src/lzma/C/Util/LzmaLib/resource.rc +3 -0
  473. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/Precomp.c +4 -0
  474. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/Precomp.h +13 -0
  475. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/SfxSetup.c +657 -0
  476. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  477. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  478. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/makefile +44 -0
  479. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/makefile_con +40 -0
  480. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/resource.rc +5 -0
  481. hdiffpatch/_c_src/lzma/C/Util/SfxSetup/setup.ico +0 -0
  482. hdiffpatch/_c_src/lzma/C/Xz.c +92 -0
  483. hdiffpatch/_c_src/lzma/C/Xz.h +536 -0
  484. hdiffpatch/_c_src/lzma/C/XzCrc64.c +140 -0
  485. hdiffpatch/_c_src/lzma/C/XzCrc64.h +26 -0
  486. hdiffpatch/_c_src/lzma/C/XzCrc64Opt.c +261 -0
  487. hdiffpatch/_c_src/lzma/C/XzDec.c +2877 -0
  488. hdiffpatch/_c_src/lzma/C/XzEnc.c +1378 -0
  489. hdiffpatch/_c_src/lzma/C/XzEnc.h +63 -0
  490. hdiffpatch/_c_src/lzma/C/XzIn.c +340 -0
  491. hdiffpatch/_c_src/lzma/C/var_clang.mak +11 -0
  492. hdiffpatch/_c_src/lzma/C/var_clang_arm64.mak +12 -0
  493. hdiffpatch/_c_src/lzma/C/var_clang_x64.mak +11 -0
  494. hdiffpatch/_c_src/lzma/C/var_clang_x86.mak +11 -0
  495. hdiffpatch/_c_src/lzma/C/var_gcc.mak +12 -0
  496. hdiffpatch/_c_src/lzma/C/var_gcc_arm64.mak +12 -0
  497. hdiffpatch/_c_src/lzma/C/var_gcc_x64.mak +10 -0
  498. hdiffpatch/_c_src/lzma/C/var_gcc_x86.mak +10 -0
  499. hdiffpatch/_c_src/lzma/C/var_mac_arm64.mak +11 -0
  500. hdiffpatch/_c_src/lzma/C/var_mac_x64.mak +11 -0
  501. hdiffpatch/_c_src/lzma/C/warn_clang.mak +1 -0
  502. hdiffpatch/_c_src/lzma/C/warn_clang_mac.mak +1 -0
  503. hdiffpatch/_c_src/lzma/C/warn_gcc.mak +51 -0
  504. hdiffpatch/_c_src/lzma/CPP/7zip/7zip.mak +240 -0
  505. hdiffpatch/_c_src/lzma/CPP/7zip/7zip_gcc.mak +1368 -0
  506. hdiffpatch/_c_src/lzma/CPP/7zip/Aes.mak +10 -0
  507. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  508. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +90 -0
  509. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  510. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  511. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +721 -0
  512. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  513. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  514. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  515. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  516. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +795 -0
  517. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  518. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1158 -0
  519. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  520. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  521. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1764 -0
  522. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zIn.h +454 -0
  523. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zItem.h +207 -0
  524. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  525. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zOut.h +346 -0
  526. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  527. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  528. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  529. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  530. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  531. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +3088 -0
  532. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  533. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  534. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  535. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Archive.def +14 -0
  536. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Archive2.def +21 -0
  537. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  538. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  539. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  540. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  541. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  542. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +311 -0
  543. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/HandlerOut.h +154 -0
  544. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  545. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  546. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +135 -0
  547. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +30 -0
  548. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  549. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  550. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  551. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  552. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  553. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  554. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  555. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/DllExports2.cpp +175 -0
  556. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/IArchive.h +754 -0
  557. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  558. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/LzmaHandler.cpp +608 -0
  559. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  560. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/StdAfx.h +11 -0
  561. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/XzHandler.cpp +1440 -0
  562. hdiffpatch/_c_src/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
  563. hdiffpatch/_c_src/lzma/CPP/7zip/Asm.mak +12 -0
  564. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  565. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  566. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  567. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  568. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  569. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/makefile.gcc +279 -0
  570. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  571. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  572. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  573. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  574. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  575. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  576. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  577. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  578. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  579. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +817 -0
  580. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  581. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  582. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  583. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  584. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  585. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  586. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  587. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
  588. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  589. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  590. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  591. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  592. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  593. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  594. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  595. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  596. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  597. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  598. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  599. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  600. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  601. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  602. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  603. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +371 -0
  604. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  605. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  606. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  607. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  608. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  609. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  610. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  611. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  612. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  613. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  614. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  615. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  616. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  617. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  618. hdiffpatch/_c_src/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  619. hdiffpatch/_c_src/lzma/CPP/7zip/Common/CWrappers.cpp +358 -0
  620. hdiffpatch/_c_src/lzma/CPP/7zip/Common/CWrappers.h +182 -0
  621. hdiffpatch/_c_src/lzma/CPP/7zip/Common/CreateCoder.cpp +548 -0
  622. hdiffpatch/_c_src/lzma/CPP/7zip/Common/CreateCoder.h +200 -0
  623. hdiffpatch/_c_src/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  624. hdiffpatch/_c_src/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  625. hdiffpatch/_c_src/lzma/CPP/7zip/Common/FileStreams.cpp +923 -0
  626. hdiffpatch/_c_src/lzma/CPP/7zip/Common/FileStreams.h +205 -0
  627. hdiffpatch/_c_src/lzma/CPP/7zip/Common/FilterCoder.cpp +577 -0
  628. hdiffpatch/_c_src/lzma/CPP/7zip/Common/FilterCoder.h +201 -0
  629. hdiffpatch/_c_src/lzma/CPP/7zip/Common/InBuffer.cpp +182 -0
  630. hdiffpatch/_c_src/lzma/CPP/7zip/Common/InBuffer.h +111 -0
  631. hdiffpatch/_c_src/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  632. hdiffpatch/_c_src/lzma/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  633. hdiffpatch/_c_src/lzma/CPP/7zip/Common/LimitedStreams.cpp +393 -0
  634. hdiffpatch/_c_src/lzma/CPP/7zip/Common/LimitedStreams.h +221 -0
  635. hdiffpatch/_c_src/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
  636. hdiffpatch/_c_src/lzma/CPP/7zip/Common/LockedStream.h +6 -0
  637. hdiffpatch/_c_src/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
  638. hdiffpatch/_c_src/lzma/CPP/7zip/Common/MethodId.h +10 -0
  639. hdiffpatch/_c_src/lzma/CPP/7zip/Common/MethodProps.cpp +739 -0
  640. hdiffpatch/_c_src/lzma/CPP/7zip/Common/MethodProps.h +345 -0
  641. hdiffpatch/_c_src/lzma/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  642. hdiffpatch/_c_src/lzma/CPP/7zip/Common/MultiOutStream.h +160 -0
  643. hdiffpatch/_c_src/lzma/CPP/7zip/Common/OffsetStream.cpp +37 -0
  644. hdiffpatch/_c_src/lzma/CPP/7zip/Common/OffsetStream.h +22 -0
  645. hdiffpatch/_c_src/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
  646. hdiffpatch/_c_src/lzma/CPP/7zip/Common/OutBuffer.h +108 -0
  647. hdiffpatch/_c_src/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  648. hdiffpatch/_c_src/lzma/CPP/7zip/Common/ProgressUtils.h +33 -0
  649. hdiffpatch/_c_src/lzma/CPP/7zip/Common/PropId.cpp +117 -0
  650. hdiffpatch/_c_src/lzma/CPP/7zip/Common/RegisterArc.h +80 -0
  651. hdiffpatch/_c_src/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
  652. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StdAfx.h +11 -0
  653. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StreamBinder.cpp +151 -0
  654. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StreamBinder.h +78 -0
  655. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StreamObjects.cpp +290 -0
  656. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StreamObjects.h +146 -0
  657. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StreamUtils.cpp +101 -0
  658. hdiffpatch/_c_src/lzma/CPP/7zip/Common/StreamUtils.h +31 -0
  659. hdiffpatch/_c_src/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  660. hdiffpatch/_c_src/lzma/CPP/7zip/Common/UniqBlocks.h +41 -0
  661. hdiffpatch/_c_src/lzma/CPP/7zip/Common/VirtThread.cpp +47 -0
  662. hdiffpatch/_c_src/lzma/CPP/7zip/Common/VirtThread.h +24 -0
  663. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  664. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  665. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  666. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  667. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/BcjCoder.h +37 -0
  668. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  669. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  670. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/BranchMisc.h +59 -0
  671. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  672. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  673. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/CodecExports.cpp +378 -0
  674. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  675. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/CopyCoder.h +34 -0
  676. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  677. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  678. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  679. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  680. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +126 -0
  681. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  682. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  683. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  684. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  685. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +356 -0
  686. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  687. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  688. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  689. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  690. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  691. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  692. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  693. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/StdAfx.h +11 -0
  694. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  695. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/XzDecoder.h +86 -0
  696. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  697. hdiffpatch/_c_src/lzma/CPP/7zip/Compress/XzEncoder.h +35 -0
  698. hdiffpatch/_c_src/lzma/CPP/7zip/Crc.mak +8 -0
  699. hdiffpatch/_c_src/lzma/CPP/7zip/Crc64.mak +8 -0
  700. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/7zAes.cpp +315 -0
  701. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/7zAes.h +130 -0
  702. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  703. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/MyAes.cpp +258 -0
  704. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/MyAes.h +122 -0
  705. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  706. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/RandGen.cpp +241 -0
  707. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/RandGen.h +41 -0
  708. hdiffpatch/_c_src/lzma/CPP/7zip/Crypto/StdAfx.h +11 -0
  709. hdiffpatch/_c_src/lzma/CPP/7zip/GuiCommon.rc +119 -0
  710. hdiffpatch/_c_src/lzma/CPP/7zip/Guid.txt +243 -0
  711. hdiffpatch/_c_src/lzma/CPP/7zip/ICoder.h +477 -0
  712. hdiffpatch/_c_src/lzma/CPP/7zip/IDecl.h +76 -0
  713. hdiffpatch/_c_src/lzma/CPP/7zip/IPassword.h +54 -0
  714. hdiffpatch/_c_src/lzma/CPP/7zip/IProgress.h +20 -0
  715. hdiffpatch/_c_src/lzma/CPP/7zip/IStream.h +210 -0
  716. hdiffpatch/_c_src/lzma/CPP/7zip/LzFindOpt.mak +7 -0
  717. hdiffpatch/_c_src/lzma/CPP/7zip/LzmaDec.mak +7 -0
  718. hdiffpatch/_c_src/lzma/CPP/7zip/LzmaDec_gcc.mak +14 -0
  719. hdiffpatch/_c_src/lzma/CPP/7zip/MyVersion.h +2 -0
  720. hdiffpatch/_c_src/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
  721. hdiffpatch/_c_src/lzma/CPP/7zip/PropID.h +178 -0
  722. hdiffpatch/_c_src/lzma/CPP/7zip/Sha256.mak +13 -0
  723. hdiffpatch/_c_src/lzma/CPP/7zip/SubBuild.mak +3 -0
  724. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  725. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  726. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  727. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  728. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  729. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/makefile +29 -0
  730. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  731. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
  732. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1769 -0
  733. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  734. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +2747 -0
  735. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +584 -0
  736. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  737. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  738. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +398 -0
  739. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  740. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Bench.cpp +4971 -0
  741. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Bench.h +121 -0
  742. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  743. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
  744. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/DirItem.h +407 -0
  745. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1654 -0
  746. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  747. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
  748. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Extract.cpp +575 -0
  749. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Extract.h +107 -0
  750. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  751. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +296 -0
  752. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  753. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/HashCalc.cpp +2120 -0
  754. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/HashCalc.h +329 -0
  755. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  756. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1337 -0
  757. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  758. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3702 -0
  759. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  760. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +745 -0
  761. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  762. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Property.h +14 -0
  763. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  764. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
  765. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  766. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
  767. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/StdAfx.h +11 -0
  768. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  769. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/TempFiles.h +19 -0
  770. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Update.cpp +1931 -0
  771. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/Update.h +219 -0
  772. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  773. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  774. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +1029 -0
  775. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  776. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +302 -0
  777. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  778. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +74 -0
  779. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  780. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  781. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/WorkDir.h +30 -0
  782. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  783. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  784. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
  785. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/Console.mak +46 -0
  786. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/Console.manifest +16 -0
  787. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  788. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  789. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +946 -0
  790. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  791. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  792. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/HashCon.h +58 -0
  793. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/List.cpp +1417 -0
  794. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/List.h +42 -0
  795. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/Main.cpp +1632 -0
  796. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  797. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  798. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  799. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  800. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  801. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  802. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/StdAfx.h +11 -0
  803. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +998 -0
  804. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  805. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  806. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  807. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/makefile +68 -0
  808. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/makefile.gcc +187 -0
  809. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
  810. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  811. hdiffpatch/_c_src/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  812. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  813. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  814. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  815. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  816. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  817. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  818. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  819. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1272 -0
  820. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  821. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  822. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  823. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  824. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  825. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  826. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  827. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  828. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  829. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  830. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  831. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  832. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  833. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  834. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  835. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  836. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  837. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  838. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  839. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1483 -0
  840. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  841. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  842. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  843. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  844. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  845. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  846. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  847. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  848. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  849. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +351 -0
  850. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  851. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/resource.h +199 -0
  852. hdiffpatch/_c_src/lzma/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  853. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  854. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
  855. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +421 -0
  856. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  857. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  858. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  859. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  860. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  861. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  862. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  863. hdiffpatch/_c_src/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
  864. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_clang.mak +3 -0
  865. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  866. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_clang_x64.mak +3 -0
  867. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_clang_x86.mak +3 -0
  868. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_gcc.mak +3 -0
  869. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  870. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  871. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  872. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  873. hdiffpatch/_c_src/lzma/CPP/7zip/cmpl_mac_x64.mak +3 -0
  874. hdiffpatch/_c_src/lzma/CPP/7zip/var_clang.mak +11 -0
  875. hdiffpatch/_c_src/lzma/CPP/7zip/var_clang_arm64.mak +19 -0
  876. hdiffpatch/_c_src/lzma/CPP/7zip/var_clang_x64.mak +11 -0
  877. hdiffpatch/_c_src/lzma/CPP/7zip/var_clang_x86.mak +11 -0
  878. hdiffpatch/_c_src/lzma/CPP/7zip/var_gcc.mak +12 -0
  879. hdiffpatch/_c_src/lzma/CPP/7zip/var_gcc_arm64.mak +12 -0
  880. hdiffpatch/_c_src/lzma/CPP/7zip/var_gcc_x64.mak +11 -0
  881. hdiffpatch/_c_src/lzma/CPP/7zip/var_gcc_x86.mak +10 -0
  882. hdiffpatch/_c_src/lzma/CPP/7zip/var_mac_arm64.mak +13 -0
  883. hdiffpatch/_c_src/lzma/CPP/7zip/var_mac_x64.mak +11 -0
  884. hdiffpatch/_c_src/lzma/CPP/7zip/warn_clang.mak +3 -0
  885. hdiffpatch/_c_src/lzma/CPP/7zip/warn_clang_mac.mak +9 -0
  886. hdiffpatch/_c_src/lzma/CPP/7zip/warn_gcc.mak +55 -0
  887. hdiffpatch/_c_src/lzma/CPP/Build.mak +246 -0
  888. hdiffpatch/_c_src/lzma/CPP/Common/AutoPtr.h +46 -0
  889. hdiffpatch/_c_src/lzma/CPP/Common/CRC.cpp +7 -0
  890. hdiffpatch/_c_src/lzma/CPP/Common/C_FileIO.cpp +3 -0
  891. hdiffpatch/_c_src/lzma/CPP/Common/C_FileIO.h +6 -0
  892. hdiffpatch/_c_src/lzma/CPP/Common/ComTry.h +21 -0
  893. hdiffpatch/_c_src/lzma/CPP/Common/CommandLineParser.cpp +231 -0
  894. hdiffpatch/_c_src/lzma/CPP/Common/CommandLineParser.h +63 -0
  895. hdiffpatch/_c_src/lzma/CPP/Common/Common.h +28 -0
  896. hdiffpatch/_c_src/lzma/CPP/Common/Common0.h +330 -0
  897. hdiffpatch/_c_src/lzma/CPP/Common/CrcReg.cpp +77 -0
  898. hdiffpatch/_c_src/lzma/CPP/Common/Defs.h +16 -0
  899. hdiffpatch/_c_src/lzma/CPP/Common/DynLimBuf.cpp +93 -0
  900. hdiffpatch/_c_src/lzma/CPP/Common/DynLimBuf.h +41 -0
  901. hdiffpatch/_c_src/lzma/CPP/Common/DynamicBuffer.h +76 -0
  902. hdiffpatch/_c_src/lzma/CPP/Common/IntToString.cpp +215 -0
  903. hdiffpatch/_c_src/lzma/CPP/Common/IntToString.h +54 -0
  904. hdiffpatch/_c_src/lzma/CPP/Common/Lang.h +30 -0
  905. hdiffpatch/_c_src/lzma/CPP/Common/ListFileUtils.cpp +150 -0
  906. hdiffpatch/_c_src/lzma/CPP/Common/ListFileUtils.h +18 -0
  907. hdiffpatch/_c_src/lzma/CPP/Common/LzFindPrepare.cpp +7 -0
  908. hdiffpatch/_c_src/lzma/CPP/Common/MyBuffer.h +297 -0
  909. hdiffpatch/_c_src/lzma/CPP/Common/MyBuffer2.h +185 -0
  910. hdiffpatch/_c_src/lzma/CPP/Common/MyCom.h +693 -0
  911. hdiffpatch/_c_src/lzma/CPP/Common/MyException.h +14 -0
  912. hdiffpatch/_c_src/lzma/CPP/Common/MyGuidDef.h +63 -0
  913. hdiffpatch/_c_src/lzma/CPP/Common/MyInitGuid.h +57 -0
  914. hdiffpatch/_c_src/lzma/CPP/Common/MyLinux.h +75 -0
  915. hdiffpatch/_c_src/lzma/CPP/Common/MyString.cpp +1871 -0
  916. hdiffpatch/_c_src/lzma/CPP/Common/MyString.h +1078 -0
  917. hdiffpatch/_c_src/lzma/CPP/Common/MyTypes.h +38 -0
  918. hdiffpatch/_c_src/lzma/CPP/Common/MyUnknown.h +8 -0
  919. hdiffpatch/_c_src/lzma/CPP/Common/MyVector.cpp +3 -0
  920. hdiffpatch/_c_src/lzma/CPP/Common/MyVector.h +724 -0
  921. hdiffpatch/_c_src/lzma/CPP/Common/MyWindows.cpp +292 -0
  922. hdiffpatch/_c_src/lzma/CPP/Common/MyWindows.h +325 -0
  923. hdiffpatch/_c_src/lzma/CPP/Common/NewHandler.cpp +340 -0
  924. hdiffpatch/_c_src/lzma/CPP/Common/NewHandler.h +121 -0
  925. hdiffpatch/_c_src/lzma/CPP/Common/Sha256Prepare.cpp +7 -0
  926. hdiffpatch/_c_src/lzma/CPP/Common/Sha256Reg.cpp +67 -0
  927. hdiffpatch/_c_src/lzma/CPP/Common/StdAfx.h +8 -0
  928. hdiffpatch/_c_src/lzma/CPP/Common/StdInStream.cpp +98 -0
  929. hdiffpatch/_c_src/lzma/CPP/Common/StdInStream.h +46 -0
  930. hdiffpatch/_c_src/lzma/CPP/Common/StdOutStream.cpp +248 -0
  931. hdiffpatch/_c_src/lzma/CPP/Common/StdOutStream.h +87 -0
  932. hdiffpatch/_c_src/lzma/CPP/Common/StringConvert.cpp +762 -0
  933. hdiffpatch/_c_src/lzma/CPP/Common/StringConvert.h +110 -0
  934. hdiffpatch/_c_src/lzma/CPP/Common/StringToInt.cpp +154 -0
  935. hdiffpatch/_c_src/lzma/CPP/Common/StringToInt.h +38 -0
  936. hdiffpatch/_c_src/lzma/CPP/Common/TextConfig.cpp +123 -0
  937. hdiffpatch/_c_src/lzma/CPP/Common/TextConfig.h +19 -0
  938. hdiffpatch/_c_src/lzma/CPP/Common/UTFConvert.cpp +863 -0
  939. hdiffpatch/_c_src/lzma/CPP/Common/UTFConvert.h +384 -0
  940. hdiffpatch/_c_src/lzma/CPP/Common/Wildcard.cpp +788 -0
  941. hdiffpatch/_c_src/lzma/CPP/Common/Wildcard.h +231 -0
  942. hdiffpatch/_c_src/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
  943. hdiffpatch/_c_src/lzma/CPP/Common/XzCrc64Reg.cpp +39 -0
  944. hdiffpatch/_c_src/lzma/CPP/Windows/COM.h +86 -0
  945. hdiffpatch/_c_src/lzma/CPP/Windows/Clipboard.cpp +130 -0
  946. hdiffpatch/_c_src/lzma/CPP/Windows/Clipboard.h +28 -0
  947. hdiffpatch/_c_src/lzma/CPP/Windows/CommonDialog.cpp +269 -0
  948. hdiffpatch/_c_src/lzma/CPP/Windows/CommonDialog.h +43 -0
  949. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
  950. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ComboBox.h +77 -0
  951. hdiffpatch/_c_src/lzma/CPP/Windows/Control/CommandBar.h +52 -0
  952. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Dialog.cpp +446 -0
  953. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Dialog.h +213 -0
  954. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Edit.h +19 -0
  955. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
  956. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ImageList.h +87 -0
  957. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ListView.cpp +162 -0
  958. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ListView.h +156 -0
  959. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
  960. hdiffpatch/_c_src/lzma/CPP/Windows/Control/PropertyPage.cpp +165 -0
  961. hdiffpatch/_c_src/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
  962. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ReBar.h +34 -0
  963. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Static.h +28 -0
  964. hdiffpatch/_c_src/lzma/CPP/Windows/Control/StatusBar.h +42 -0
  965. hdiffpatch/_c_src/lzma/CPP/Windows/Control/StdAfx.h +11 -0
  966. hdiffpatch/_c_src/lzma/CPP/Windows/Control/ToolBar.h +43 -0
  967. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Trackbar.h +27 -0
  968. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Window2.cpp +202 -0
  969. hdiffpatch/_c_src/lzma/CPP/Windows/Control/Window2.h +53 -0
  970. hdiffpatch/_c_src/lzma/CPP/Windows/DLL.cpp +178 -0
  971. hdiffpatch/_c_src/lzma/CPP/Windows/DLL.h +103 -0
  972. hdiffpatch/_c_src/lzma/CPP/Windows/Defs.h +17 -0
  973. hdiffpatch/_c_src/lzma/CPP/Windows/ErrorMsg.cpp +133 -0
  974. hdiffpatch/_c_src/lzma/CPP/Windows/ErrorMsg.h +16 -0
  975. hdiffpatch/_c_src/lzma/CPP/Windows/FileDir.cpp +1331 -0
  976. hdiffpatch/_c_src/lzma/CPP/Windows/FileDir.h +156 -0
  977. hdiffpatch/_c_src/lzma/CPP/Windows/FileFind.cpp +1442 -0
  978. hdiffpatch/_c_src/lzma/CPP/Windows/FileFind.h +347 -0
  979. hdiffpatch/_c_src/lzma/CPP/Windows/FileIO.cpp +954 -0
  980. hdiffpatch/_c_src/lzma/CPP/Windows/FileIO.h +448 -0
  981. hdiffpatch/_c_src/lzma/CPP/Windows/FileLink.cpp +621 -0
  982. hdiffpatch/_c_src/lzma/CPP/Windows/FileMapping.cpp +12 -0
  983. hdiffpatch/_c_src/lzma/CPP/Windows/FileMapping.h +66 -0
  984. hdiffpatch/_c_src/lzma/CPP/Windows/FileName.cpp +896 -0
  985. hdiffpatch/_c_src/lzma/CPP/Windows/FileName.h +133 -0
  986. hdiffpatch/_c_src/lzma/CPP/Windows/FileSystem.cpp +187 -0
  987. hdiffpatch/_c_src/lzma/CPP/Windows/FileSystem.h +31 -0
  988. hdiffpatch/_c_src/lzma/CPP/Windows/Handle.h +39 -0
  989. hdiffpatch/_c_src/lzma/CPP/Windows/MemoryGlobal.cpp +36 -0
  990. hdiffpatch/_c_src/lzma/CPP/Windows/MemoryGlobal.h +55 -0
  991. hdiffpatch/_c_src/lzma/CPP/Windows/MemoryLock.cpp +127 -0
  992. hdiffpatch/_c_src/lzma/CPP/Windows/MemoryLock.h +40 -0
  993. hdiffpatch/_c_src/lzma/CPP/Windows/NtCheck.h +58 -0
  994. hdiffpatch/_c_src/lzma/CPP/Windows/PropVariant.cpp +393 -0
  995. hdiffpatch/_c_src/lzma/CPP/Windows/PropVariant.h +173 -0
  996. hdiffpatch/_c_src/lzma/CPP/Windows/PropVariantConv.cpp +274 -0
  997. hdiffpatch/_c_src/lzma/CPP/Windows/PropVariantConv.h +47 -0
  998. hdiffpatch/_c_src/lzma/CPP/Windows/Registry.cpp +474 -0
  999. hdiffpatch/_c_src/lzma/CPP/Windows/Registry.h +96 -0
  1000. hdiffpatch/_c_src/lzma/CPP/Windows/ResourceString.cpp +103 -0
  1001. hdiffpatch/_c_src/lzma/CPP/Windows/ResourceString.h +17 -0
  1002. hdiffpatch/_c_src/lzma/CPP/Windows/SecurityUtils.cpp +186 -0
  1003. hdiffpatch/_c_src/lzma/CPP/Windows/SecurityUtils.h +150 -0
  1004. hdiffpatch/_c_src/lzma/CPP/Windows/Shell.cpp +839 -0
  1005. hdiffpatch/_c_src/lzma/CPP/Windows/Shell.h +129 -0
  1006. hdiffpatch/_c_src/lzma/CPP/Windows/StdAfx.h +11 -0
  1007. hdiffpatch/_c_src/lzma/CPP/Windows/Synchronization.cpp +87 -0
  1008. hdiffpatch/_c_src/lzma/CPP/Windows/Synchronization.h +386 -0
  1009. hdiffpatch/_c_src/lzma/CPP/Windows/System.cpp +327 -0
  1010. hdiffpatch/_c_src/lzma/CPP/Windows/System.h +132 -0
  1011. hdiffpatch/_c_src/lzma/CPP/Windows/SystemInfo.cpp +1251 -0
  1012. hdiffpatch/_c_src/lzma/CPP/Windows/SystemInfo.h +19 -0
  1013. hdiffpatch/_c_src/lzma/CPP/Windows/Thread.h +44 -0
  1014. hdiffpatch/_c_src/lzma/CPP/Windows/TimeUtils.cpp +466 -0
  1015. hdiffpatch/_c_src/lzma/CPP/Windows/TimeUtils.h +146 -0
  1016. hdiffpatch/_c_src/lzma/CPP/Windows/Window.cpp +179 -0
  1017. hdiffpatch/_c_src/lzma/CPP/Windows/Window.h +363 -0
  1018. hdiffpatch/_c_src/lzma/CS/7zip/Common/CRC.cs +55 -0
  1019. hdiffpatch/_c_src/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
  1020. hdiffpatch/_c_src/lzma/CS/7zip/Common/InBuffer.cs +72 -0
  1021. hdiffpatch/_c_src/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
  1022. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
  1023. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
  1024. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
  1025. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
  1026. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
  1027. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
  1028. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
  1029. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
  1030. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
  1031. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
  1032. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
  1033. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
  1034. hdiffpatch/_c_src/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
  1035. hdiffpatch/_c_src/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
  1036. hdiffpatch/_c_src/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
  1037. hdiffpatch/_c_src/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
  1038. hdiffpatch/_c_src/lzma/CS/7zip/ICoder.cs +157 -0
  1039. hdiffpatch/_c_src/lzma/DOC/7zC.txt +187 -0
  1040. hdiffpatch/_c_src/lzma/DOC/7zFormat.txt +469 -0
  1041. hdiffpatch/_c_src/lzma/DOC/Methods.txt +177 -0
  1042. hdiffpatch/_c_src/lzma/DOC/installer.txt +166 -0
  1043. hdiffpatch/_c_src/lzma/DOC/lzma-history.txt +634 -0
  1044. hdiffpatch/_c_src/lzma/DOC/lzma-sdk.txt +409 -0
  1045. hdiffpatch/_c_src/lzma/DOC/lzma-specification.txt +1176 -0
  1046. hdiffpatch/_c_src/lzma/DOC/lzma.txt +345 -0
  1047. hdiffpatch/_c_src/lzma/Java/SevenZip/CRC.java +52 -0
  1048. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
  1049. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
  1050. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
  1051. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
  1052. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
  1053. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
  1054. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
  1055. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
  1056. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
  1057. hdiffpatch/_c_src/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
  1058. hdiffpatch/_c_src/lzma/Java/SevenZip/ICodeProgress.java +6 -0
  1059. hdiffpatch/_c_src/lzma/Java/SevenZip/LzmaAlone.java +253 -0
  1060. hdiffpatch/_c_src/lzma/Java/SevenZip/LzmaBench.java +392 -0
  1061. hdiffpatch/_c_src/lzma/bin/7zS2.sfx +0 -0
  1062. hdiffpatch/_c_src/lzma/bin/7zS2con.sfx +0 -0
  1063. hdiffpatch/_c_src/lzma/bin/7zSD.sfx +0 -0
  1064. hdiffpatch/_c_src/lzma/bin/7zdec.exe +0 -0
  1065. hdiffpatch/_c_src/lzma/bin/7zr.exe +0 -0
  1066. hdiffpatch/_c_src/lzma/bin/installer/config.txt +5 -0
  1067. hdiffpatch/_c_src/lzma/bin/installer/cr.bat +5 -0
  1068. hdiffpatch/_c_src/lzma/bin/lzma.exe +0 -0
  1069. hdiffpatch/_c_src/lzma/bin/x64/7zr.exe +0 -0
  1070. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/argparse/__init__.py +226 -0
  1071. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/collections/__init__.py +16 -0
  1072. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/collections/deque.py +58 -0
  1073. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/fnmatch/__init__.py +139 -0
  1074. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/pathlib/__init__.py +207 -0
  1075. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/shutil/__init__.py +48 -0
  1076. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/tempfile/__init__.py +59 -0
  1077. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/unittest/__init__.py +463 -0
  1078. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/unittest/__main__.py +146 -0
  1079. hdiffpatch/_c_src/tamp/.belay/dependencies/dev/uprofiler/__init__.py +108 -0
  1080. hdiffpatch/_c_src/tamp/.bumpversion.cfg +24 -0
  1081. hdiffpatch/_c_src/tamp/.clang-format +5 -0
  1082. hdiffpatch/_c_src/tamp/.codecov.yml +14 -0
  1083. hdiffpatch/_c_src/tamp/.git +1 -0
  1084. hdiffpatch/_c_src/tamp/.github/FUNDING.yml +13 -0
  1085. hdiffpatch/_c_src/tamp/.github/contributing.md +43 -0
  1086. hdiffpatch/_c_src/tamp/.github/dependabot.yml +11 -0
  1087. hdiffpatch/_c_src/tamp/.github/workflows/build_wheels.yaml +291 -0
  1088. hdiffpatch/_c_src/tamp/.github/workflows/esp_upload_component.yml +49 -0
  1089. hdiffpatch/_c_src/tamp/.github/workflows/mpy_native_module.yaml +236 -0
  1090. hdiffpatch/_c_src/tamp/.github/workflows/tests.yaml +134 -0
  1091. hdiffpatch/_c_src/tamp/.gitignore +262 -0
  1092. hdiffpatch/_c_src/tamp/.gitmodules +3 -0
  1093. hdiffpatch/_c_src/tamp/.pre-commit-config.yaml +69 -0
  1094. hdiffpatch/_c_src/tamp/.readthedocs.yaml +32 -0
  1095. hdiffpatch/_c_src/tamp/LICENSE +201 -0
  1096. hdiffpatch/_c_src/tamp/MICROPYTHON_TESTING.rst +7 -0
  1097. hdiffpatch/_c_src/tamp/Makefile +195 -0
  1098. hdiffpatch/_c_src/tamp/README.md +300 -0
  1099. hdiffpatch/_c_src/tamp/assets/favicon-16x16.png +0 -0
  1100. hdiffpatch/_c_src/tamp/assets/favicon-32x32.png +0 -0
  1101. hdiffpatch/_c_src/tamp/assets/icon.png +0 -0
  1102. hdiffpatch/_c_src/tamp/assets/logo.png +0 -0
  1103. hdiffpatch/_c_src/tamp/assets/logo_200w.png +0 -0
  1104. hdiffpatch/_c_src/tamp/assets/logo_300w.png +0 -0
  1105. hdiffpatch/_c_src/tamp/assets/match-size-plot.png +0 -0
  1106. hdiffpatch/_c_src/tamp/assets/social_media.png +0 -0
  1107. hdiffpatch/_c_src/tamp/build.py +104 -0
  1108. hdiffpatch/_c_src/tamp/ctests/Unity/.editorconfig +27 -0
  1109. hdiffpatch/_c_src/tamp/ctests/Unity/.git +1 -0
  1110. hdiffpatch/_c_src/tamp/ctests/Unity/.gitattributes +31 -0
  1111. hdiffpatch/_c_src/tamp/ctests/Unity/.github/workflows/main.yml +32 -0
  1112. hdiffpatch/_c_src/tamp/ctests/Unity/.gitignore +13 -0
  1113. hdiffpatch/_c_src/tamp/ctests/Unity/CMakeLists.txt +159 -0
  1114. hdiffpatch/_c_src/tamp/ctests/Unity/LICENSE.txt +21 -0
  1115. hdiffpatch/_c_src/tamp/ctests/Unity/README.md +200 -0
  1116. hdiffpatch/_c_src/tamp/ctests/Unity/auto/colour_prompt.rb +119 -0
  1117. hdiffpatch/_c_src/tamp/ctests/Unity/auto/colour_reporter.rb +39 -0
  1118. hdiffpatch/_c_src/tamp/ctests/Unity/auto/generate_config.yml +36 -0
  1119. hdiffpatch/_c_src/tamp/ctests/Unity/auto/generate_module.rb +313 -0
  1120. hdiffpatch/_c_src/tamp/ctests/Unity/auto/generate_test_runner.rb +511 -0
  1121. hdiffpatch/_c_src/tamp/ctests/Unity/auto/parse_output.rb +322 -0
  1122. hdiffpatch/_c_src/tamp/ctests/Unity/auto/run_test.erb +37 -0
  1123. hdiffpatch/_c_src/tamp/ctests/Unity/auto/stylize_as_junit.rb +251 -0
  1124. hdiffpatch/_c_src/tamp/ctests/Unity/auto/test_file_filter.rb +25 -0
  1125. hdiffpatch/_c_src/tamp/ctests/Unity/auto/type_sanitizer.rb +6 -0
  1126. hdiffpatch/_c_src/tamp/ctests/Unity/auto/unity_test_summary.py +139 -0
  1127. hdiffpatch/_c_src/tamp/ctests/Unity/auto/unity_test_summary.rb +135 -0
  1128. hdiffpatch/_c_src/tamp/ctests/Unity/auto/unity_to_junit.py +146 -0
  1129. hdiffpatch/_c_src/tamp/ctests/Unity/docs/ThrowTheSwitchCodingStandard.md +206 -0
  1130. hdiffpatch/_c_src/tamp/ctests/Unity/docs/UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf +0 -0
  1131. hdiffpatch/_c_src/tamp/ctests/Unity/docs/UnityAssertionsReference.md +831 -0
  1132. hdiffpatch/_c_src/tamp/ctests/Unity/docs/UnityConfigurationGuide.md +563 -0
  1133. hdiffpatch/_c_src/tamp/ctests/Unity/docs/UnityGettingStartedGuide.md +251 -0
  1134. hdiffpatch/_c_src/tamp/ctests/Unity/docs/UnityHelperScriptsGuide.md +278 -0
  1135. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/makefile +72 -0
  1136. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/readme.txt +5 -0
  1137. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/src/ProductionCode.c +24 -0
  1138. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/src/ProductionCode.h +3 -0
  1139. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/src/ProductionCode2.c +11 -0
  1140. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/src/ProductionCode2.h +2 -0
  1141. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/test/TestProductionCode.c +62 -0
  1142. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/test/TestProductionCode2.c +31 -0
  1143. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  1144. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  1145. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/makefile +71 -0
  1146. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/readme.txt +5 -0
  1147. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/src/ProductionCode.c +24 -0
  1148. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/src/ProductionCode.h +3 -0
  1149. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/src/ProductionCode2.c +11 -0
  1150. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/src/ProductionCode2.h +2 -0
  1151. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/test/TestProductionCode.c +64 -0
  1152. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/test/TestProductionCode2.c +33 -0
  1153. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +9 -0
  1154. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +11 -0
  1155. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_2/test/test_runners/all_tests.c +12 -0
  1156. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/helper/UnityHelper.c +10 -0
  1157. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/helper/UnityHelper.h +12 -0
  1158. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/rakefile.rb +38 -0
  1159. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/rakefile_helper.rb +250 -0
  1160. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/readme.txt +13 -0
  1161. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/src/ProductionCode.c +24 -0
  1162. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/src/ProductionCode.h +3 -0
  1163. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/src/ProductionCode2.c +11 -0
  1164. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/src/ProductionCode2.h +2 -0
  1165. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/target_gcc_32.yml +47 -0
  1166. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/test/TestProductionCode.c +62 -0
  1167. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_3/test/TestProductionCode2.c +31 -0
  1168. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/meson.build +12 -0
  1169. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/readme.txt +15 -0
  1170. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/src/ProductionCode.c +24 -0
  1171. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/src/ProductionCode.h +3 -0
  1172. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/src/ProductionCode2.c +11 -0
  1173. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/src/ProductionCode2.h +2 -0
  1174. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/src/meson.build +16 -0
  1175. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/subprojects/unity.wrap +4 -0
  1176. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/test/TestProductionCode.c +63 -0
  1177. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/test/TestProductionCode2.c +35 -0
  1178. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/test/meson.build +7 -0
  1179. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  1180. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  1181. hdiffpatch/_c_src/tamp/ctests/Unity/examples/example_4/test/test_runners/meson.build +13 -0
  1182. hdiffpatch/_c_src/tamp/ctests/Unity/examples/unity_config.h +244 -0
  1183. hdiffpatch/_c_src/tamp/ctests/Unity/extras/eclipse/error_parsers.txt +26 -0
  1184. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/readme.md +29 -0
  1185. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/src/unity_fixture.c +310 -0
  1186. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/src/unity_fixture.h +83 -0
  1187. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/src/unity_fixture_internals.h +50 -0
  1188. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/test/Makefile +72 -0
  1189. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/test/main/AllTests.c +20 -0
  1190. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/test/template_fixture_tests.c +39 -0
  1191. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/test/unity_fixture_Test.c +245 -0
  1192. hdiffpatch/_c_src/tamp/ctests/Unity/extras/fixture/test/unity_fixture_TestRunner.c +32 -0
  1193. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/readme.md +49 -0
  1194. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/src/unity_memory.c +202 -0
  1195. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/src/unity_memory.h +60 -0
  1196. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/test/Makefile +78 -0
  1197. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/test/unity_memory_Test.c +325 -0
  1198. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/test/unity_memory_TestRunner.c +49 -0
  1199. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/test/unity_output_Spy.c +56 -0
  1200. hdiffpatch/_c_src/tamp/ctests/Unity/extras/memory/test/unity_output_Spy.h +16 -0
  1201. hdiffpatch/_c_src/tamp/ctests/Unity/meson.build +14 -0
  1202. hdiffpatch/_c_src/tamp/ctests/Unity/src/meson.build +11 -0
  1203. hdiffpatch/_c_src/tamp/ctests/Unity/src/unity.c +2110 -0
  1204. hdiffpatch/_c_src/tamp/ctests/Unity/src/unity.h +661 -0
  1205. hdiffpatch/_c_src/tamp/ctests/Unity/src/unity_internals.h +1039 -0
  1206. hdiffpatch/_c_src/tamp/ctests/Unity/test/.rubocop.yml +76 -0
  1207. hdiffpatch/_c_src/tamp/ctests/Unity/test/Makefile +160 -0
  1208. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_cmd.c +61 -0
  1209. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_def.c +57 -0
  1210. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_head1.c +55 -0
  1211. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_head1.h +15 -0
  1212. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
  1213. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_def.c +76 -0
  1214. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_head1.c +75 -0
  1215. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_head1.h +13 -0
  1216. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_new1.c +89 -0
  1217. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_new2.c +89 -0
  1218. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_param.c +77 -0
  1219. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_run1.c +89 -0
  1220. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_run2.c +89 -0
  1221. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
  1222. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_new1.c +67 -0
  1223. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_new2.c +70 -0
  1224. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_param.c +58 -0
  1225. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_run1.c +67 -0
  1226. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_run2.c +70 -0
  1227. hdiffpatch/_c_src/tamp/ctests/Unity/test/expectdata/testsample_yaml.c +71 -0
  1228. hdiffpatch/_c_src/tamp/ctests/Unity/test/rakefile +163 -0
  1229. hdiffpatch/_c_src/tamp/ctests/Unity/test/rakefile_helper.rb +315 -0
  1230. hdiffpatch/_c_src/tamp/ctests/Unity/test/spec/generate_module_existing_file_spec.rb +158 -0
  1231. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/ansi.yml +44 -0
  1232. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/clang_file.yml +72 -0
  1233. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/clang_strict.yml +71 -0
  1234. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/gcc_32.yml +45 -0
  1235. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/gcc_64.yml +46 -0
  1236. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/gcc_auto_limits.yml +43 -0
  1237. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/gcc_auto_stdint.yml +55 -0
  1238. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/gcc_manual_math.yml +43 -0
  1239. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/hitech_picc18.yml +91 -0
  1240. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_arm_v4.yml +98 -0
  1241. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_arm_v5.yml +92 -0
  1242. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_arm_v5_3.yml +92 -0
  1243. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_armcortex_LM3S9B92_v5_4.yml +90 -0
  1244. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_cortexm3_v5.yml +94 -0
  1245. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_msp430.yml +112 -0
  1246. hdiffpatch/_c_src/tamp/ctests/Unity/test/targets/iar_sh2a_v6.yml +99 -0
  1247. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/CException.h +11 -0
  1248. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/Defs.h +8 -0
  1249. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/cmock.h +14 -0
  1250. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/mockMock.h +13 -0
  1251. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/testRunnerGenerator.c +189 -0
  1252. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/testRunnerGeneratorSmall.c +70 -0
  1253. hdiffpatch/_c_src/tamp/ctests/Unity/test/testdata/testRunnerGeneratorWithMocks.c +197 -0
  1254. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/self_assessment_utils.h +144 -0
  1255. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_generate_test_runner.rb +1260 -0
  1256. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_arrays.c +2874 -0
  1257. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_core.c +371 -0
  1258. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_doubles.c +773 -0
  1259. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_floats.c +884 -0
  1260. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_integers.c +2847 -0
  1261. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_integers_64.c +773 -0
  1262. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_memory.c +81 -0
  1263. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_parameterized.c +171 -0
  1264. hdiffpatch/_c_src/tamp/ctests/Unity/test/tests/test_unity_strings.c +329 -0
  1265. hdiffpatch/_c_src/tamp/ctests/Unity/unityConfig.cmake +1 -0
  1266. hdiffpatch/_c_src/tamp/ctests/test_decompressor.c +81 -0
  1267. hdiffpatch/_c_src/tamp/docs/Makefile +21 -0
  1268. hdiffpatch/_c_src/tamp/docs/make.bat +35 -0
  1269. hdiffpatch/_c_src/tamp/docs/source/Installation.rst +97 -0
  1270. hdiffpatch/_c_src/tamp/docs/source/_static/.gitkeep +0 -0
  1271. hdiffpatch/_c_src/tamp/docs/source/_static/custom.css +13 -0
  1272. hdiffpatch/_c_src/tamp/docs/source/c_library.rst +339 -0
  1273. hdiffpatch/_c_src/tamp/docs/source/conf.py +195 -0
  1274. hdiffpatch/_c_src/tamp/docs/source/index.rst +16 -0
  1275. hdiffpatch/_c_src/tamp/docs/source/python_api.rst +66 -0
  1276. hdiffpatch/_c_src/tamp/docs/source/specification.rst +189 -0
  1277. hdiffpatch/_c_src/tamp/espidf/.gitignore +2 -0
  1278. hdiffpatch/_c_src/tamp/espidf/CMakeLists.txt +25 -0
  1279. hdiffpatch/_c_src/tamp/espidf/Kconfig +18 -0
  1280. hdiffpatch/_c_src/tamp/espidf/Makefile +4 -0
  1281. hdiffpatch/_c_src/tamp/espidf/compressor_esp32.cpp +139 -0
  1282. hdiffpatch/_c_src/tamp/espidf/idf_component.yml +9 -0
  1283. hdiffpatch/_c_src/tamp/espidf/private/copyutil.hpp +143 -0
  1284. hdiffpatch/_c_src/tamp/espidf/private/tamp_arch.hpp +70 -0
  1285. hdiffpatch/_c_src/tamp/espidf/private/tamp_search.hpp +831 -0
  1286. hdiffpatch/_c_src/tamp/mpy_bindings/bindings.c +293 -0
  1287. hdiffpatch/_c_src/tamp/mpy_bindings/bindings_common.py +16 -0
  1288. hdiffpatch/_c_src/tamp/mpy_bindings/bindings_compressor.py +56 -0
  1289. hdiffpatch/_c_src/tamp/mpy_bindings/bindings_decompressor.py +67 -0
  1290. hdiffpatch/_c_src/tamp/package-compressor.json +14 -0
  1291. hdiffpatch/_c_src/tamp/package-decompressor.json +14 -0
  1292. hdiffpatch/_c_src/tamp/package.json +18 -0
  1293. hdiffpatch/_c_src/tamp/poetry.lock +3348 -0
  1294. hdiffpatch/_c_src/tamp/pyproject.toml +249 -0
  1295. hdiffpatch/_c_src/tamp/tamp/__init__.py +87 -0
  1296. hdiffpatch/_c_src/tamp/tamp/__init__.pyi +57 -0
  1297. hdiffpatch/_c_src/tamp/tamp/__main__.py +3 -0
  1298. hdiffpatch/_c_src/tamp/tamp/_c_common.pxd +4 -0
  1299. hdiffpatch/_c_src/tamp/tamp/_c_common.pyx +15 -0
  1300. hdiffpatch/_c_src/tamp/tamp/_c_compressor.pyx +151 -0
  1301. hdiffpatch/_c_src/tamp/tamp/_c_decompressor.pyx +147 -0
  1302. hdiffpatch/_c_src/tamp/tamp/_c_src/tamp/common.c +29 -0
  1303. hdiffpatch/_c_src/tamp/tamp/_c_src/tamp/common.h +102 -0
  1304. hdiffpatch/_c_src/tamp/tamp/_c_src/tamp/compressor.c +299 -0
  1305. hdiffpatch/_c_src/tamp/tamp/_c_src/tamp/compressor.h +240 -0
  1306. hdiffpatch/_c_src/tamp/tamp/_c_src/tamp/decompressor.c +233 -0
  1307. hdiffpatch/_c_src/tamp/tamp/_c_src/tamp/decompressor.h +106 -0
  1308. hdiffpatch/_c_src/tamp/tamp/cli/__init__.py +0 -0
  1309. hdiffpatch/_c_src/tamp/tamp/cli/main.py +89 -0
  1310. hdiffpatch/_c_src/tamp/tamp/compressor.py +327 -0
  1311. hdiffpatch/_c_src/tamp/tamp/compressor_viper.py +225 -0
  1312. hdiffpatch/_c_src/tamp/tamp/ctamp.pxd +89 -0
  1313. hdiffpatch/_c_src/tamp/tamp/decompressor.py +336 -0
  1314. hdiffpatch/_c_src/tamp/tamp/decompressor_viper.py +220 -0
  1315. hdiffpatch/_c_src/tamp/tamp/py.typed +0 -0
  1316. hdiffpatch/_c_src/tamp/tests/test_bit_writer_reader.py +59 -0
  1317. hdiffpatch/_c_src/tamp/tests/test_cli.py +78 -0
  1318. hdiffpatch/_c_src/tamp/tests/test_compressor.py +304 -0
  1319. hdiffpatch/_c_src/tamp/tests/test_compressor_decompressor.py +128 -0
  1320. hdiffpatch/_c_src/tamp/tests/test_compressor_helpers.py +19 -0
  1321. hdiffpatch/_c_src/tamp/tests/test_decompressor.py +219 -0
  1322. hdiffpatch/_c_src/tamp/tests/test_file_interface.py +84 -0
  1323. hdiffpatch/_c_src/tamp/tests/test_pseudorandom.py +59 -0
  1324. hdiffpatch/_c_src/tamp/tools/analysis.py +116 -0
  1325. hdiffpatch/_c_src/tamp/tools/c-profiler/.gitignore +1 -0
  1326. hdiffpatch/_c_src/tamp/tools/c-profiler/Makefile +55 -0
  1327. hdiffpatch/_c_src/tamp/tools/c-profiler/main.c +128 -0
  1328. hdiffpatch/_c_src/tamp/tools/collect-data.py +74 -0
  1329. hdiffpatch/_c_src/tamp/tools/compute_min_output_flush_size.py +39 -0
  1330. hdiffpatch/_c_src/tamp/tools/find_seed.py +140 -0
  1331. hdiffpatch/_c_src/tamp/tools/huffman.py +52 -0
  1332. hdiffpatch/_c_src/tamp/tools/huffman_jump_table.py +47 -0
  1333. hdiffpatch/_c_src/tamp/tools/micropython-compression-benchmark.py +19 -0
  1334. hdiffpatch/_c_src/tamp/tools/on-device-compression-benchmark.py +27 -0
  1335. hdiffpatch/_c_src/tamp/tools/on-device-decompression-benchmark.py +27 -0
  1336. hdiffpatch/_c_src/tamp/tools/performance-benchmark.sh +13 -0
  1337. hdiffpatch/_c_src/tamp/tools/pi_pico/.gitignore +4 -0
  1338. hdiffpatch/_c_src/tamp/tools/pi_pico/benchmark/CMakeLists.txt +60 -0
  1339. hdiffpatch/_c_src/tamp/tools/pi_pico/benchmark/Makefile +12 -0
  1340. hdiffpatch/_c_src/tamp/tools/pi_pico/benchmark/main.c +67 -0
  1341. hdiffpatch/_c_src/tamp/tools/pi_pico/library-size/.gitignore +3 -0
  1342. hdiffpatch/_c_src/tamp/tools/pi_pico/library-size/CMakeLists.txt +43 -0
  1343. hdiffpatch/_c_src/tamp/tools/pi_pico/library-size/Makefile +45 -0
  1344. hdiffpatch/_c_src/tamp/tools/pi_pico/library-size/README.md +3 -0
  1345. hdiffpatch/_c_src/tamp/tools/profiler.py +15 -0
  1346. hdiffpatch/_c_src/tamp/tools/zlib_compress.py +20 -0
  1347. hdiffpatch/_c_src/tamp/tools/zlib_decompress.py +11 -0
  1348. hdiffpatch/_c_src/tamp_compress_plugin.cpp +328 -0
  1349. hdiffpatch/_c_src/zlib/.git +1 -0
  1350. hdiffpatch/_c_src/zlib/.github/workflows/cmake.yml +89 -0
  1351. hdiffpatch/_c_src/zlib/.github/workflows/configure.yml +136 -0
  1352. hdiffpatch/_c_src/zlib/.github/workflows/fuzz.yml +25 -0
  1353. hdiffpatch/_c_src/zlib/.gitignore +36 -0
  1354. hdiffpatch/_c_src/zlib/CMakeLists.txt +218 -0
  1355. hdiffpatch/_c_src/zlib/ChangeLog +1618 -0
  1356. hdiffpatch/_c_src/zlib/FAQ +367 -0
  1357. hdiffpatch/_c_src/zlib/INDEX +68 -0
  1358. hdiffpatch/_c_src/zlib/LICENSE +22 -0
  1359. hdiffpatch/_c_src/zlib/Makefile +5 -0
  1360. hdiffpatch/_c_src/zlib/Makefile.in +410 -0
  1361. hdiffpatch/_c_src/zlib/README +117 -0
  1362. hdiffpatch/_c_src/zlib/adler32.c +164 -0
  1363. hdiffpatch/_c_src/zlib/amiga/Makefile.pup +69 -0
  1364. hdiffpatch/_c_src/zlib/amiga/Makefile.sas +68 -0
  1365. hdiffpatch/_c_src/zlib/compress.c +75 -0
  1366. hdiffpatch/_c_src/zlib/configure +929 -0
  1367. hdiffpatch/_c_src/zlib/contrib/README.contrib +57 -0
  1368. hdiffpatch/_c_src/zlib/contrib/ada/buffer_demo.adb +106 -0
  1369. hdiffpatch/_c_src/zlib/contrib/ada/mtest.adb +156 -0
  1370. hdiffpatch/_c_src/zlib/contrib/ada/read.adb +156 -0
  1371. hdiffpatch/_c_src/zlib/contrib/ada/readme.txt +65 -0
  1372. hdiffpatch/_c_src/zlib/contrib/ada/test.adb +463 -0
  1373. hdiffpatch/_c_src/zlib/contrib/ada/zlib-streams.adb +225 -0
  1374. hdiffpatch/_c_src/zlib/contrib/ada/zlib-streams.ads +114 -0
  1375. hdiffpatch/_c_src/zlib/contrib/ada/zlib-thin.adb +141 -0
  1376. hdiffpatch/_c_src/zlib/contrib/ada/zlib-thin.ads +450 -0
  1377. hdiffpatch/_c_src/zlib/contrib/ada/zlib.adb +701 -0
  1378. hdiffpatch/_c_src/zlib/contrib/ada/zlib.ads +328 -0
  1379. hdiffpatch/_c_src/zlib/contrib/ada/zlib.gpr +20 -0
  1380. hdiffpatch/_c_src/zlib/contrib/blast/Makefile +8 -0
  1381. hdiffpatch/_c_src/zlib/contrib/blast/README +4 -0
  1382. hdiffpatch/_c_src/zlib/contrib/blast/blast.c +466 -0
  1383. hdiffpatch/_c_src/zlib/contrib/blast/blast.h +83 -0
  1384. hdiffpatch/_c_src/zlib/contrib/blast/test.pk +0 -0
  1385. hdiffpatch/_c_src/zlib/contrib/blast/test.txt +1 -0
  1386. hdiffpatch/_c_src/zlib/contrib/delphi/ZLib.pas +557 -0
  1387. hdiffpatch/_c_src/zlib/contrib/delphi/ZLibConst.pas +11 -0
  1388. hdiffpatch/_c_src/zlib/contrib/delphi/readme.txt +76 -0
  1389. hdiffpatch/_c_src/zlib/contrib/delphi/zlibd32.mak +99 -0
  1390. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  1391. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  1392. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  1393. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  1394. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  1395. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  1396. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  1397. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  1398. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  1399. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  1400. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib.build +33 -0
  1401. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  1402. hdiffpatch/_c_src/zlib/contrib/dotzlib/DotZLib.sln +21 -0
  1403. hdiffpatch/_c_src/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  1404. hdiffpatch/_c_src/zlib/contrib/dotzlib/readme.txt +58 -0
  1405. hdiffpatch/_c_src/zlib/contrib/gcc_gvmat64/gvmat64.S +574 -0
  1406. hdiffpatch/_c_src/zlib/contrib/infback9/README +1 -0
  1407. hdiffpatch/_c_src/zlib/contrib/infback9/infback9.c +603 -0
  1408. hdiffpatch/_c_src/zlib/contrib/infback9/infback9.h +37 -0
  1409. hdiffpatch/_c_src/zlib/contrib/infback9/inffix9.h +107 -0
  1410. hdiffpatch/_c_src/zlib/contrib/infback9/inflate9.h +47 -0
  1411. hdiffpatch/_c_src/zlib/contrib/infback9/inftree9.c +319 -0
  1412. hdiffpatch/_c_src/zlib/contrib/infback9/inftree9.h +61 -0
  1413. hdiffpatch/_c_src/zlib/contrib/iostream/test.cpp +24 -0
  1414. hdiffpatch/_c_src/zlib/contrib/iostream/zfstream.cpp +329 -0
  1415. hdiffpatch/_c_src/zlib/contrib/iostream/zfstream.h +128 -0
  1416. hdiffpatch/_c_src/zlib/contrib/iostream2/zstream.h +307 -0
  1417. hdiffpatch/_c_src/zlib/contrib/iostream2/zstream_test.cpp +25 -0
  1418. hdiffpatch/_c_src/zlib/contrib/iostream3/README +35 -0
  1419. hdiffpatch/_c_src/zlib/contrib/iostream3/TODO +17 -0
  1420. hdiffpatch/_c_src/zlib/contrib/iostream3/test.cc +50 -0
  1421. hdiffpatch/_c_src/zlib/contrib/iostream3/zfstream.cc +479 -0
  1422. hdiffpatch/_c_src/zlib/contrib/iostream3/zfstream.h +466 -0
  1423. hdiffpatch/_c_src/zlib/contrib/minizip/Makefile +29 -0
  1424. hdiffpatch/_c_src/zlib/contrib/minizip/Makefile.am +45 -0
  1425. hdiffpatch/_c_src/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -0
  1426. hdiffpatch/_c_src/zlib/contrib/minizip/MiniZip64_info.txt +74 -0
  1427. hdiffpatch/_c_src/zlib/contrib/minizip/configure.ac +32 -0
  1428. hdiffpatch/_c_src/zlib/contrib/minizip/crypt.h +128 -0
  1429. hdiffpatch/_c_src/zlib/contrib/minizip/ioapi.c +231 -0
  1430. hdiffpatch/_c_src/zlib/contrib/minizip/ioapi.h +210 -0
  1431. hdiffpatch/_c_src/zlib/contrib/minizip/iowin32.c +440 -0
  1432. hdiffpatch/_c_src/zlib/contrib/minizip/iowin32.h +28 -0
  1433. hdiffpatch/_c_src/zlib/contrib/minizip/make_vms.com +25 -0
  1434. hdiffpatch/_c_src/zlib/contrib/minizip/miniunz.c +647 -0
  1435. hdiffpatch/_c_src/zlib/contrib/minizip/miniunzip.1 +63 -0
  1436. hdiffpatch/_c_src/zlib/contrib/minizip/minizip.1 +46 -0
  1437. hdiffpatch/_c_src/zlib/contrib/minizip/minizip.c +509 -0
  1438. hdiffpatch/_c_src/zlib/contrib/minizip/minizip.pc.in +12 -0
  1439. hdiffpatch/_c_src/zlib/contrib/minizip/mztools.c +285 -0
  1440. hdiffpatch/_c_src/zlib/contrib/minizip/mztools.h +37 -0
  1441. hdiffpatch/_c_src/zlib/contrib/minizip/unzip.c +1985 -0
  1442. hdiffpatch/_c_src/zlib/contrib/minizip/unzip.h +437 -0
  1443. hdiffpatch/_c_src/zlib/contrib/minizip/zip.c +1956 -0
  1444. hdiffpatch/_c_src/zlib/contrib/minizip/zip.h +364 -0
  1445. hdiffpatch/_c_src/zlib/contrib/nuget/nuget.csproj +43 -0
  1446. hdiffpatch/_c_src/zlib/contrib/nuget/nuget.sln +22 -0
  1447. hdiffpatch/_c_src/zlib/contrib/pascal/example.pas +599 -0
  1448. hdiffpatch/_c_src/zlib/contrib/pascal/readme.txt +76 -0
  1449. hdiffpatch/_c_src/zlib/contrib/pascal/zlibd32.mak +99 -0
  1450. hdiffpatch/_c_src/zlib/contrib/pascal/zlibpas.pas +276 -0
  1451. hdiffpatch/_c_src/zlib/contrib/puff/Makefile +42 -0
  1452. hdiffpatch/_c_src/zlib/contrib/puff/README +63 -0
  1453. hdiffpatch/_c_src/zlib/contrib/puff/puff.c +840 -0
  1454. hdiffpatch/_c_src/zlib/contrib/puff/puff.h +35 -0
  1455. hdiffpatch/_c_src/zlib/contrib/puff/pufftest.c +165 -0
  1456. hdiffpatch/_c_src/zlib/contrib/puff/zeros.raw +0 -0
  1457. hdiffpatch/_c_src/zlib/contrib/testzlib/testzlib.c +275 -0
  1458. hdiffpatch/_c_src/zlib/contrib/testzlib/testzlib.txt +10 -0
  1459. hdiffpatch/_c_src/zlib/contrib/untgz/Makefile +14 -0
  1460. hdiffpatch/_c_src/zlib/contrib/untgz/Makefile.msc +17 -0
  1461. hdiffpatch/_c_src/zlib/contrib/untgz/untgz.c +667 -0
  1462. hdiffpatch/_c_src/zlib/contrib/vstudio/readme.txt +81 -0
  1463. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/miniunz.vcxproj +310 -0
  1464. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters +22 -0
  1465. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/minizip.vcxproj +307 -0
  1466. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters +22 -0
  1467. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/testzlib.vcxproj +412 -0
  1468. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters +55 -0
  1469. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj +310 -0
  1470. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters +22 -0
  1471. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlib.rc +32 -0
  1472. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlibstat.vcxproj +449 -0
  1473. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters +74 -0
  1474. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlibvc.def +158 -0
  1475. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlibvc.sln +135 -0
  1476. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlibvc.vcxproj +633 -0
  1477. hdiffpatch/_c_src/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters +115 -0
  1478. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/miniunz.vcxproj +314 -0
  1479. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/minizip.vcxproj +311 -0
  1480. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/testzlib.vcxproj +418 -0
  1481. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj +314 -0
  1482. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/zlib.rc +32 -0
  1483. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/zlibstat.vcxproj +456 -0
  1484. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/zlibvc.def +158 -0
  1485. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/zlibvc.sln +117 -0
  1486. hdiffpatch/_c_src/zlib/contrib/vstudio/vc11/zlibvc.vcxproj +664 -0
  1487. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/miniunz.vcxproj +316 -0
  1488. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/minizip.vcxproj +313 -0
  1489. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/testzlib.vcxproj +422 -0
  1490. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj +316 -0
  1491. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/zlib.rc +32 -0
  1492. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/zlibstat.vcxproj +459 -0
  1493. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/zlibvc.def +158 -0
  1494. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/zlibvc.sln +119 -0
  1495. hdiffpatch/_c_src/zlib/contrib/vstudio/vc12/zlibvc.vcxproj +668 -0
  1496. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/miniunz.vcxproj +316 -0
  1497. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/minizip.vcxproj +313 -0
  1498. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/testzlib.vcxproj +422 -0
  1499. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj +316 -0
  1500. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/zlib.rc +32 -0
  1501. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/zlibstat.vcxproj +459 -0
  1502. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/zlibvc.def +158 -0
  1503. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/zlibvc.sln +119 -0
  1504. hdiffpatch/_c_src/zlib/contrib/vstudio/vc14/zlibvc.vcxproj +668 -0
  1505. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/miniunz.vcxproj +409 -0
  1506. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/minizip.vcxproj +405 -0
  1507. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/testzlib.vcxproj +473 -0
  1508. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj +409 -0
  1509. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/zlib.rc +32 -0
  1510. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/zlibstat.vcxproj +602 -0
  1511. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/zlibvc.def +158 -0
  1512. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/zlibvc.sln +179 -0
  1513. hdiffpatch/_c_src/zlib/contrib/vstudio/vc17/zlibvc.vcxproj +875 -0
  1514. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/miniunz.vcproj +565 -0
  1515. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/minizip.vcproj +562 -0
  1516. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/testzlib.vcproj +796 -0
  1517. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/testzlibdll.vcproj +565 -0
  1518. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/zlib.rc +32 -0
  1519. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/zlibstat.vcproj +781 -0
  1520. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/zlibvc.def +158 -0
  1521. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/zlibvc.sln +144 -0
  1522. hdiffpatch/_c_src/zlib/contrib/vstudio/vc9/zlibvc.vcproj +1100 -0
  1523. hdiffpatch/_c_src/zlib/crc32.c +1049 -0
  1524. hdiffpatch/_c_src/zlib/crc32.h +9446 -0
  1525. hdiffpatch/_c_src/zlib/deflate.c +2159 -0
  1526. hdiffpatch/_c_src/zlib/deflate.h +377 -0
  1527. hdiffpatch/_c_src/zlib/doc/algorithm.txt +209 -0
  1528. hdiffpatch/_c_src/zlib/doc/crc-doc.1.0.pdf +0 -0
  1529. hdiffpatch/_c_src/zlib/doc/rfc1950.txt +619 -0
  1530. hdiffpatch/_c_src/zlib/doc/rfc1951.txt +955 -0
  1531. hdiffpatch/_c_src/zlib/doc/rfc1952.txt +675 -0
  1532. hdiffpatch/_c_src/zlib/doc/txtvsbin.txt +107 -0
  1533. hdiffpatch/_c_src/zlib/examples/README.examples +54 -0
  1534. hdiffpatch/_c_src/zlib/examples/enough.c +597 -0
  1535. hdiffpatch/_c_src/zlib/examples/fitblk.c +233 -0
  1536. hdiffpatch/_c_src/zlib/examples/gun.c +702 -0
  1537. hdiffpatch/_c_src/zlib/examples/gzappend.c +504 -0
  1538. hdiffpatch/_c_src/zlib/examples/gzjoin.c +449 -0
  1539. hdiffpatch/_c_src/zlib/examples/gzlog.c +1061 -0
  1540. hdiffpatch/_c_src/zlib/examples/gzlog.h +91 -0
  1541. hdiffpatch/_c_src/zlib/examples/gznorm.c +470 -0
  1542. hdiffpatch/_c_src/zlib/examples/zlib_how.html +549 -0
  1543. hdiffpatch/_c_src/zlib/examples/zpipe.c +205 -0
  1544. hdiffpatch/_c_src/zlib/examples/zran.c +533 -0
  1545. hdiffpatch/_c_src/zlib/examples/zran.h +51 -0
  1546. hdiffpatch/_c_src/zlib/gzclose.c +23 -0
  1547. hdiffpatch/_c_src/zlib/gzguts.h +214 -0
  1548. hdiffpatch/_c_src/zlib/gzlib.c +582 -0
  1549. hdiffpatch/_c_src/zlib/gzread.c +602 -0
  1550. hdiffpatch/_c_src/zlib/gzwrite.c +631 -0
  1551. hdiffpatch/_c_src/zlib/infback.c +628 -0
  1552. hdiffpatch/_c_src/zlib/inffast.c +320 -0
  1553. hdiffpatch/_c_src/zlib/inffast.h +11 -0
  1554. hdiffpatch/_c_src/zlib/inffixed.h +94 -0
  1555. hdiffpatch/_c_src/zlib/inflate.c +1546 -0
  1556. hdiffpatch/_c_src/zlib/inflate.h +126 -0
  1557. hdiffpatch/_c_src/zlib/inftrees.c +299 -0
  1558. hdiffpatch/_c_src/zlib/inftrees.h +62 -0
  1559. hdiffpatch/_c_src/zlib/make_vms.com +867 -0
  1560. hdiffpatch/_c_src/zlib/msdos/Makefile.bor +115 -0
  1561. hdiffpatch/_c_src/zlib/msdos/Makefile.dj2 +104 -0
  1562. hdiffpatch/_c_src/zlib/msdos/Makefile.emx +69 -0
  1563. hdiffpatch/_c_src/zlib/msdos/Makefile.msc +112 -0
  1564. hdiffpatch/_c_src/zlib/msdos/Makefile.tc +100 -0
  1565. hdiffpatch/_c_src/zlib/nintendods/Makefile +126 -0
  1566. hdiffpatch/_c_src/zlib/nintendods/README +5 -0
  1567. hdiffpatch/_c_src/zlib/old/Makefile.emx +69 -0
  1568. hdiffpatch/_c_src/zlib/old/Makefile.riscos +151 -0
  1569. hdiffpatch/_c_src/zlib/old/README +3 -0
  1570. hdiffpatch/_c_src/zlib/old/descrip.mms +48 -0
  1571. hdiffpatch/_c_src/zlib/old/os2/Makefile.os2 +136 -0
  1572. hdiffpatch/_c_src/zlib/old/os2/zlib.def +51 -0
  1573. hdiffpatch/_c_src/zlib/old/visual-basic.txt +160 -0
  1574. hdiffpatch/_c_src/zlib/os400/README400 +48 -0
  1575. hdiffpatch/_c_src/zlib/os400/bndsrc +127 -0
  1576. hdiffpatch/_c_src/zlib/os400/make.sh +366 -0
  1577. hdiffpatch/_c_src/zlib/os400/zlib.inc +527 -0
  1578. hdiffpatch/_c_src/zlib/qnx/package.qpg +141 -0
  1579. hdiffpatch/_c_src/zlib/test/example.c +546 -0
  1580. hdiffpatch/_c_src/zlib/test/infcover.c +672 -0
  1581. hdiffpatch/_c_src/zlib/test/minigzip.c +579 -0
  1582. hdiffpatch/_c_src/zlib/treebuild.xml +116 -0
  1583. hdiffpatch/_c_src/zlib/trees.c +1117 -0
  1584. hdiffpatch/_c_src/zlib/trees.h +128 -0
  1585. hdiffpatch/_c_src/zlib/uncompr.c +85 -0
  1586. hdiffpatch/_c_src/zlib/watcom/watcom_f.mak +43 -0
  1587. hdiffpatch/_c_src/zlib/watcom/watcom_l.mak +43 -0
  1588. hdiffpatch/_c_src/zlib/win32/DLL_FAQ.txt +381 -0
  1589. hdiffpatch/_c_src/zlib/win32/Makefile.bor +109 -0
  1590. hdiffpatch/_c_src/zlib/win32/Makefile.gcc +177 -0
  1591. hdiffpatch/_c_src/zlib/win32/Makefile.msc +159 -0
  1592. hdiffpatch/_c_src/zlib/win32/README-WIN32.txt +103 -0
  1593. hdiffpatch/_c_src/zlib/win32/VisualC.txt +3 -0
  1594. hdiffpatch/_c_src/zlib/win32/zlib.def +97 -0
  1595. hdiffpatch/_c_src/zlib/win32/zlib1.rc +40 -0
  1596. hdiffpatch/_c_src/zlib/zconf.h +543 -0
  1597. hdiffpatch/_c_src/zlib/zconf.h.cmakein +545 -0
  1598. hdiffpatch/_c_src/zlib/zconf.h.in +543 -0
  1599. hdiffpatch/_c_src/zlib/zlib.3 +149 -0
  1600. hdiffpatch/_c_src/zlib/zlib.3.pdf +0 -0
  1601. hdiffpatch/_c_src/zlib/zlib.h +1945 -0
  1602. hdiffpatch/_c_src/zlib/zlib.map +100 -0
  1603. hdiffpatch/_c_src/zlib/zlib.pc.cmakein +13 -0
  1604. hdiffpatch/_c_src/zlib/zlib.pc.in +13 -0
  1605. hdiffpatch/_c_src/zlib/zutil.c +299 -0
  1606. hdiffpatch/_c_src/zlib/zutil.h +254 -0
  1607. hdiffpatch/_c_src/zstd/.buckconfig +9 -0
  1608. hdiffpatch/_c_src/zstd/.buckversion +1 -0
  1609. hdiffpatch/_c_src/zstd/.cirrus.yml +9 -0
  1610. hdiffpatch/_c_src/zstd/.git +1 -0
  1611. hdiffpatch/_c_src/zstd/.gitattributes +21 -0
  1612. hdiffpatch/_c_src/zstd/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
  1613. hdiffpatch/_c_src/zstd/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  1614. hdiffpatch/_c_src/zstd/.github/dependabot.yml +6 -0
  1615. hdiffpatch/_c_src/zstd/.github/workflows/android-ndk-build.yml +39 -0
  1616. hdiffpatch/_c_src/zstd/.github/workflows/commit.yml +104 -0
  1617. hdiffpatch/_c_src/zstd/.github/workflows/dev-long-tests.yml +313 -0
  1618. hdiffpatch/_c_src/zstd/.github/workflows/dev-short-tests.yml +725 -0
  1619. hdiffpatch/_c_src/zstd/.github/workflows/nightly.yml +38 -0
  1620. hdiffpatch/_c_src/zstd/.github/workflows/publish-release-artifacts.yml +73 -0
  1621. hdiffpatch/_c_src/zstd/.github/workflows/scorecards.yml +64 -0
  1622. hdiffpatch/_c_src/zstd/.github/workflows/windows-artifacts.yml +58 -0
  1623. hdiffpatch/_c_src/zstd/.gitignore +63 -0
  1624. hdiffpatch/_c_src/zstd/CHANGELOG +863 -0
  1625. hdiffpatch/_c_src/zstd/CODE_OF_CONDUCT.md +5 -0
  1626. hdiffpatch/_c_src/zstd/CONTRIBUTING.md +489 -0
  1627. hdiffpatch/_c_src/zstd/COPYING +339 -0
  1628. hdiffpatch/_c_src/zstd/LICENSE +30 -0
  1629. hdiffpatch/_c_src/zstd/Makefile +471 -0
  1630. hdiffpatch/_c_src/zstd/Package.swift +36 -0
  1631. hdiffpatch/_c_src/zstd/README.md +237 -0
  1632. hdiffpatch/_c_src/zstd/SECURITY.md +15 -0
  1633. hdiffpatch/_c_src/zstd/TESTING.md +43 -0
  1634. hdiffpatch/_c_src/zstd/build/.gitignore +33 -0
  1635. hdiffpatch/_c_src/zstd/build/LICENSE +0 -0
  1636. hdiffpatch/_c_src/zstd/build/README.md +56 -0
  1637. hdiffpatch/_c_src/zstd/build/VS2008/fullbench/fullbench.vcproj +549 -0
  1638. hdiffpatch/_c_src/zstd/build/VS2008/fuzzer/fuzzer.vcproj +585 -0
  1639. hdiffpatch/_c_src/zstd/build/VS2008/zstd/zstd.vcproj +677 -0
  1640. hdiffpatch/_c_src/zstd/build/VS2008/zstd.sln +56 -0
  1641. hdiffpatch/_c_src/zstd/build/VS2008/zstdlib/zstdlib.vcproj +635 -0
  1642. hdiffpatch/_c_src/zstd/build/VS2010/CompileAsCpp.props +8 -0
  1643. hdiffpatch/_c_src/zstd/build/VS2010/datagen/datagen.vcxproj +170 -0
  1644. hdiffpatch/_c_src/zstd/build/VS2010/fullbench/fullbench.vcxproj +220 -0
  1645. hdiffpatch/_c_src/zstd/build/VS2010/fuzzer/fuzzer.vcxproj +224 -0
  1646. hdiffpatch/_c_src/zstd/build/VS2010/libzstd/libzstd.vcxproj +243 -0
  1647. hdiffpatch/_c_src/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc +51 -0
  1648. hdiffpatch/_c_src/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj +250 -0
  1649. hdiffpatch/_c_src/zstd/build/VS2010/zstd/zstd.rc +51 -0
  1650. hdiffpatch/_c_src/zstd/build/VS2010/zstd/zstd.vcxproj +266 -0
  1651. hdiffpatch/_c_src/zstd/build/VS2010/zstd.sln +84 -0
  1652. hdiffpatch/_c_src/zstd/build/VS_scripts/README.md +64 -0
  1653. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2010.cmd +7 -0
  1654. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2012.cmd +6 -0
  1655. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2013.cmd +7 -0
  1656. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2015.cmd +7 -0
  1657. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2017.cmd +7 -0
  1658. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2017Community.cmd +7 -0
  1659. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2017Enterprise.cmd +7 -0
  1660. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VS2017Professional.cmd +7 -0
  1661. hdiffpatch/_c_src/zstd/build/VS_scripts/build.VSPreview.cmd +7 -0
  1662. hdiffpatch/_c_src/zstd/build/VS_scripts/build.generic.cmd +67 -0
  1663. hdiffpatch/_c_src/zstd/build/cmake/.gitignore +10 -0
  1664. hdiffpatch/_c_src/zstd/build/cmake/CMakeLists.txt +228 -0
  1665. hdiffpatch/_c_src/zstd/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +136 -0
  1666. hdiffpatch/_c_src/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake +49 -0
  1667. hdiffpatch/_c_src/zstd/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +10 -0
  1668. hdiffpatch/_c_src/zstd/build/cmake/CMakeModules/JoinPaths.cmake +23 -0
  1669. hdiffpatch/_c_src/zstd/build/cmake/README.md +146 -0
  1670. hdiffpatch/_c_src/zstd/build/cmake/contrib/CMakeLists.txt +13 -0
  1671. hdiffpatch/_c_src/zstd/build/cmake/contrib/gen_html/CMakeLists.txt +30 -0
  1672. hdiffpatch/_c_src/zstd/build/cmake/contrib/pzstd/CMakeLists.txt +39 -0
  1673. hdiffpatch/_c_src/zstd/build/cmake/lib/.gitignore +2 -0
  1674. hdiffpatch/_c_src/zstd/build/cmake/lib/CMakeLists.txt +295 -0
  1675. hdiffpatch/_c_src/zstd/build/cmake/lib/cmake_uninstall.cmake.in +22 -0
  1676. hdiffpatch/_c_src/zstd/build/cmake/programs/.gitignore +5 -0
  1677. hdiffpatch/_c_src/zstd/build/cmake/programs/CMakeLists.txt +144 -0
  1678. hdiffpatch/_c_src/zstd/build/cmake/tests/.gitignore +6 -0
  1679. hdiffpatch/_c_src/zstd/build/cmake/tests/CMakeLists.txt +118 -0
  1680. hdiffpatch/_c_src/zstd/build/cmake/zstdConfig.cmake.in +10 -0
  1681. hdiffpatch/_c_src/zstd/build/meson/GetZstdLibraryVersion.py +39 -0
  1682. hdiffpatch/_c_src/zstd/build/meson/InstallSymlink.py +55 -0
  1683. hdiffpatch/_c_src/zstd/build/meson/README.md +38 -0
  1684. hdiffpatch/_c_src/zstd/build/meson/contrib/gen_html/meson.build +30 -0
  1685. hdiffpatch/_c_src/zstd/build/meson/contrib/meson.build +12 -0
  1686. hdiffpatch/_c_src/zstd/build/meson/contrib/pzstd/meson.build +25 -0
  1687. hdiffpatch/_c_src/zstd/build/meson/lib/meson.build +171 -0
  1688. hdiffpatch/_c_src/zstd/build/meson/meson.build +156 -0
  1689. hdiffpatch/_c_src/zstd/build/meson/meson_options.txt +36 -0
  1690. hdiffpatch/_c_src/zstd/build/meson/programs/meson.build +124 -0
  1691. hdiffpatch/_c_src/zstd/build/meson/tests/meson.build +217 -0
  1692. hdiffpatch/_c_src/zstd/build/meson/tests/valgrindTest.py +90 -0
  1693. hdiffpatch/_c_src/zstd/build/single_file_libs/.gitignore +10 -0
  1694. hdiffpatch/_c_src/zstd/build/single_file_libs/README.md +33 -0
  1695. hdiffpatch/_c_src/zstd/build/single_file_libs/build_decoder_test.sh +91 -0
  1696. hdiffpatch/_c_src/zstd/build/single_file_libs/build_library_test.sh +98 -0
  1697. hdiffpatch/_c_src/zstd/build/single_file_libs/combine.py +234 -0
  1698. hdiffpatch/_c_src/zstd/build/single_file_libs/combine.sh +249 -0
  1699. hdiffpatch/_c_src/zstd/build/single_file_libs/create_single_file_decoder.sh +19 -0
  1700. hdiffpatch/_c_src/zstd/build/single_file_libs/create_single_file_library.sh +19 -0
  1701. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/README.md +11 -0
  1702. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/emscripten.c +340 -0
  1703. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/roundtrip.c +83 -0
  1704. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/shell.html +31 -0
  1705. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/simple.c +75 -0
  1706. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/testcard-dxt1.inl +2731 -0
  1707. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/testcard-zstd.inl +261 -0
  1708. hdiffpatch/_c_src/zstd/build/single_file_libs/examples/testcard.png +0 -0
  1709. hdiffpatch/_c_src/zstd/build/single_file_libs/zstd-in.c +91 -0
  1710. hdiffpatch/_c_src/zstd/build/single_file_libs/zstddeclib-in.c +62 -0
  1711. hdiffpatch/_c_src/zstd/contrib/VS2005/README.md +3 -0
  1712. hdiffpatch/_c_src/zstd/contrib/VS2005/fullbench/fullbench.vcproj +440 -0
  1713. hdiffpatch/_c_src/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj +488 -0
  1714. hdiffpatch/_c_src/zstd/contrib/VS2005/zstd/zstd.vcproj +552 -0
  1715. hdiffpatch/_c_src/zstd/contrib/VS2005/zstd.sln +55 -0
  1716. hdiffpatch/_c_src/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj +546 -0
  1717. hdiffpatch/_c_src/zstd/contrib/cleanTabs +2 -0
  1718. hdiffpatch/_c_src/zstd/contrib/diagnose_corruption/.gitignore +1 -0
  1719. hdiffpatch/_c_src/zstd/contrib/diagnose_corruption/Makefile +35 -0
  1720. hdiffpatch/_c_src/zstd/contrib/diagnose_corruption/check_flipped_bits.c +400 -0
  1721. hdiffpatch/_c_src/zstd/contrib/docker/Dockerfile +20 -0
  1722. hdiffpatch/_c_src/zstd/contrib/docker/README.md +20 -0
  1723. hdiffpatch/_c_src/zstd/contrib/externalSequenceProducer/.gitignore +2 -0
  1724. hdiffpatch/_c_src/zstd/contrib/externalSequenceProducer/Makefile +40 -0
  1725. hdiffpatch/_c_src/zstd/contrib/externalSequenceProducer/README.md +14 -0
  1726. hdiffpatch/_c_src/zstd/contrib/externalSequenceProducer/main.c +107 -0
  1727. hdiffpatch/_c_src/zstd/contrib/externalSequenceProducer/sequence_producer.c +80 -0
  1728. hdiffpatch/_c_src/zstd/contrib/externalSequenceProducer/sequence_producer.h +26 -0
  1729. hdiffpatch/_c_src/zstd/contrib/freestanding_lib/freestanding.py +774 -0
  1730. hdiffpatch/_c_src/zstd/contrib/gen_html/.gitignore +3 -0
  1731. hdiffpatch/_c_src/zstd/contrib/gen_html/Makefile +51 -0
  1732. hdiffpatch/_c_src/zstd/contrib/gen_html/README.md +31 -0
  1733. hdiffpatch/_c_src/zstd/contrib/gen_html/gen-zstd-manual.sh +9 -0
  1734. hdiffpatch/_c_src/zstd/contrib/gen_html/gen_html.cpp +225 -0
  1735. hdiffpatch/_c_src/zstd/contrib/largeNbDicts/.gitignore +2 -0
  1736. hdiffpatch/_c_src/zstd/contrib/largeNbDicts/Makefile +58 -0
  1737. hdiffpatch/_c_src/zstd/contrib/largeNbDicts/README.md +33 -0
  1738. hdiffpatch/_c_src/zstd/contrib/largeNbDicts/largeNbDicts.c +1085 -0
  1739. hdiffpatch/_c_src/zstd/contrib/linux-kernel/.gitignore +4 -0
  1740. hdiffpatch/_c_src/zstd/contrib/linux-kernel/Makefile +108 -0
  1741. hdiffpatch/_c_src/zstd/contrib/linux-kernel/README.md +14 -0
  1742. hdiffpatch/_c_src/zstd/contrib/linux-kernel/btrfs-benchmark.sh +104 -0
  1743. hdiffpatch/_c_src/zstd/contrib/linux-kernel/btrfs-extract-benchmark.sh +99 -0
  1744. hdiffpatch/_c_src/zstd/contrib/linux-kernel/decompress_sources.h +34 -0
  1745. hdiffpatch/_c_src/zstd/contrib/linux-kernel/linux.mk +44 -0
  1746. hdiffpatch/_c_src/zstd/contrib/linux-kernel/linux_zstd.h +525 -0
  1747. hdiffpatch/_c_src/zstd/contrib/linux-kernel/mem.h +262 -0
  1748. hdiffpatch/_c_src/zstd/contrib/linux-kernel/squashfs-benchmark.sh +39 -0
  1749. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/Makefile +49 -0
  1750. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/compiler.h +23 -0
  1751. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/errno.h +15 -0
  1752. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/kernel.h +19 -0
  1753. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/limits.h +15 -0
  1754. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/math64.h +15 -0
  1755. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/module.h +20 -0
  1756. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/printk.h +15 -0
  1757. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/stddef.h +15 -0
  1758. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/swab.h +16 -0
  1759. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/types.h +16 -0
  1760. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/unaligned.h +187 -0
  1761. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/include/linux/xxhash.h +745 -0
  1762. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/macro-test.sh +44 -0
  1763. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/static_test.c +52 -0
  1764. hdiffpatch/_c_src/zstd/contrib/linux-kernel/test/test.c +229 -0
  1765. hdiffpatch/_c_src/zstd/contrib/linux-kernel/zstd_common_module.c +29 -0
  1766. hdiffpatch/_c_src/zstd/contrib/linux-kernel/zstd_compress_module.c +237 -0
  1767. hdiffpatch/_c_src/zstd/contrib/linux-kernel/zstd_decompress_module.c +105 -0
  1768. hdiffpatch/_c_src/zstd/contrib/linux-kernel/zstd_deps.h +121 -0
  1769. hdiffpatch/_c_src/zstd/contrib/match_finders/README.md +42 -0
  1770. hdiffpatch/_c_src/zstd/contrib/match_finders/zstd_edist.c +558 -0
  1771. hdiffpatch/_c_src/zstd/contrib/match_finders/zstd_edist.h +70 -0
  1772. hdiffpatch/_c_src/zstd/contrib/premake/premake4.lua +6 -0
  1773. hdiffpatch/_c_src/zstd/contrib/premake/zstd.lua +80 -0
  1774. hdiffpatch/_c_src/zstd/contrib/pzstd/.gitignore +2 -0
  1775. hdiffpatch/_c_src/zstd/contrib/pzstd/BUCK +72 -0
  1776. hdiffpatch/_c_src/zstd/contrib/pzstd/ErrorHolder.h +54 -0
  1777. hdiffpatch/_c_src/zstd/contrib/pzstd/Logging.h +72 -0
  1778. hdiffpatch/_c_src/zstd/contrib/pzstd/Makefile +265 -0
  1779. hdiffpatch/_c_src/zstd/contrib/pzstd/Options.cpp +424 -0
  1780. hdiffpatch/_c_src/zstd/contrib/pzstd/Options.h +71 -0
  1781. hdiffpatch/_c_src/zstd/contrib/pzstd/Pzstd.cpp +626 -0
  1782. hdiffpatch/_c_src/zstd/contrib/pzstd/Pzstd.h +153 -0
  1783. hdiffpatch/_c_src/zstd/contrib/pzstd/README.md +56 -0
  1784. hdiffpatch/_c_src/zstd/contrib/pzstd/SkippableFrame.cpp +30 -0
  1785. hdiffpatch/_c_src/zstd/contrib/pzstd/SkippableFrame.h +64 -0
  1786. hdiffpatch/_c_src/zstd/contrib/pzstd/images/Cspeed.png +0 -0
  1787. hdiffpatch/_c_src/zstd/contrib/pzstd/images/Dspeed.png +0 -0
  1788. hdiffpatch/_c_src/zstd/contrib/pzstd/main.cpp +27 -0
  1789. hdiffpatch/_c_src/zstd/contrib/pzstd/test/BUCK +37 -0
  1790. hdiffpatch/_c_src/zstd/contrib/pzstd/test/OptionsTest.cpp +536 -0
  1791. hdiffpatch/_c_src/zstd/contrib/pzstd/test/PzstdTest.cpp +147 -0
  1792. hdiffpatch/_c_src/zstd/contrib/pzstd/test/RoundTrip.h +86 -0
  1793. hdiffpatch/_c_src/zstd/contrib/pzstd/test/RoundTripTest.cpp +84 -0
  1794. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/BUCK +75 -0
  1795. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/Buffer.h +99 -0
  1796. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/FileSystem.h +96 -0
  1797. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/Likely.h +28 -0
  1798. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/Portability.h +16 -0
  1799. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/Range.h +133 -0
  1800. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/ResourcePool.h +96 -0
  1801. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/ScopeGuard.h +50 -0
  1802. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/ThreadPool.h +58 -0
  1803. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/WorkQueue.h +182 -0
  1804. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/BUCK +35 -0
  1805. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/BufferTest.cpp +89 -0
  1806. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/RangeTest.cpp +82 -0
  1807. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/ResourcePoolTest.cpp +72 -0
  1808. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/ScopeGuardTest.cpp +28 -0
  1809. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/ThreadPoolTest.cpp +71 -0
  1810. hdiffpatch/_c_src/zstd/contrib/pzstd/utils/test/WorkQueueTest.cpp +282 -0
  1811. hdiffpatch/_c_src/zstd/contrib/recovery/Makefile +35 -0
  1812. hdiffpatch/_c_src/zstd/contrib/recovery/recover_directory.c +152 -0
  1813. hdiffpatch/_c_src/zstd/contrib/seekable_format/README.md +42 -0
  1814. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/.gitignore +5 -0
  1815. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/Makefile +53 -0
  1816. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/parallel_compression.c +214 -0
  1817. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/parallel_processing.c +194 -0
  1818. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/seekable_compression.c +136 -0
  1819. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/seekable_decompression.c +141 -0
  1820. hdiffpatch/_c_src/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c +147 -0
  1821. hdiffpatch/_c_src/zstd/contrib/seekable_format/tests/.gitignore +1 -0
  1822. hdiffpatch/_c_src/zstd/contrib/seekable_format/tests/Makefile +38 -0
  1823. hdiffpatch/_c_src/zstd/contrib/seekable_format/tests/seekable_tests.c +363 -0
  1824. hdiffpatch/_c_src/zstd/contrib/seekable_format/zstd_seekable.h +226 -0
  1825. hdiffpatch/_c_src/zstd/contrib/seekable_format/zstd_seekable_compression_format.md +116 -0
  1826. hdiffpatch/_c_src/zstd/contrib/seekable_format/zstdseek_compress.c +365 -0
  1827. hdiffpatch/_c_src/zstd/contrib/seekable_format/zstdseek_decompress.c +600 -0
  1828. hdiffpatch/_c_src/zstd/contrib/seqBench/Makefile +58 -0
  1829. hdiffpatch/_c_src/zstd/contrib/seqBench/seqBench.c +53 -0
  1830. hdiffpatch/_c_src/zstd/contrib/snap/snapcraft.yaml +28 -0
  1831. hdiffpatch/_c_src/zstd/doc/README.md +26 -0
  1832. hdiffpatch/_c_src/zstd/doc/decompressor_errata.md +148 -0
  1833. hdiffpatch/_c_src/zstd/doc/decompressor_permissive.md +80 -0
  1834. hdiffpatch/_c_src/zstd/doc/educational_decoder/.gitignore +2 -0
  1835. hdiffpatch/_c_src/zstd/doc/educational_decoder/Makefile +62 -0
  1836. hdiffpatch/_c_src/zstd/doc/educational_decoder/README.md +36 -0
  1837. hdiffpatch/_c_src/zstd/doc/educational_decoder/harness.c +119 -0
  1838. hdiffpatch/_c_src/zstd/doc/educational_decoder/zstd_decompress.c +2323 -0
  1839. hdiffpatch/_c_src/zstd/doc/educational_decoder/zstd_decompress.h +61 -0
  1840. hdiffpatch/_c_src/zstd/doc/images/CSpeed2.png +0 -0
  1841. hdiffpatch/_c_src/zstd/doc/images/DCspeed5.png +0 -0
  1842. hdiffpatch/_c_src/zstd/doc/images/DSpeed3.png +0 -0
  1843. hdiffpatch/_c_src/zstd/doc/images/cdict_v136.png +0 -0
  1844. hdiffpatch/_c_src/zstd/doc/images/dict-cr.png +0 -0
  1845. hdiffpatch/_c_src/zstd/doc/images/dict-cs.png +0 -0
  1846. hdiffpatch/_c_src/zstd/doc/images/dict-ds.png +0 -0
  1847. hdiffpatch/_c_src/zstd/doc/images/zstd_cdict_v1_3_5.png +0 -0
  1848. hdiffpatch/_c_src/zstd/doc/images/zstd_logo86.png +0 -0
  1849. hdiffpatch/_c_src/zstd/doc/zstd_compression_format.md +1771 -0
  1850. hdiffpatch/_c_src/zstd/doc/zstd_manual.html +2237 -0
  1851. hdiffpatch/_c_src/zstd/examples/.gitignore +15 -0
  1852. hdiffpatch/_c_src/zstd/examples/Makefile +93 -0
  1853. hdiffpatch/_c_src/zstd/examples/README.md +46 -0
  1854. hdiffpatch/_c_src/zstd/examples/common.h +246 -0
  1855. hdiffpatch/_c_src/zstd/examples/dictionary_compression.c +107 -0
  1856. hdiffpatch/_c_src/zstd/examples/dictionary_decompression.c +99 -0
  1857. hdiffpatch/_c_src/zstd/examples/multiple_simple_compression.c +116 -0
  1858. hdiffpatch/_c_src/zstd/examples/multiple_streaming_compression.c +133 -0
  1859. hdiffpatch/_c_src/zstd/examples/simple_compression.c +68 -0
  1860. hdiffpatch/_c_src/zstd/examples/simple_decompression.c +65 -0
  1861. hdiffpatch/_c_src/zstd/examples/streaming_compression.c +146 -0
  1862. hdiffpatch/_c_src/zstd/examples/streaming_compression_thread_pool.c +180 -0
  1863. hdiffpatch/_c_src/zstd/examples/streaming_decompression.c +100 -0
  1864. hdiffpatch/_c_src/zstd/examples/streaming_memory_usage.c +137 -0
  1865. hdiffpatch/_c_src/zstd/lib/.gitignore +3 -0
  1866. hdiffpatch/_c_src/zstd/lib/BUCK +232 -0
  1867. hdiffpatch/_c_src/zstd/lib/Makefile +389 -0
  1868. hdiffpatch/_c_src/zstd/lib/README.md +248 -0
  1869. hdiffpatch/_c_src/zstd/lib/common/allocations.h +55 -0
  1870. hdiffpatch/_c_src/zstd/lib/common/bits.h +205 -0
  1871. hdiffpatch/_c_src/zstd/lib/common/bitstream.h +454 -0
  1872. hdiffpatch/_c_src/zstd/lib/common/compiler.h +464 -0
  1873. hdiffpatch/_c_src/zstd/lib/common/cpu.h +249 -0
  1874. hdiffpatch/_c_src/zstd/lib/common/debug.c +30 -0
  1875. hdiffpatch/_c_src/zstd/lib/common/debug.h +107 -0
  1876. hdiffpatch/_c_src/zstd/lib/common/entropy_common.c +340 -0
  1877. hdiffpatch/_c_src/zstd/lib/common/error_private.c +64 -0
  1878. hdiffpatch/_c_src/zstd/lib/common/error_private.h +158 -0
  1879. hdiffpatch/_c_src/zstd/lib/common/fse.h +625 -0
  1880. hdiffpatch/_c_src/zstd/lib/common/fse_decompress.c +315 -0
  1881. hdiffpatch/_c_src/zstd/lib/common/huf.h +277 -0
  1882. hdiffpatch/_c_src/zstd/lib/common/mem.h +422 -0
  1883. hdiffpatch/_c_src/zstd/lib/common/pool.c +371 -0
  1884. hdiffpatch/_c_src/zstd/lib/common/pool.h +81 -0
  1885. hdiffpatch/_c_src/zstd/lib/common/portability_macros.h +171 -0
  1886. hdiffpatch/_c_src/zstd/lib/common/threading.c +182 -0
  1887. hdiffpatch/_c_src/zstd/lib/common/threading.h +142 -0
  1888. hdiffpatch/_c_src/zstd/lib/common/xxhash.c +18 -0
  1889. hdiffpatch/_c_src/zstd/lib/common/xxhash.h +7094 -0
  1890. hdiffpatch/_c_src/zstd/lib/common/zstd_common.c +48 -0
  1891. hdiffpatch/_c_src/zstd/lib/common/zstd_deps.h +123 -0
  1892. hdiffpatch/_c_src/zstd/lib/common/zstd_internal.h +324 -0
  1893. hdiffpatch/_c_src/zstd/lib/common/zstd_trace.h +156 -0
  1894. hdiffpatch/_c_src/zstd/lib/compress/clevels.h +134 -0
  1895. hdiffpatch/_c_src/zstd/lib/compress/fse_compress.c +625 -0
  1896. hdiffpatch/_c_src/zstd/lib/compress/hist.c +191 -0
  1897. hdiffpatch/_c_src/zstd/lib/compress/hist.h +82 -0
  1898. hdiffpatch/_c_src/zstd/lib/compress/huf_compress.c +1464 -0
  1899. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress.c +7942 -0
  1900. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_internal.h +1640 -0
  1901. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_literals.c +235 -0
  1902. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_literals.h +39 -0
  1903. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_sequences.c +442 -0
  1904. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_sequences.h +55 -0
  1905. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_superblock.c +688 -0
  1906. hdiffpatch/_c_src/zstd/lib/compress/zstd_compress_superblock.h +32 -0
  1907. hdiffpatch/_c_src/zstd/lib/compress/zstd_cwksp.h +765 -0
  1908. hdiffpatch/_c_src/zstd/lib/compress/zstd_double_fast.c +778 -0
  1909. hdiffpatch/_c_src/zstd/lib/compress/zstd_double_fast.h +42 -0
  1910. hdiffpatch/_c_src/zstd/lib/compress/zstd_fast.c +985 -0
  1911. hdiffpatch/_c_src/zstd/lib/compress/zstd_fast.h +30 -0
  1912. hdiffpatch/_c_src/zstd/lib/compress/zstd_lazy.c +2199 -0
  1913. hdiffpatch/_c_src/zstd/lib/compress/zstd_lazy.h +193 -0
  1914. hdiffpatch/_c_src/zstd/lib/compress/zstd_ldm.c +745 -0
  1915. hdiffpatch/_c_src/zstd/lib/compress/zstd_ldm.h +109 -0
  1916. hdiffpatch/_c_src/zstd/lib/compress/zstd_ldm_geartab.h +106 -0
  1917. hdiffpatch/_c_src/zstd/lib/compress/zstd_opt.c +1580 -0
  1918. hdiffpatch/_c_src/zstd/lib/compress/zstd_opt.h +72 -0
  1919. hdiffpatch/_c_src/zstd/lib/compress/zstd_preSplit.c +238 -0
  1920. hdiffpatch/_c_src/zstd/lib/compress/zstd_preSplit.h +33 -0
  1921. hdiffpatch/_c_src/zstd/lib/compress/zstdmt_compress.c +1923 -0
  1922. hdiffpatch/_c_src/zstd/lib/compress/zstdmt_compress.h +102 -0
  1923. hdiffpatch/_c_src/zstd/lib/decompress/huf_decompress.c +1944 -0
  1924. hdiffpatch/_c_src/zstd/lib/decompress/huf_decompress_amd64.S +602 -0
  1925. hdiffpatch/_c_src/zstd/lib/decompress/zstd_ddict.c +244 -0
  1926. hdiffpatch/_c_src/zstd/lib/decompress/zstd_ddict.h +44 -0
  1927. hdiffpatch/_c_src/zstd/lib/decompress/zstd_decompress.c +2410 -0
  1928. hdiffpatch/_c_src/zstd/lib/decompress/zstd_decompress_block.c +2209 -0
  1929. hdiffpatch/_c_src/zstd/lib/decompress/zstd_decompress_block.h +73 -0
  1930. hdiffpatch/_c_src/zstd/lib/decompress/zstd_decompress_internal.h +240 -0
  1931. hdiffpatch/_c_src/zstd/lib/deprecated/zbuff.h +214 -0
  1932. hdiffpatch/_c_src/zstd/lib/deprecated/zbuff_common.c +26 -0
  1933. hdiffpatch/_c_src/zstd/lib/deprecated/zbuff_compress.c +167 -0
  1934. hdiffpatch/_c_src/zstd/lib/deprecated/zbuff_decompress.c +77 -0
  1935. hdiffpatch/_c_src/zstd/lib/dictBuilder/cover.c +1302 -0
  1936. hdiffpatch/_c_src/zstd/lib/dictBuilder/cover.h +152 -0
  1937. hdiffpatch/_c_src/zstd/lib/dictBuilder/divsufsort.c +1913 -0
  1938. hdiffpatch/_c_src/zstd/lib/dictBuilder/divsufsort.h +57 -0
  1939. hdiffpatch/_c_src/zstd/lib/dictBuilder/fastcover.c +766 -0
  1940. hdiffpatch/_c_src/zstd/lib/dictBuilder/zdict.c +1133 -0
  1941. hdiffpatch/_c_src/zstd/lib/dll/example/Makefile +48 -0
  1942. hdiffpatch/_c_src/zstd/lib/dll/example/README.md +63 -0
  1943. hdiffpatch/_c_src/zstd/lib/dll/example/build_package.bat +20 -0
  1944. hdiffpatch/_c_src/zstd/lib/dll/example/fullbench-dll.sln +25 -0
  1945. hdiffpatch/_c_src/zstd/lib/dll/example/fullbench-dll.vcxproj +181 -0
  1946. hdiffpatch/_c_src/zstd/lib/legacy/zstd_legacy.h +452 -0
  1947. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v01.c +2127 -0
  1948. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v01.h +94 -0
  1949. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v02.c +3465 -0
  1950. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v02.h +93 -0
  1951. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v03.c +3105 -0
  1952. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v03.h +93 -0
  1953. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v04.c +3598 -0
  1954. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v04.h +142 -0
  1955. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v05.c +4005 -0
  1956. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v05.h +162 -0
  1957. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v06.c +4110 -0
  1958. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v06.h +172 -0
  1959. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v07.c +4490 -0
  1960. hdiffpatch/_c_src/zstd/lib/legacy/zstd_v07.h +187 -0
  1961. hdiffpatch/_c_src/zstd/lib/libzstd.mk +235 -0
  1962. hdiffpatch/_c_src/zstd/lib/libzstd.pc.in +16 -0
  1963. hdiffpatch/_c_src/zstd/lib/module.modulemap +35 -0
  1964. hdiffpatch/_c_src/zstd/lib/zdict.h +481 -0
  1965. hdiffpatch/_c_src/zstd/lib/zstd.h +3206 -0
  1966. hdiffpatch/_c_src/zstd/lib/zstd_errors.h +107 -0
  1967. hdiffpatch/_c_src/zstd/programs/.gitignore +41 -0
  1968. hdiffpatch/_c_src/zstd/programs/BUCK +44 -0
  1969. hdiffpatch/_c_src/zstd/programs/Makefile +445 -0
  1970. hdiffpatch/_c_src/zstd/programs/README.md +344 -0
  1971. hdiffpatch/_c_src/zstd/programs/benchfn.c +256 -0
  1972. hdiffpatch/_c_src/zstd/programs/benchfn.h +173 -0
  1973. hdiffpatch/_c_src/zstd/programs/benchzstd.c +1281 -0
  1974. hdiffpatch/_c_src/zstd/programs/benchzstd.h +191 -0
  1975. hdiffpatch/_c_src/zstd/programs/datagen.c +186 -0
  1976. hdiffpatch/_c_src/zstd/programs/datagen.h +38 -0
  1977. hdiffpatch/_c_src/zstd/programs/dibio.c +440 -0
  1978. hdiffpatch/_c_src/zstd/programs/dibio.h +39 -0
  1979. hdiffpatch/_c_src/zstd/programs/fileio.c +3464 -0
  1980. hdiffpatch/_c_src/zstd/programs/fileio.h +171 -0
  1981. hdiffpatch/_c_src/zstd/programs/fileio_asyncio.c +663 -0
  1982. hdiffpatch/_c_src/zstd/programs/fileio_asyncio.h +195 -0
  1983. hdiffpatch/_c_src/zstd/programs/fileio_common.h +121 -0
  1984. hdiffpatch/_c_src/zstd/programs/fileio_types.h +86 -0
  1985. hdiffpatch/_c_src/zstd/programs/lorem.c +285 -0
  1986. hdiffpatch/_c_src/zstd/programs/lorem.h +32 -0
  1987. hdiffpatch/_c_src/zstd/programs/platform.h +217 -0
  1988. hdiffpatch/_c_src/zstd/programs/timefn.c +168 -0
  1989. hdiffpatch/_c_src/zstd/programs/timefn.h +59 -0
  1990. hdiffpatch/_c_src/zstd/programs/util.c +1643 -0
  1991. hdiffpatch/_c_src/zstd/programs/util.h +362 -0
  1992. hdiffpatch/_c_src/zstd/programs/windres/verrsrc.h +17 -0
  1993. hdiffpatch/_c_src/zstd/programs/windres/zstd.rc +51 -0
  1994. hdiffpatch/_c_src/zstd/programs/windres/zstd32.res +0 -0
  1995. hdiffpatch/_c_src/zstd/programs/windres/zstd64.res +0 -0
  1996. hdiffpatch/_c_src/zstd/programs/zstd.1 +392 -0
  1997. hdiffpatch/_c_src/zstd/programs/zstd.1.md +714 -0
  1998. hdiffpatch/_c_src/zstd/programs/zstdcli.c +1658 -0
  1999. hdiffpatch/_c_src/zstd/programs/zstdcli_trace.c +172 -0
  2000. hdiffpatch/_c_src/zstd/programs/zstdcli_trace.h +24 -0
  2001. hdiffpatch/_c_src/zstd/programs/zstdgrep +134 -0
  2002. hdiffpatch/_c_src/zstd/programs/zstdgrep.1 +26 -0
  2003. hdiffpatch/_c_src/zstd/programs/zstdgrep.1.md +30 -0
  2004. hdiffpatch/_c_src/zstd/programs/zstdless +8 -0
  2005. hdiffpatch/_c_src/zstd/programs/zstdless.1 +14 -0
  2006. hdiffpatch/_c_src/zstd/programs/zstdless.1.md +16 -0
  2007. hdiffpatch/_c_src/zstd/tests/.gitignore +72 -0
  2008. hdiffpatch/_c_src/zstd/tests/DEPRECATED-test-zstd-speed.py +378 -0
  2009. hdiffpatch/_c_src/zstd/tests/Makefile +481 -0
  2010. hdiffpatch/_c_src/zstd/tests/README.md +184 -0
  2011. hdiffpatch/_c_src/zstd/tests/automated_benchmarking.py +326 -0
  2012. hdiffpatch/_c_src/zstd/tests/bigdict.c +133 -0
  2013. hdiffpatch/_c_src/zstd/tests/checkTag.c +65 -0
  2014. hdiffpatch/_c_src/zstd/tests/check_size.py +31 -0
  2015. hdiffpatch/_c_src/zstd/tests/cli-tests/.gitignore +6 -0
  2016. hdiffpatch/_c_src/zstd/tests/cli-tests/README.md +258 -0
  2017. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/args.sh +10 -0
  2018. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/args.sh.exit +1 -0
  2019. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/args.sh.stderr.glob +28 -0
  2020. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/help.sh +10 -0
  2021. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/help.sh.stdout.glob +34 -0
  2022. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/memlimit.sh +40 -0
  2023. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/memlimit.sh.stderr.exact +13 -0
  2024. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/memlimit.sh.stdout.exact +13 -0
  2025. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/output_dir.sh +7 -0
  2026. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/output_dir.sh.stderr.exact +2 -0
  2027. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/output_dir.sh.stdout.exact +2 -0
  2028. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/version.sh +6 -0
  2029. hdiffpatch/_c_src/zstd/tests/cli-tests/basic/version.sh.stdout.glob +2 -0
  2030. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/cmp_size +44 -0
  2031. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/datagen +3 -0
  2032. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/die +4 -0
  2033. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/println +2 -0
  2034. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/zstd +9 -0
  2035. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/zstdgrep +2 -0
  2036. hdiffpatch/_c_src/zstd/tests/cli-tests/bin/zstdless +2 -0
  2037. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/setup +6 -0
  2038. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdgrep.sh +8 -0
  2039. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdgrep.sh.exit +1 -0
  2040. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdgrep.sh.stderr.exact +1 -0
  2041. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdgrep.sh.stdout.glob +4 -0
  2042. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdless.sh +10 -0
  2043. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdless.sh.stderr.exact +2 -0
  2044. hdiffpatch/_c_src/zstd/tests/cli-tests/cltools/zstdless.sh.stdout.glob +5 -0
  2045. hdiffpatch/_c_src/zstd/tests/cli-tests/common/format.sh +19 -0
  2046. hdiffpatch/_c_src/zstd/tests/cli-tests/common/mtime.sh +13 -0
  2047. hdiffpatch/_c_src/zstd/tests/cli-tests/common/permissions.sh +18 -0
  2048. hdiffpatch/_c_src/zstd/tests/cli-tests/common/platform.sh +36 -0
  2049. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/adapt.sh +14 -0
  2050. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/basic.sh +36 -0
  2051. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/compress-literals.sh +10 -0
  2052. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/format.sh +16 -0
  2053. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/golden.sh +16 -0
  2054. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/gzip-compat.sh +17 -0
  2055. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/levels.sh +75 -0
  2056. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/levels.sh.stderr.exact +80 -0
  2057. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/long-distance-matcher.sh +7 -0
  2058. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/multi-threaded.sh +15 -0
  2059. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/multi-threaded.sh.stderr.exact +11 -0
  2060. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/multiple-files.sh +21 -0
  2061. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/multiple-files.sh.stdout.exact +12 -0
  2062. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/row-match-finder.sh +7 -0
  2063. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/setup +7 -0
  2064. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/stream-size.sh +7 -0
  2065. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/verbose-wlog.sh +11 -0
  2066. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/verbose-wlog.sh.stderr.glob +5 -0
  2067. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/verbose-wlog.sh.stdout.glob +5 -0
  2068. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/window-resize.sh +9 -0
  2069. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/window-resize.sh.stderr.ignore +0 -0
  2070. hdiffpatch/_c_src/zstd/tests/cli-tests/compression/window-resize.sh.stdout.glob +3 -0
  2071. hdiffpatch/_c_src/zstd/tests/cli-tests/decompression/detectErrors.sh +11 -0
  2072. hdiffpatch/_c_src/zstd/tests/cli-tests/decompression/golden.sh +7 -0
  2073. hdiffpatch/_c_src/zstd/tests/cli-tests/decompression/pass-through.sh +57 -0
  2074. hdiffpatch/_c_src/zstd/tests/cli-tests/decompression/pass-through.sh.stderr.exact +11 -0
  2075. hdiffpatch/_c_src/zstd/tests/cli-tests/decompression/pass-through.sh.stdout.exact +25 -0
  2076. hdiffpatch/_c_src/zstd/tests/cli-tests/dict-builder/empty-input.sh +9 -0
  2077. hdiffpatch/_c_src/zstd/tests/cli-tests/dict-builder/empty-input.sh.stderr.exact +1 -0
  2078. hdiffpatch/_c_src/zstd/tests/cli-tests/dict-builder/no-inputs.sh +3 -0
  2079. hdiffpatch/_c_src/zstd/tests/cli-tests/dict-builder/no-inputs.sh.exit +1 -0
  2080. hdiffpatch/_c_src/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +5 -0
  2081. hdiffpatch/_c_src/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh +29 -0
  2082. hdiffpatch/_c_src/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh.stderr.exact +7 -0
  2083. hdiffpatch/_c_src/zstd/tests/cli-tests/dictionaries/golden.sh +9 -0
  2084. hdiffpatch/_c_src/zstd/tests/cli-tests/dictionaries/setup +6 -0
  2085. hdiffpatch/_c_src/zstd/tests/cli-tests/dictionaries/setup_once +24 -0
  2086. hdiffpatch/_c_src/zstd/tests/cli-tests/file-handling/directory-mirror.sh +49 -0
  2087. hdiffpatch/_c_src/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact +0 -0
  2088. hdiffpatch/_c_src/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact +0 -0
  2089. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh +12 -0
  2090. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact +26 -0
  2091. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh +9 -0
  2092. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact +42 -0
  2093. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh +8 -0
  2094. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh.stderr.exact +24 -0
  2095. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh +8 -0
  2096. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.exact +24 -0
  2097. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh +8 -0
  2098. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh.stderr.exact +18 -0
  2099. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh +8 -0
  2100. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact +38 -0
  2101. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh +7 -0
  2102. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh.stderr.exact +18 -0
  2103. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh +7 -0
  2104. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.exact +20 -0
  2105. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh +7 -0
  2106. hdiffpatch/_c_src/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh.stderr.exact +14 -0
  2107. hdiffpatch/_c_src/zstd/tests/cli-tests/progress/no-progress.sh +46 -0
  2108. hdiffpatch/_c_src/zstd/tests/cli-tests/progress/no-progress.sh.stderr.glob +96 -0
  2109. hdiffpatch/_c_src/zstd/tests/cli-tests/progress/progress.sh +41 -0
  2110. hdiffpatch/_c_src/zstd/tests/cli-tests/progress/progress.sh.stderr.glob +62 -0
  2111. hdiffpatch/_c_src/zstd/tests/cli-tests/run.py +731 -0
  2112. hdiffpatch/_c_src/zstd/tests/cli-tests/zstd-symlinks/setup +6 -0
  2113. hdiffpatch/_c_src/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh +12 -0
  2114. hdiffpatch/_c_src/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh.stdout.exact +8 -0
  2115. hdiffpatch/_c_src/zstd/tests/datagencli.c +149 -0
  2116. hdiffpatch/_c_src/zstd/tests/decodecorpus.c +1998 -0
  2117. hdiffpatch/_c_src/zstd/tests/dict-files/zero-weight-dict +0 -0
  2118. hdiffpatch/_c_src/zstd/tests/external_matchfinder.c +140 -0
  2119. hdiffpatch/_c_src/zstd/tests/external_matchfinder.h +39 -0
  2120. hdiffpatch/_c_src/zstd/tests/fullbench.c +1209 -0
  2121. hdiffpatch/_c_src/zstd/tests/fuzz/.gitignore +31 -0
  2122. hdiffpatch/_c_src/zstd/tests/fuzz/Makefile +278 -0
  2123. hdiffpatch/_c_src/zstd/tests/fuzz/README.md +161 -0
  2124. hdiffpatch/_c_src/zstd/tests/fuzz/block_decompress.c +53 -0
  2125. hdiffpatch/_c_src/zstd/tests/fuzz/block_round_trip.c +103 -0
  2126. hdiffpatch/_c_src/zstd/tests/fuzz/decompress_cross_format.c +130 -0
  2127. hdiffpatch/_c_src/zstd/tests/fuzz/decompress_dstSize_tooSmall.c +74 -0
  2128. hdiffpatch/_c_src/zstd/tests/fuzz/dictionary_decompress.c +77 -0
  2129. hdiffpatch/_c_src/zstd/tests/fuzz/dictionary_loader.c +106 -0
  2130. hdiffpatch/_c_src/zstd/tests/fuzz/dictionary_round_trip.c +155 -0
  2131. hdiffpatch/_c_src/zstd/tests/fuzz/dictionary_stream_round_trip.c +209 -0
  2132. hdiffpatch/_c_src/zstd/tests/fuzz/fse_read_ncount.c +100 -0
  2133. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz.h +57 -0
  2134. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz.py +910 -0
  2135. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz_data_producer.c +95 -0
  2136. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz_data_producer.h +66 -0
  2137. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz_helpers.c +48 -0
  2138. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz_helpers.h +81 -0
  2139. hdiffpatch/_c_src/zstd/tests/fuzz/fuzz_third_party_seq_prod.h +116 -0
  2140. hdiffpatch/_c_src/zstd/tests/fuzz/generate_sequences.c +88 -0
  2141. hdiffpatch/_c_src/zstd/tests/fuzz/huf_decompress.c +68 -0
  2142. hdiffpatch/_c_src/zstd/tests/fuzz/huf_round_trip.c +137 -0
  2143. hdiffpatch/_c_src/zstd/tests/fuzz/raw_dictionary_round_trip.c +119 -0
  2144. hdiffpatch/_c_src/zstd/tests/fuzz/regression_driver.c +90 -0
  2145. hdiffpatch/_c_src/zstd/tests/fuzz/seekable_roundtrip.c +88 -0
  2146. hdiffpatch/_c_src/zstd/tests/fuzz/seq_prod_fuzz_example/Makefile +16 -0
  2147. hdiffpatch/_c_src/zstd/tests/fuzz/seq_prod_fuzz_example/README.md +12 -0
  2148. hdiffpatch/_c_src/zstd/tests/fuzz/seq_prod_fuzz_example/example_seq_prod.c +52 -0
  2149. hdiffpatch/_c_src/zstd/tests/fuzz/sequence_compression_api.c +452 -0
  2150. hdiffpatch/_c_src/zstd/tests/fuzz/simple_compress.c +60 -0
  2151. hdiffpatch/_c_src/zstd/tests/fuzz/simple_decompress.c +59 -0
  2152. hdiffpatch/_c_src/zstd/tests/fuzz/simple_round_trip.c +182 -0
  2153. hdiffpatch/_c_src/zstd/tests/fuzz/stream_decompress.c +119 -0
  2154. hdiffpatch/_c_src/zstd/tests/fuzz/stream_round_trip.c +218 -0
  2155. hdiffpatch/_c_src/zstd/tests/fuzz/zstd_frame_info.c +43 -0
  2156. hdiffpatch/_c_src/zstd/tests/fuzz/zstd_helpers.c +208 -0
  2157. hdiffpatch/_c_src/zstd/tests/fuzz/zstd_helpers.h +56 -0
  2158. hdiffpatch/_c_src/zstd/tests/fuzzer.c +5147 -0
  2159. hdiffpatch/_c_src/zstd/tests/golden-compression/PR-3517-block-splitter-corruption-test +1 -0
  2160. hdiffpatch/_c_src/zstd/tests/golden-compression/http +1 -0
  2161. hdiffpatch/_c_src/zstd/tests/golden-compression/huffman-compressed-larger +0 -0
  2162. hdiffpatch/_c_src/zstd/tests/golden-compression/large-literal-and-match-lengths +0 -0
  2163. hdiffpatch/_c_src/zstd/tests/golden-decompression/block-128k.zst +0 -0
  2164. hdiffpatch/_c_src/zstd/tests/golden-decompression/empty-block.zst +0 -0
  2165. hdiffpatch/_c_src/zstd/tests/golden-decompression/rle-first-block.zst +0 -0
  2166. hdiffpatch/_c_src/zstd/tests/golden-decompression/zeroSeq_2B.zst +0 -0
  2167. hdiffpatch/_c_src/zstd/tests/golden-decompression-errors/.gitignore +1 -0
  2168. hdiffpatch/_c_src/zstd/tests/golden-decompression-errors/off0.bin.zst +0 -0
  2169. hdiffpatch/_c_src/zstd/tests/golden-decompression-errors/truncated_huff_state.zst +0 -0
  2170. hdiffpatch/_c_src/zstd/tests/golden-decompression-errors/zeroSeq_extraneous.zst +0 -0
  2171. hdiffpatch/_c_src/zstd/tests/golden-dictionaries/http-dict-missing-symbols +0 -0
  2172. hdiffpatch/_c_src/zstd/tests/gzip/Makefile +45 -0
  2173. hdiffpatch/_c_src/zstd/tests/gzip/gzip-env.sh +46 -0
  2174. hdiffpatch/_c_src/zstd/tests/gzip/helin-segv.sh +31 -0
  2175. hdiffpatch/_c_src/zstd/tests/gzip/help-version.sh +270 -0
  2176. hdiffpatch/_c_src/zstd/tests/gzip/hufts-segv.gz +0 -0
  2177. hdiffpatch/_c_src/zstd/tests/gzip/hufts.sh +34 -0
  2178. hdiffpatch/_c_src/zstd/tests/gzip/init.cfg +5 -0
  2179. hdiffpatch/_c_src/zstd/tests/gzip/init.sh +616 -0
  2180. hdiffpatch/_c_src/zstd/tests/gzip/keep.sh +51 -0
  2181. hdiffpatch/_c_src/zstd/tests/gzip/list.sh +31 -0
  2182. hdiffpatch/_c_src/zstd/tests/gzip/memcpy-abuse.sh +34 -0
  2183. hdiffpatch/_c_src/zstd/tests/gzip/mixed.sh +68 -0
  2184. hdiffpatch/_c_src/zstd/tests/gzip/null-suffix-clobber.sh +35 -0
  2185. hdiffpatch/_c_src/zstd/tests/gzip/stdin.sh +31 -0
  2186. hdiffpatch/_c_src/zstd/tests/gzip/test-driver.sh +150 -0
  2187. hdiffpatch/_c_src/zstd/tests/gzip/trailing-nul.sh +37 -0
  2188. hdiffpatch/_c_src/zstd/tests/gzip/unpack-invalid.sh +36 -0
  2189. hdiffpatch/_c_src/zstd/tests/gzip/z-suffix.sh +30 -0
  2190. hdiffpatch/_c_src/zstd/tests/gzip/zdiff.sh +48 -0
  2191. hdiffpatch/_c_src/zstd/tests/gzip/zgrep-context.sh +47 -0
  2192. hdiffpatch/_c_src/zstd/tests/gzip/zgrep-f.sh +43 -0
  2193. hdiffpatch/_c_src/zstd/tests/gzip/zgrep-signal.sh +64 -0
  2194. hdiffpatch/_c_src/zstd/tests/gzip/znew-k.sh +40 -0
  2195. hdiffpatch/_c_src/zstd/tests/invalidDictionaries.c +61 -0
  2196. hdiffpatch/_c_src/zstd/tests/largeDictionary.c +128 -0
  2197. hdiffpatch/_c_src/zstd/tests/legacy.c +260 -0
  2198. hdiffpatch/_c_src/zstd/tests/libzstd_builds.sh +104 -0
  2199. hdiffpatch/_c_src/zstd/tests/longmatch.c +102 -0
  2200. hdiffpatch/_c_src/zstd/tests/loremOut.c +50 -0
  2201. hdiffpatch/_c_src/zstd/tests/loremOut.h +15 -0
  2202. hdiffpatch/_c_src/zstd/tests/paramgrill.c +2965 -0
  2203. hdiffpatch/_c_src/zstd/tests/playTests.sh +1925 -0
  2204. hdiffpatch/_c_src/zstd/tests/poolTests.c +271 -0
  2205. hdiffpatch/_c_src/zstd/tests/rateLimiter.py +41 -0
  2206. hdiffpatch/_c_src/zstd/tests/regression/.gitignore +4 -0
  2207. hdiffpatch/_c_src/zstd/tests/regression/Makefile +60 -0
  2208. hdiffpatch/_c_src/zstd/tests/regression/README.md +28 -0
  2209. hdiffpatch/_c_src/zstd/tests/regression/config.c +404 -0
  2210. hdiffpatch/_c_src/zstd/tests/regression/config.h +91 -0
  2211. hdiffpatch/_c_src/zstd/tests/regression/data.c +631 -0
  2212. hdiffpatch/_c_src/zstd/tests/regression/data.h +121 -0
  2213. hdiffpatch/_c_src/zstd/tests/regression/levels.h +59 -0
  2214. hdiffpatch/_c_src/zstd/tests/regression/method.c +701 -0
  2215. hdiffpatch/_c_src/zstd/tests/regression/method.h +65 -0
  2216. hdiffpatch/_c_src/zstd/tests/regression/result.c +30 -0
  2217. hdiffpatch/_c_src/zstd/tests/regression/result.h +103 -0
  2218. hdiffpatch/_c_src/zstd/tests/regression/results.csv +1480 -0
  2219. hdiffpatch/_c_src/zstd/tests/regression/test.c +362 -0
  2220. hdiffpatch/_c_src/zstd/tests/roundTripCrash.c +241 -0
  2221. hdiffpatch/_c_src/zstd/tests/seqgen.c +260 -0
  2222. hdiffpatch/_c_src/zstd/tests/seqgen.h +58 -0
  2223. hdiffpatch/_c_src/zstd/tests/test-license.py +156 -0
  2224. hdiffpatch/_c_src/zstd/tests/test-variants.sh +115 -0
  2225. hdiffpatch/_c_src/zstd/tests/test-zstd-versions.py +308 -0
  2226. hdiffpatch/_c_src/zstd/tests/zstreamtest.c +3467 -0
  2227. hdiffpatch/_c_src/zstd/zlibWrapper/.gitignore +28 -0
  2228. hdiffpatch/_c_src/zstd/zlibWrapper/BUCK +22 -0
  2229. hdiffpatch/_c_src/zstd/zlibWrapper/Makefile +120 -0
  2230. hdiffpatch/_c_src/zstd/zlibWrapper/README.md +163 -0
  2231. hdiffpatch/_c_src/zstd/zlibWrapper/examples/example.c +598 -0
  2232. hdiffpatch/_c_src/zstd/zlibWrapper/examples/example_original.c +599 -0
  2233. hdiffpatch/_c_src/zstd/zlibWrapper/examples/fitblk.c +254 -0
  2234. hdiffpatch/_c_src/zstd/zlibWrapper/examples/fitblk_original.c +233 -0
  2235. hdiffpatch/_c_src/zstd/zlibWrapper/examples/minigzip.c +605 -0
  2236. hdiffpatch/_c_src/zstd/zlibWrapper/examples/zwrapbench.c +1018 -0
  2237. hdiffpatch/_c_src/zstd/zlibWrapper/gzclose.c +26 -0
  2238. hdiffpatch/_c_src/zstd/zlibWrapper/gzcompatibility.h +68 -0
  2239. hdiffpatch/_c_src/zstd/zlibWrapper/gzguts.h +229 -0
  2240. hdiffpatch/_c_src/zstd/zlibWrapper/gzlib.c +587 -0
  2241. hdiffpatch/_c_src/zstd/zlibWrapper/gzread.c +637 -0
  2242. hdiffpatch/_c_src/zstd/zlibWrapper/gzwrite.c +632 -0
  2243. hdiffpatch/_c_src/zstd/zlibWrapper/zstd_zlibwrapper.c +1200 -0
  2244. hdiffpatch/_c_src/zstd/zlibWrapper/zstd_zlibwrapper.h +91 -0
  2245. hdiffpatch/_lzma_config.py +215 -0
  2246. hdiffpatch/_tamp_config.py +85 -0
  2247. hdiffpatch/_zlib_config.py +177 -0
  2248. hdiffpatch/_zstd_config.py +113 -0
  2249. hdiffpatch/py.typed +0 -0
  2250. hdiffpatch-1.0.0.dist-info/LICENSE +201 -0
  2251. hdiffpatch-1.0.0.dist-info/METADATA +376 -0
  2252. hdiffpatch-1.0.0.dist-info/RECORD +2254 -0
  2253. hdiffpatch-1.0.0.dist-info/WHEEL +4 -0
  2254. hdiffpatch-1.0.0.dist-info/entry_points.txt +0 -0
@@ -0,0 +1,1302 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under both the BSD-style license (found in the
6
+ * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
+ * in the COPYING file in the root directory of this source tree).
8
+ * You may select, at your option, one of the above-listed licenses.
9
+ */
10
+
11
+ /* *****************************************************************************
12
+ * Constructs a dictionary using a heuristic based on the following paper:
13
+ *
14
+ * Liao, Petri, Moffat, Wirth
15
+ * Effective Construction of Relative Lempel-Ziv Dictionaries
16
+ * Published in WWW 2016.
17
+ *
18
+ * Adapted from code originally written by @ot (Giuseppe Ottaviano).
19
+ ******************************************************************************/
20
+
21
+ /*-*************************************
22
+ * Dependencies
23
+ ***************************************/
24
+ /* qsort_r is an extension. */
25
+ #if defined(__linux) || defined(__linux__) || defined(linux) || defined(__gnu_linux__) || \
26
+ defined(__CYGWIN__) || defined(__MSYS__)
27
+ #if !defined(_GNU_SOURCE) && !defined(__ANDROID__) /* NDK doesn't ship qsort_r(). */
28
+ #define _GNU_SOURCE
29
+ #endif
30
+ #endif
31
+
32
+ #include <stdio.h> /* fprintf */
33
+ #include <stdlib.h> /* malloc, free, qsort_r */
34
+
35
+ #include <string.h> /* memset */
36
+ #include <time.h> /* clock */
37
+
38
+ #ifndef ZDICT_STATIC_LINKING_ONLY
39
+ # define ZDICT_STATIC_LINKING_ONLY
40
+ #endif
41
+
42
+ #include "../common/mem.h" /* read */
43
+ #include "../common/pool.h" /* POOL_ctx */
44
+ #include "../common/threading.h" /* ZSTD_pthread_mutex_t */
45
+ #include "../common/zstd_internal.h" /* includes zstd.h */
46
+ #include "../common/bits.h" /* ZSTD_highbit32 */
47
+ #include "../zdict.h"
48
+ #include "cover.h"
49
+
50
+ /*-*************************************
51
+ * Constants
52
+ ***************************************/
53
+ /**
54
+ * There are 32bit indexes used to ref samples, so limit samples size to 4GB
55
+ * on 64bit builds.
56
+ * For 32bit builds we choose 1 GB.
57
+ * Most 32bit platforms have 2GB user-mode addressable space and we allocate a large
58
+ * contiguous buffer, so 1GB is already a high limit.
59
+ */
60
+ #define COVER_MAX_SAMPLES_SIZE (sizeof(size_t) == 8 ? ((unsigned)-1) : ((unsigned)1 GB))
61
+ #define COVER_DEFAULT_SPLITPOINT 1.0
62
+
63
+ /*-*************************************
64
+ * Console display
65
+ ***************************************/
66
+ #ifndef LOCALDISPLAYLEVEL
67
+ static int g_displayLevel = 0;
68
+ #endif
69
+ #undef DISPLAY
70
+ #define DISPLAY(...) \
71
+ { \
72
+ fprintf(stderr, __VA_ARGS__); \
73
+ fflush(stderr); \
74
+ }
75
+ #undef LOCALDISPLAYLEVEL
76
+ #define LOCALDISPLAYLEVEL(displayLevel, l, ...) \
77
+ if (displayLevel >= l) { \
78
+ DISPLAY(__VA_ARGS__); \
79
+ } /* 0 : no display; 1: errors; 2: default; 3: details; 4: debug */
80
+ #undef DISPLAYLEVEL
81
+ #define DISPLAYLEVEL(l, ...) LOCALDISPLAYLEVEL(g_displayLevel, l, __VA_ARGS__)
82
+
83
+ #ifndef LOCALDISPLAYUPDATE
84
+ static const clock_t g_refreshRate = CLOCKS_PER_SEC * 15 / 100;
85
+ static clock_t g_time = 0;
86
+ #endif
87
+ #undef LOCALDISPLAYUPDATE
88
+ #define LOCALDISPLAYUPDATE(displayLevel, l, ...) \
89
+ if (displayLevel >= l) { \
90
+ if ((clock() - g_time > g_refreshRate) || (displayLevel >= 4)) { \
91
+ g_time = clock(); \
92
+ DISPLAY(__VA_ARGS__); \
93
+ } \
94
+ }
95
+ #undef DISPLAYUPDATE
96
+ #define DISPLAYUPDATE(l, ...) LOCALDISPLAYUPDATE(g_displayLevel, l, __VA_ARGS__)
97
+
98
+ /*-*************************************
99
+ * Hash table
100
+ ***************************************
101
+ * A small specialized hash map for storing activeDmers.
102
+ * The map does not resize, so if it becomes full it will loop forever.
103
+ * Thus, the map must be large enough to store every value.
104
+ * The map implements linear probing and keeps its load less than 0.5.
105
+ */
106
+
107
+ #define MAP_EMPTY_VALUE ((U32)-1)
108
+ typedef struct COVER_map_pair_t_s {
109
+ U32 key;
110
+ U32 value;
111
+ } COVER_map_pair_t;
112
+
113
+ typedef struct COVER_map_s {
114
+ COVER_map_pair_t *data;
115
+ U32 sizeLog;
116
+ U32 size;
117
+ U32 sizeMask;
118
+ } COVER_map_t;
119
+
120
+ /**
121
+ * Clear the map.
122
+ */
123
+ static void COVER_map_clear(COVER_map_t *map) {
124
+ memset(map->data, MAP_EMPTY_VALUE, map->size * sizeof(COVER_map_pair_t));
125
+ }
126
+
127
+ /**
128
+ * Initializes a map of the given size.
129
+ * Returns 1 on success and 0 on failure.
130
+ * The map must be destroyed with COVER_map_destroy().
131
+ * The map is only guaranteed to be large enough to hold size elements.
132
+ */
133
+ static int COVER_map_init(COVER_map_t *map, U32 size) {
134
+ map->sizeLog = ZSTD_highbit32(size) + 2;
135
+ map->size = (U32)1 << map->sizeLog;
136
+ map->sizeMask = map->size - 1;
137
+ map->data = (COVER_map_pair_t *)malloc(map->size * sizeof(COVER_map_pair_t));
138
+ if (!map->data) {
139
+ map->sizeLog = 0;
140
+ map->size = 0;
141
+ return 0;
142
+ }
143
+ COVER_map_clear(map);
144
+ return 1;
145
+ }
146
+
147
+ /**
148
+ * Internal hash function
149
+ */
150
+ static const U32 COVER_prime4bytes = 2654435761U;
151
+ static U32 COVER_map_hash(COVER_map_t *map, U32 key) {
152
+ return (key * COVER_prime4bytes) >> (32 - map->sizeLog);
153
+ }
154
+
155
+ /**
156
+ * Helper function that returns the index that a key should be placed into.
157
+ */
158
+ static U32 COVER_map_index(COVER_map_t *map, U32 key) {
159
+ const U32 hash = COVER_map_hash(map, key);
160
+ U32 i;
161
+ for (i = hash;; i = (i + 1) & map->sizeMask) {
162
+ COVER_map_pair_t *pos = &map->data[i];
163
+ if (pos->value == MAP_EMPTY_VALUE) {
164
+ return i;
165
+ }
166
+ if (pos->key == key) {
167
+ return i;
168
+ }
169
+ }
170
+ }
171
+
172
+ /**
173
+ * Returns the pointer to the value for key.
174
+ * If key is not in the map, it is inserted and the value is set to 0.
175
+ * The map must not be full.
176
+ */
177
+ static U32 *COVER_map_at(COVER_map_t *map, U32 key) {
178
+ COVER_map_pair_t *pos = &map->data[COVER_map_index(map, key)];
179
+ if (pos->value == MAP_EMPTY_VALUE) {
180
+ pos->key = key;
181
+ pos->value = 0;
182
+ }
183
+ return &pos->value;
184
+ }
185
+
186
+ /**
187
+ * Deletes key from the map if present.
188
+ */
189
+ static void COVER_map_remove(COVER_map_t *map, U32 key) {
190
+ U32 i = COVER_map_index(map, key);
191
+ COVER_map_pair_t *del = &map->data[i];
192
+ U32 shift = 1;
193
+ if (del->value == MAP_EMPTY_VALUE) {
194
+ return;
195
+ }
196
+ for (i = (i + 1) & map->sizeMask;; i = (i + 1) & map->sizeMask) {
197
+ COVER_map_pair_t *const pos = &map->data[i];
198
+ /* If the position is empty we are done */
199
+ if (pos->value == MAP_EMPTY_VALUE) {
200
+ del->value = MAP_EMPTY_VALUE;
201
+ return;
202
+ }
203
+ /* If pos can be moved to del do so */
204
+ if (((i - COVER_map_hash(map, pos->key)) & map->sizeMask) >= shift) {
205
+ del->key = pos->key;
206
+ del->value = pos->value;
207
+ del = pos;
208
+ shift = 1;
209
+ } else {
210
+ ++shift;
211
+ }
212
+ }
213
+ }
214
+
215
+ /**
216
+ * Destroys a map that is inited with COVER_map_init().
217
+ */
218
+ static void COVER_map_destroy(COVER_map_t *map) {
219
+ if (map->data) {
220
+ free(map->data);
221
+ }
222
+ map->data = NULL;
223
+ map->size = 0;
224
+ }
225
+
226
+ /*-*************************************
227
+ * Context
228
+ ***************************************/
229
+
230
+ typedef struct {
231
+ const BYTE *samples;
232
+ size_t *offsets;
233
+ const size_t *samplesSizes;
234
+ size_t nbSamples;
235
+ size_t nbTrainSamples;
236
+ size_t nbTestSamples;
237
+ U32 *suffix;
238
+ size_t suffixSize;
239
+ U32 *freqs;
240
+ U32 *dmerAt;
241
+ unsigned d;
242
+ } COVER_ctx_t;
243
+
244
+ #if !defined(_GNU_SOURCE) && !defined(__APPLE__) && !defined(_MSC_VER)
245
+ /* C90 only offers qsort() that needs a global context. */
246
+ static COVER_ctx_t *g_coverCtx = NULL;
247
+ #endif
248
+
249
+ /*-*************************************
250
+ * Helper functions
251
+ ***************************************/
252
+
253
+ /**
254
+ * Returns the sum of the sample sizes.
255
+ */
256
+ size_t COVER_sum(const size_t *samplesSizes, unsigned nbSamples) {
257
+ size_t sum = 0;
258
+ unsigned i;
259
+ for (i = 0; i < nbSamples; ++i) {
260
+ sum += samplesSizes[i];
261
+ }
262
+ return sum;
263
+ }
264
+
265
+ /**
266
+ * Returns -1 if the dmer at lp is less than the dmer at rp.
267
+ * Return 0 if the dmers at lp and rp are equal.
268
+ * Returns 1 if the dmer at lp is greater than the dmer at rp.
269
+ */
270
+ static int COVER_cmp(COVER_ctx_t *ctx, const void *lp, const void *rp) {
271
+ U32 const lhs = *(U32 const *)lp;
272
+ U32 const rhs = *(U32 const *)rp;
273
+ return memcmp(ctx->samples + lhs, ctx->samples + rhs, ctx->d);
274
+ }
275
+ /**
276
+ * Faster version for d <= 8.
277
+ */
278
+ static int COVER_cmp8(COVER_ctx_t *ctx, const void *lp, const void *rp) {
279
+ U64 const mask = (ctx->d == 8) ? (U64)-1 : (((U64)1 << (8 * ctx->d)) - 1);
280
+ U64 const lhs = MEM_readLE64(ctx->samples + *(U32 const *)lp) & mask;
281
+ U64 const rhs = MEM_readLE64(ctx->samples + *(U32 const *)rp) & mask;
282
+ if (lhs < rhs) {
283
+ return -1;
284
+ }
285
+ return (lhs > rhs);
286
+ }
287
+
288
+ /**
289
+ * Same as COVER_cmp() except ties are broken by pointer value
290
+ */
291
+ #if (defined(_WIN32) && defined(_MSC_VER)) || defined(__APPLE__)
292
+ static int WIN_CDECL COVER_strict_cmp(void* g_coverCtx, const void* lp, const void* rp) {
293
+ #elif defined(_GNU_SOURCE)
294
+ static int COVER_strict_cmp(const void *lp, const void *rp, void *g_coverCtx) {
295
+ #else /* C90 fallback.*/
296
+ static int COVER_strict_cmp(const void *lp, const void *rp) {
297
+ #endif
298
+ int result = COVER_cmp((COVER_ctx_t*)g_coverCtx, lp, rp);
299
+ if (result == 0) {
300
+ result = lp < rp ? -1 : 1;
301
+ }
302
+ return result;
303
+ }
304
+ /**
305
+ * Faster version for d <= 8.
306
+ */
307
+ #if (defined(_WIN32) && defined(_MSC_VER)) || defined(__APPLE__)
308
+ static int WIN_CDECL COVER_strict_cmp8(void* g_coverCtx, const void* lp, const void* rp) {
309
+ #elif defined(_GNU_SOURCE)
310
+ static int COVER_strict_cmp8(const void *lp, const void *rp, void *g_coverCtx) {
311
+ #else /* C90 fallback.*/
312
+ static int COVER_strict_cmp8(const void *lp, const void *rp) {
313
+ #endif
314
+ int result = COVER_cmp8((COVER_ctx_t*)g_coverCtx, lp, rp);
315
+ if (result == 0) {
316
+ result = lp < rp ? -1 : 1;
317
+ }
318
+ return result;
319
+ }
320
+
321
+ /**
322
+ * Abstract away divergence of qsort_r() parameters.
323
+ * Hopefully when C11 become the norm, we will be able
324
+ * to clean it up.
325
+ */
326
+ static void stableSort(COVER_ctx_t *ctx) {
327
+ #if defined(__APPLE__)
328
+ qsort_r(ctx->suffix, ctx->suffixSize, sizeof(U32),
329
+ ctx,
330
+ (ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
331
+ #elif defined(_GNU_SOURCE)
332
+ qsort_r(ctx->suffix, ctx->suffixSize, sizeof(U32),
333
+ (ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp),
334
+ ctx);
335
+ #elif defined(_WIN32) && defined(_MSC_VER)
336
+ qsort_s(ctx->suffix, ctx->suffixSize, sizeof(U32),
337
+ (ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp),
338
+ ctx);
339
+ #elif defined(__OpenBSD__)
340
+ g_coverCtx = ctx;
341
+ mergesort(ctx->suffix, ctx->suffixSize, sizeof(U32),
342
+ (ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
343
+ #else /* C90 fallback.*/
344
+ g_coverCtx = ctx;
345
+ /* TODO(cavalcanti): implement a reentrant qsort() when is not available. */
346
+ qsort(ctx->suffix, ctx->suffixSize, sizeof(U32),
347
+ (ctx->d <= 8 ? &COVER_strict_cmp8 : &COVER_strict_cmp));
348
+ #endif
349
+ }
350
+
351
+ /**
352
+ * Returns the first pointer in [first, last) whose element does not compare
353
+ * less than value. If no such element exists it returns last.
354
+ */
355
+ static const size_t *COVER_lower_bound(const size_t* first, const size_t* last,
356
+ size_t value) {
357
+ size_t count = (size_t)(last - first);
358
+ assert(last >= first);
359
+ while (count != 0) {
360
+ size_t step = count / 2;
361
+ const size_t *ptr = first;
362
+ ptr += step;
363
+ if (*ptr < value) {
364
+ first = ++ptr;
365
+ count -= step + 1;
366
+ } else {
367
+ count = step;
368
+ }
369
+ }
370
+ return first;
371
+ }
372
+
373
+ /**
374
+ * Generic groupBy function.
375
+ * Groups an array sorted by cmp into groups with equivalent values.
376
+ * Calls grp for each group.
377
+ */
378
+ static void
379
+ COVER_groupBy(const void *data, size_t count, size_t size, COVER_ctx_t *ctx,
380
+ int (*cmp)(COVER_ctx_t *, const void *, const void *),
381
+ void (*grp)(COVER_ctx_t *, const void *, const void *)) {
382
+ const BYTE *ptr = (const BYTE *)data;
383
+ size_t num = 0;
384
+ while (num < count) {
385
+ const BYTE *grpEnd = ptr + size;
386
+ ++num;
387
+ while (num < count && cmp(ctx, ptr, grpEnd) == 0) {
388
+ grpEnd += size;
389
+ ++num;
390
+ }
391
+ grp(ctx, ptr, grpEnd);
392
+ ptr = grpEnd;
393
+ }
394
+ }
395
+
396
+ /*-*************************************
397
+ * Cover functions
398
+ ***************************************/
399
+
400
+ /**
401
+ * Called on each group of positions with the same dmer.
402
+ * Counts the frequency of each dmer and saves it in the suffix array.
403
+ * Fills `ctx->dmerAt`.
404
+ */
405
+ static void COVER_group(COVER_ctx_t *ctx, const void *group,
406
+ const void *groupEnd) {
407
+ /* The group consists of all the positions with the same first d bytes. */
408
+ const U32 *grpPtr = (const U32 *)group;
409
+ const U32 *grpEnd = (const U32 *)groupEnd;
410
+ /* The dmerId is how we will reference this dmer.
411
+ * This allows us to map the whole dmer space to a much smaller space, the
412
+ * size of the suffix array.
413
+ */
414
+ const U32 dmerId = (U32)(grpPtr - ctx->suffix);
415
+ /* Count the number of samples this dmer shows up in */
416
+ U32 freq = 0;
417
+ /* Details */
418
+ const size_t *curOffsetPtr = ctx->offsets;
419
+ const size_t *offsetsEnd = ctx->offsets + ctx->nbSamples;
420
+ /* Once *grpPtr >= curSampleEnd this occurrence of the dmer is in a
421
+ * different sample than the last.
422
+ */
423
+ size_t curSampleEnd = ctx->offsets[0];
424
+ for (; grpPtr != grpEnd; ++grpPtr) {
425
+ /* Save the dmerId for this position so we can get back to it. */
426
+ ctx->dmerAt[*grpPtr] = dmerId;
427
+ /* Dictionaries only help for the first reference to the dmer.
428
+ * After that zstd can reference the match from the previous reference.
429
+ * So only count each dmer once for each sample it is in.
430
+ */
431
+ if (*grpPtr < curSampleEnd) {
432
+ continue;
433
+ }
434
+ freq += 1;
435
+ /* Binary search to find the end of the sample *grpPtr is in.
436
+ * In the common case that grpPtr + 1 == grpEnd we can skip the binary
437
+ * search because the loop is over.
438
+ */
439
+ if (grpPtr + 1 != grpEnd) {
440
+ const size_t *sampleEndPtr =
441
+ COVER_lower_bound(curOffsetPtr, offsetsEnd, *grpPtr);
442
+ curSampleEnd = *sampleEndPtr;
443
+ curOffsetPtr = sampleEndPtr + 1;
444
+ }
445
+ }
446
+ /* At this point we are never going to look at this segment of the suffix
447
+ * array again. We take advantage of this fact to save memory.
448
+ * We store the frequency of the dmer in the first position of the group,
449
+ * which is dmerId.
450
+ */
451
+ ctx->suffix[dmerId] = freq;
452
+ }
453
+
454
+
455
+ /**
456
+ * Selects the best segment in an epoch.
457
+ * Segments of are scored according to the function:
458
+ *
459
+ * Let F(d) be the frequency of dmer d.
460
+ * Let S_i be the dmer at position i of segment S which has length k.
461
+ *
462
+ * Score(S) = F(S_1) + F(S_2) + ... + F(S_{k-d+1})
463
+ *
464
+ * Once the dmer d is in the dictionary we set F(d) = 0.
465
+ */
466
+ static COVER_segment_t COVER_selectSegment(const COVER_ctx_t *ctx, U32 *freqs,
467
+ COVER_map_t *activeDmers, U32 begin,
468
+ U32 end,
469
+ ZDICT_cover_params_t parameters) {
470
+ /* Constants */
471
+ const U32 k = parameters.k;
472
+ const U32 d = parameters.d;
473
+ const U32 dmersInK = k - d + 1;
474
+ /* Try each segment (activeSegment) and save the best (bestSegment) */
475
+ COVER_segment_t bestSegment = {0, 0, 0};
476
+ COVER_segment_t activeSegment;
477
+ /* Reset the activeDmers in the segment */
478
+ COVER_map_clear(activeDmers);
479
+ /* The activeSegment starts at the beginning of the epoch. */
480
+ activeSegment.begin = begin;
481
+ activeSegment.end = begin;
482
+ activeSegment.score = 0;
483
+ /* Slide the activeSegment through the whole epoch.
484
+ * Save the best segment in bestSegment.
485
+ */
486
+ while (activeSegment.end < end) {
487
+ /* The dmerId for the dmer at the next position */
488
+ U32 newDmer = ctx->dmerAt[activeSegment.end];
489
+ /* The entry in activeDmers for this dmerId */
490
+ U32 *newDmerOcc = COVER_map_at(activeDmers, newDmer);
491
+ /* If the dmer isn't already present in the segment add its score. */
492
+ if (*newDmerOcc == 0) {
493
+ /* The paper suggest using the L-0.5 norm, but experiments show that it
494
+ * doesn't help.
495
+ */
496
+ activeSegment.score += freqs[newDmer];
497
+ }
498
+ /* Add the dmer to the segment */
499
+ activeSegment.end += 1;
500
+ *newDmerOcc += 1;
501
+
502
+ /* If the window is now too large, drop the first position */
503
+ if (activeSegment.end - activeSegment.begin == dmersInK + 1) {
504
+ U32 delDmer = ctx->dmerAt[activeSegment.begin];
505
+ U32 *delDmerOcc = COVER_map_at(activeDmers, delDmer);
506
+ activeSegment.begin += 1;
507
+ *delDmerOcc -= 1;
508
+ /* If this is the last occurrence of the dmer, subtract its score */
509
+ if (*delDmerOcc == 0) {
510
+ COVER_map_remove(activeDmers, delDmer);
511
+ activeSegment.score -= freqs[delDmer];
512
+ }
513
+ }
514
+
515
+ /* If this segment is the best so far save it */
516
+ if (activeSegment.score > bestSegment.score) {
517
+ bestSegment = activeSegment;
518
+ }
519
+ }
520
+ {
521
+ /* Trim off the zero frequency head and tail from the segment. */
522
+ U32 newBegin = bestSegment.end;
523
+ U32 newEnd = bestSegment.begin;
524
+ U32 pos;
525
+ for (pos = bestSegment.begin; pos != bestSegment.end; ++pos) {
526
+ U32 freq = freqs[ctx->dmerAt[pos]];
527
+ if (freq != 0) {
528
+ newBegin = MIN(newBegin, pos);
529
+ newEnd = pos + 1;
530
+ }
531
+ }
532
+ bestSegment.begin = newBegin;
533
+ bestSegment.end = newEnd;
534
+ }
535
+ {
536
+ /* Zero out the frequency of each dmer covered by the chosen segment. */
537
+ U32 pos;
538
+ for (pos = bestSegment.begin; pos != bestSegment.end; ++pos) {
539
+ freqs[ctx->dmerAt[pos]] = 0;
540
+ }
541
+ }
542
+ return bestSegment;
543
+ }
544
+
545
+ /**
546
+ * Check the validity of the parameters.
547
+ * Returns non-zero if the parameters are valid and 0 otherwise.
548
+ */
549
+ static int COVER_checkParameters(ZDICT_cover_params_t parameters,
550
+ size_t maxDictSize) {
551
+ /* k and d are required parameters */
552
+ if (parameters.d == 0 || parameters.k == 0) {
553
+ return 0;
554
+ }
555
+ /* k <= maxDictSize */
556
+ if (parameters.k > maxDictSize) {
557
+ return 0;
558
+ }
559
+ /* d <= k */
560
+ if (parameters.d > parameters.k) {
561
+ return 0;
562
+ }
563
+ /* 0 < splitPoint <= 1 */
564
+ if (parameters.splitPoint <= 0 || parameters.splitPoint > 1){
565
+ return 0;
566
+ }
567
+ return 1;
568
+ }
569
+
570
+ /**
571
+ * Clean up a context initialized with `COVER_ctx_init()`.
572
+ */
573
+ static void COVER_ctx_destroy(COVER_ctx_t *ctx) {
574
+ if (!ctx) {
575
+ return;
576
+ }
577
+ if (ctx->suffix) {
578
+ free(ctx->suffix);
579
+ ctx->suffix = NULL;
580
+ }
581
+ if (ctx->freqs) {
582
+ free(ctx->freqs);
583
+ ctx->freqs = NULL;
584
+ }
585
+ if (ctx->dmerAt) {
586
+ free(ctx->dmerAt);
587
+ ctx->dmerAt = NULL;
588
+ }
589
+ if (ctx->offsets) {
590
+ free(ctx->offsets);
591
+ ctx->offsets = NULL;
592
+ }
593
+ }
594
+
595
+ /**
596
+ * Prepare a context for dictionary building.
597
+ * The context is only dependent on the parameter `d` and can be used multiple
598
+ * times.
599
+ * Returns 0 on success or error code on error.
600
+ * The context must be destroyed with `COVER_ctx_destroy()`.
601
+ */
602
+ static size_t COVER_ctx_init(COVER_ctx_t *ctx, const void *samplesBuffer,
603
+ const size_t *samplesSizes, unsigned nbSamples,
604
+ unsigned d, double splitPoint)
605
+ {
606
+ const BYTE *const samples = (const BYTE *)samplesBuffer;
607
+ const size_t totalSamplesSize = COVER_sum(samplesSizes, nbSamples);
608
+ /* Split samples into testing and training sets */
609
+ const unsigned nbTrainSamples = splitPoint < 1.0 ? (unsigned)((double)nbSamples * splitPoint) : nbSamples;
610
+ const unsigned nbTestSamples = splitPoint < 1.0 ? nbSamples - nbTrainSamples : nbSamples;
611
+ const size_t trainingSamplesSize = splitPoint < 1.0 ? COVER_sum(samplesSizes, nbTrainSamples) : totalSamplesSize;
612
+ const size_t testSamplesSize = splitPoint < 1.0 ? COVER_sum(samplesSizes + nbTrainSamples, nbTestSamples) : totalSamplesSize;
613
+ /* Checks */
614
+ if (totalSamplesSize < MAX(d, sizeof(U64)) ||
615
+ totalSamplesSize >= (size_t)COVER_MAX_SAMPLES_SIZE) {
616
+ DISPLAYLEVEL(1, "Total samples size is too large (%u MB), maximum size is %u MB\n",
617
+ (unsigned)(totalSamplesSize>>20), (COVER_MAX_SAMPLES_SIZE >> 20));
618
+ return ERROR(srcSize_wrong);
619
+ }
620
+ /* Check if there are at least 5 training samples */
621
+ if (nbTrainSamples < 5) {
622
+ DISPLAYLEVEL(1, "Total number of training samples is %u and is invalid.", nbTrainSamples);
623
+ return ERROR(srcSize_wrong);
624
+ }
625
+ /* Check if there's testing sample */
626
+ if (nbTestSamples < 1) {
627
+ DISPLAYLEVEL(1, "Total number of testing samples is %u and is invalid.", nbTestSamples);
628
+ return ERROR(srcSize_wrong);
629
+ }
630
+ /* Zero the context */
631
+ memset(ctx, 0, sizeof(*ctx));
632
+ DISPLAYLEVEL(2, "Training on %u samples of total size %u\n", nbTrainSamples,
633
+ (unsigned)trainingSamplesSize);
634
+ DISPLAYLEVEL(2, "Testing on %u samples of total size %u\n", nbTestSamples,
635
+ (unsigned)testSamplesSize);
636
+ ctx->samples = samples;
637
+ ctx->samplesSizes = samplesSizes;
638
+ ctx->nbSamples = nbSamples;
639
+ ctx->nbTrainSamples = nbTrainSamples;
640
+ ctx->nbTestSamples = nbTestSamples;
641
+ /* Partial suffix array */
642
+ ctx->suffixSize = trainingSamplesSize - MAX(d, sizeof(U64)) + 1;
643
+ ctx->suffix = (U32 *)malloc(ctx->suffixSize * sizeof(U32));
644
+ /* Maps index to the dmerID */
645
+ ctx->dmerAt = (U32 *)malloc(ctx->suffixSize * sizeof(U32));
646
+ /* The offsets of each file */
647
+ ctx->offsets = (size_t *)malloc((nbSamples + 1) * sizeof(size_t));
648
+ if (!ctx->suffix || !ctx->dmerAt || !ctx->offsets) {
649
+ DISPLAYLEVEL(1, "Failed to allocate scratch buffers\n");
650
+ COVER_ctx_destroy(ctx);
651
+ return ERROR(memory_allocation);
652
+ }
653
+ ctx->freqs = NULL;
654
+ ctx->d = d;
655
+
656
+ /* Fill offsets from the samplesSizes */
657
+ {
658
+ U32 i;
659
+ ctx->offsets[0] = 0;
660
+ for (i = 1; i <= nbSamples; ++i) {
661
+ ctx->offsets[i] = ctx->offsets[i - 1] + samplesSizes[i - 1];
662
+ }
663
+ }
664
+ DISPLAYLEVEL(2, "Constructing partial suffix array\n");
665
+ {
666
+ /* suffix is a partial suffix array.
667
+ * It only sorts suffixes by their first parameters.d bytes.
668
+ * The sort is stable, so each dmer group is sorted by position in input.
669
+ */
670
+ U32 i;
671
+ for (i = 0; i < ctx->suffixSize; ++i) {
672
+ ctx->suffix[i] = i;
673
+ }
674
+ stableSort(ctx);
675
+ }
676
+ DISPLAYLEVEL(2, "Computing frequencies\n");
677
+ /* For each dmer group (group of positions with the same first d bytes):
678
+ * 1. For each position we set dmerAt[position] = dmerID. The dmerID is
679
+ * (groupBeginPtr - suffix). This allows us to go from position to
680
+ * dmerID so we can look up values in freq.
681
+ * 2. We calculate how many samples the dmer occurs in and save it in
682
+ * freqs[dmerId].
683
+ */
684
+ COVER_groupBy(ctx->suffix, ctx->suffixSize, sizeof(U32), ctx,
685
+ (ctx->d <= 8 ? &COVER_cmp8 : &COVER_cmp), &COVER_group);
686
+ ctx->freqs = ctx->suffix;
687
+ ctx->suffix = NULL;
688
+ return 0;
689
+ }
690
+
691
+ void COVER_warnOnSmallCorpus(size_t maxDictSize, size_t nbDmers, int displayLevel)
692
+ {
693
+ const double ratio = (double)nbDmers / (double)maxDictSize;
694
+ if (ratio >= 10) {
695
+ return;
696
+ }
697
+ LOCALDISPLAYLEVEL(displayLevel, 1,
698
+ "WARNING: The maximum dictionary size %u is too large "
699
+ "compared to the source size %u! "
700
+ "size(source)/size(dictionary) = %f, but it should be >= "
701
+ "10! This may lead to a subpar dictionary! We recommend "
702
+ "training on sources at least 10x, and preferably 100x "
703
+ "the size of the dictionary! \n", (U32)maxDictSize,
704
+ (U32)nbDmers, ratio);
705
+ }
706
+
707
+ COVER_epoch_info_t COVER_computeEpochs(U32 maxDictSize,
708
+ U32 nbDmers, U32 k, U32 passes)
709
+ {
710
+ const U32 minEpochSize = k * 10;
711
+ COVER_epoch_info_t epochs;
712
+ epochs.num = MAX(1, maxDictSize / k / passes);
713
+ epochs.size = nbDmers / epochs.num;
714
+ if (epochs.size >= minEpochSize) {
715
+ assert(epochs.size * epochs.num <= nbDmers);
716
+ return epochs;
717
+ }
718
+ epochs.size = MIN(minEpochSize, nbDmers);
719
+ epochs.num = nbDmers / epochs.size;
720
+ assert(epochs.size * epochs.num <= nbDmers);
721
+ return epochs;
722
+ }
723
+
724
+ /**
725
+ * Given the prepared context build the dictionary.
726
+ */
727
+ static size_t COVER_buildDictionary(const COVER_ctx_t *ctx, U32 *freqs,
728
+ COVER_map_t *activeDmers, void *dictBuffer,
729
+ size_t dictBufferCapacity,
730
+ ZDICT_cover_params_t parameters) {
731
+ BYTE *const dict = (BYTE *)dictBuffer;
732
+ size_t tail = dictBufferCapacity;
733
+ /* Divide the data into epochs. We will select one segment from each epoch. */
734
+ const COVER_epoch_info_t epochs = COVER_computeEpochs(
735
+ (U32)dictBufferCapacity, (U32)ctx->suffixSize, parameters.k, 4);
736
+ const size_t maxZeroScoreRun = MAX(10, MIN(100, epochs.num >> 3));
737
+ size_t zeroScoreRun = 0;
738
+ size_t epoch;
739
+ DISPLAYLEVEL(2, "Breaking content into %u epochs of size %u\n",
740
+ (U32)epochs.num, (U32)epochs.size);
741
+ /* Loop through the epochs until there are no more segments or the dictionary
742
+ * is full.
743
+ */
744
+ for (epoch = 0; tail > 0; epoch = (epoch + 1) % epochs.num) {
745
+ const U32 epochBegin = (U32)(epoch * epochs.size);
746
+ const U32 epochEnd = epochBegin + epochs.size;
747
+ size_t segmentSize;
748
+ /* Select a segment */
749
+ COVER_segment_t segment = COVER_selectSegment(
750
+ ctx, freqs, activeDmers, epochBegin, epochEnd, parameters);
751
+ /* If the segment covers no dmers, then we are out of content.
752
+ * There may be new content in other epochs, for continue for some time.
753
+ */
754
+ if (segment.score == 0) {
755
+ if (++zeroScoreRun >= maxZeroScoreRun) {
756
+ break;
757
+ }
758
+ continue;
759
+ }
760
+ zeroScoreRun = 0;
761
+ /* Trim the segment if necessary and if it is too small then we are done */
762
+ segmentSize = MIN(segment.end - segment.begin + parameters.d - 1, tail);
763
+ if (segmentSize < parameters.d) {
764
+ break;
765
+ }
766
+ /* We fill the dictionary from the back to allow the best segments to be
767
+ * referenced with the smallest offsets.
768
+ */
769
+ tail -= segmentSize;
770
+ memcpy(dict + tail, ctx->samples + segment.begin, segmentSize);
771
+ DISPLAYUPDATE(
772
+ 2, "\r%u%% ",
773
+ (unsigned)(((dictBufferCapacity - tail) * 100) / dictBufferCapacity));
774
+ }
775
+ DISPLAYLEVEL(2, "\r%79s\r", "");
776
+ return tail;
777
+ }
778
+
779
+ ZDICTLIB_STATIC_API size_t ZDICT_trainFromBuffer_cover(
780
+ void *dictBuffer, size_t dictBufferCapacity,
781
+ const void *samplesBuffer, const size_t *samplesSizes, unsigned nbSamples,
782
+ ZDICT_cover_params_t parameters)
783
+ {
784
+ BYTE* const dict = (BYTE*)dictBuffer;
785
+ COVER_ctx_t ctx;
786
+ COVER_map_t activeDmers;
787
+ parameters.splitPoint = 1.0;
788
+ /* Initialize global data */
789
+ g_displayLevel = (int)parameters.zParams.notificationLevel;
790
+ /* Checks */
791
+ if (!COVER_checkParameters(parameters, dictBufferCapacity)) {
792
+ DISPLAYLEVEL(1, "Cover parameters incorrect\n");
793
+ return ERROR(parameter_outOfBound);
794
+ }
795
+ if (nbSamples == 0) {
796
+ DISPLAYLEVEL(1, "Cover must have at least one input file\n");
797
+ return ERROR(srcSize_wrong);
798
+ }
799
+ if (dictBufferCapacity < ZDICT_DICTSIZE_MIN) {
800
+ DISPLAYLEVEL(1, "dictBufferCapacity must be at least %u\n",
801
+ ZDICT_DICTSIZE_MIN);
802
+ return ERROR(dstSize_tooSmall);
803
+ }
804
+ /* Initialize context and activeDmers */
805
+ {
806
+ size_t const initVal = COVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples,
807
+ parameters.d, parameters.splitPoint);
808
+ if (ZSTD_isError(initVal)) {
809
+ return initVal;
810
+ }
811
+ }
812
+ COVER_warnOnSmallCorpus(dictBufferCapacity, ctx.suffixSize, g_displayLevel);
813
+ if (!COVER_map_init(&activeDmers, parameters.k - parameters.d + 1)) {
814
+ DISPLAYLEVEL(1, "Failed to allocate dmer map: out of memory\n");
815
+ COVER_ctx_destroy(&ctx);
816
+ return ERROR(memory_allocation);
817
+ }
818
+
819
+ DISPLAYLEVEL(2, "Building dictionary\n");
820
+ {
821
+ const size_t tail =
822
+ COVER_buildDictionary(&ctx, ctx.freqs, &activeDmers, dictBuffer,
823
+ dictBufferCapacity, parameters);
824
+ const size_t dictionarySize = ZDICT_finalizeDictionary(
825
+ dict, dictBufferCapacity, dict + tail, dictBufferCapacity - tail,
826
+ samplesBuffer, samplesSizes, nbSamples, parameters.zParams);
827
+ if (!ZSTD_isError(dictionarySize)) {
828
+ DISPLAYLEVEL(2, "Constructed dictionary of size %u\n",
829
+ (unsigned)dictionarySize);
830
+ }
831
+ COVER_ctx_destroy(&ctx);
832
+ COVER_map_destroy(&activeDmers);
833
+ return dictionarySize;
834
+ }
835
+ }
836
+
837
+
838
+
839
+ size_t COVER_checkTotalCompressedSize(const ZDICT_cover_params_t parameters,
840
+ const size_t *samplesSizes, const BYTE *samples,
841
+ size_t *offsets,
842
+ size_t nbTrainSamples, size_t nbSamples,
843
+ BYTE *const dict, size_t dictBufferCapacity) {
844
+ size_t totalCompressedSize = ERROR(GENERIC);
845
+ /* Pointers */
846
+ ZSTD_CCtx *cctx;
847
+ ZSTD_CDict *cdict;
848
+ void *dst;
849
+ /* Local variables */
850
+ size_t dstCapacity;
851
+ size_t i;
852
+ /* Allocate dst with enough space to compress the maximum sized sample */
853
+ {
854
+ size_t maxSampleSize = 0;
855
+ i = parameters.splitPoint < 1.0 ? nbTrainSamples : 0;
856
+ for (; i < nbSamples; ++i) {
857
+ maxSampleSize = MAX(samplesSizes[i], maxSampleSize);
858
+ }
859
+ dstCapacity = ZSTD_compressBound(maxSampleSize);
860
+ dst = malloc(dstCapacity);
861
+ }
862
+ /* Create the cctx and cdict */
863
+ cctx = ZSTD_createCCtx();
864
+ cdict = ZSTD_createCDict(dict, dictBufferCapacity,
865
+ parameters.zParams.compressionLevel);
866
+ if (!dst || !cctx || !cdict) {
867
+ goto _compressCleanup;
868
+ }
869
+ /* Compress each sample and sum their sizes (or error) */
870
+ totalCompressedSize = dictBufferCapacity;
871
+ i = parameters.splitPoint < 1.0 ? nbTrainSamples : 0;
872
+ for (; i < nbSamples; ++i) {
873
+ const size_t size = ZSTD_compress_usingCDict(
874
+ cctx, dst, dstCapacity, samples + offsets[i],
875
+ samplesSizes[i], cdict);
876
+ if (ZSTD_isError(size)) {
877
+ totalCompressedSize = size;
878
+ goto _compressCleanup;
879
+ }
880
+ totalCompressedSize += size;
881
+ }
882
+ _compressCleanup:
883
+ ZSTD_freeCCtx(cctx);
884
+ ZSTD_freeCDict(cdict);
885
+ if (dst) {
886
+ free(dst);
887
+ }
888
+ return totalCompressedSize;
889
+ }
890
+
891
+
892
+ /**
893
+ * Initialize the `COVER_best_t`.
894
+ */
895
+ void COVER_best_init(COVER_best_t *best) {
896
+ if (best==NULL) return; /* compatible with init on NULL */
897
+ (void)ZSTD_pthread_mutex_init(&best->mutex, NULL);
898
+ (void)ZSTD_pthread_cond_init(&best->cond, NULL);
899
+ best->liveJobs = 0;
900
+ best->dict = NULL;
901
+ best->dictSize = 0;
902
+ best->compressedSize = (size_t)-1;
903
+ memset(&best->parameters, 0, sizeof(best->parameters));
904
+ }
905
+
906
+ /**
907
+ * Wait until liveJobs == 0.
908
+ */
909
+ void COVER_best_wait(COVER_best_t *best) {
910
+ if (!best) {
911
+ return;
912
+ }
913
+ ZSTD_pthread_mutex_lock(&best->mutex);
914
+ while (best->liveJobs != 0) {
915
+ ZSTD_pthread_cond_wait(&best->cond, &best->mutex);
916
+ }
917
+ ZSTD_pthread_mutex_unlock(&best->mutex);
918
+ }
919
+
920
+ /**
921
+ * Call COVER_best_wait() and then destroy the COVER_best_t.
922
+ */
923
+ void COVER_best_destroy(COVER_best_t *best) {
924
+ if (!best) {
925
+ return;
926
+ }
927
+ COVER_best_wait(best);
928
+ if (best->dict) {
929
+ free(best->dict);
930
+ }
931
+ ZSTD_pthread_mutex_destroy(&best->mutex);
932
+ ZSTD_pthread_cond_destroy(&best->cond);
933
+ }
934
+
935
+ /**
936
+ * Called when a thread is about to be launched.
937
+ * Increments liveJobs.
938
+ */
939
+ void COVER_best_start(COVER_best_t *best) {
940
+ if (!best) {
941
+ return;
942
+ }
943
+ ZSTD_pthread_mutex_lock(&best->mutex);
944
+ ++best->liveJobs;
945
+ ZSTD_pthread_mutex_unlock(&best->mutex);
946
+ }
947
+
948
+ /**
949
+ * Called when a thread finishes executing, both on error or success.
950
+ * Decrements liveJobs and signals any waiting threads if liveJobs == 0.
951
+ * If this dictionary is the best so far save it and its parameters.
952
+ */
953
+ void COVER_best_finish(COVER_best_t* best,
954
+ ZDICT_cover_params_t parameters,
955
+ COVER_dictSelection_t selection)
956
+ {
957
+ void* dict = selection.dictContent;
958
+ size_t compressedSize = selection.totalCompressedSize;
959
+ size_t dictSize = selection.dictSize;
960
+ if (!best) {
961
+ return;
962
+ }
963
+ {
964
+ size_t liveJobs;
965
+ ZSTD_pthread_mutex_lock(&best->mutex);
966
+ --best->liveJobs;
967
+ liveJobs = best->liveJobs;
968
+ /* If the new dictionary is better */
969
+ if (compressedSize < best->compressedSize) {
970
+ /* Allocate space if necessary */
971
+ if (!best->dict || best->dictSize < dictSize) {
972
+ if (best->dict) {
973
+ free(best->dict);
974
+ }
975
+ best->dict = malloc(dictSize);
976
+ if (!best->dict) {
977
+ best->compressedSize = ERROR(GENERIC);
978
+ best->dictSize = 0;
979
+ ZSTD_pthread_cond_signal(&best->cond);
980
+ ZSTD_pthread_mutex_unlock(&best->mutex);
981
+ return;
982
+ }
983
+ }
984
+ /* Save the dictionary, parameters, and size */
985
+ if (dict) {
986
+ memcpy(best->dict, dict, dictSize);
987
+ best->dictSize = dictSize;
988
+ best->parameters = parameters;
989
+ best->compressedSize = compressedSize;
990
+ }
991
+ }
992
+ if (liveJobs == 0) {
993
+ ZSTD_pthread_cond_broadcast(&best->cond);
994
+ }
995
+ ZSTD_pthread_mutex_unlock(&best->mutex);
996
+ }
997
+ }
998
+
999
+ static COVER_dictSelection_t setDictSelection(BYTE* buf, size_t s, size_t csz)
1000
+ {
1001
+ COVER_dictSelection_t ds;
1002
+ ds.dictContent = buf;
1003
+ ds.dictSize = s;
1004
+ ds.totalCompressedSize = csz;
1005
+ return ds;
1006
+ }
1007
+
1008
+ COVER_dictSelection_t COVER_dictSelectionError(size_t error) {
1009
+ return setDictSelection(NULL, 0, error);
1010
+ }
1011
+
1012
+ unsigned COVER_dictSelectionIsError(COVER_dictSelection_t selection) {
1013
+ return (ZSTD_isError(selection.totalCompressedSize) || !selection.dictContent);
1014
+ }
1015
+
1016
+ void COVER_dictSelectionFree(COVER_dictSelection_t selection){
1017
+ free(selection.dictContent);
1018
+ }
1019
+
1020
+ COVER_dictSelection_t COVER_selectDict(BYTE* customDictContent, size_t dictBufferCapacity,
1021
+ size_t dictContentSize, const BYTE* samplesBuffer, const size_t* samplesSizes, unsigned nbFinalizeSamples,
1022
+ size_t nbCheckSamples, size_t nbSamples, ZDICT_cover_params_t params, size_t* offsets, size_t totalCompressedSize) {
1023
+
1024
+ size_t largestDict = 0;
1025
+ size_t largestCompressed = 0;
1026
+ BYTE* customDictContentEnd = customDictContent + dictContentSize;
1027
+
1028
+ BYTE* largestDictbuffer = (BYTE*)malloc(dictBufferCapacity);
1029
+ BYTE* candidateDictBuffer = (BYTE*)malloc(dictBufferCapacity);
1030
+ double regressionTolerance = ((double)params.shrinkDictMaxRegression / 100.0) + 1.00;
1031
+
1032
+ if (!largestDictbuffer || !candidateDictBuffer) {
1033
+ free(largestDictbuffer);
1034
+ free(candidateDictBuffer);
1035
+ return COVER_dictSelectionError(dictContentSize);
1036
+ }
1037
+
1038
+ /* Initial dictionary size and compressed size */
1039
+ memcpy(largestDictbuffer, customDictContent, dictContentSize);
1040
+ dictContentSize = ZDICT_finalizeDictionary(
1041
+ largestDictbuffer, dictBufferCapacity, customDictContent, dictContentSize,
1042
+ samplesBuffer, samplesSizes, nbFinalizeSamples, params.zParams);
1043
+
1044
+ if (ZDICT_isError(dictContentSize)) {
1045
+ free(largestDictbuffer);
1046
+ free(candidateDictBuffer);
1047
+ return COVER_dictSelectionError(dictContentSize);
1048
+ }
1049
+
1050
+ totalCompressedSize = COVER_checkTotalCompressedSize(params, samplesSizes,
1051
+ samplesBuffer, offsets,
1052
+ nbCheckSamples, nbSamples,
1053
+ largestDictbuffer, dictContentSize);
1054
+
1055
+ if (ZSTD_isError(totalCompressedSize)) {
1056
+ free(largestDictbuffer);
1057
+ free(candidateDictBuffer);
1058
+ return COVER_dictSelectionError(totalCompressedSize);
1059
+ }
1060
+
1061
+ if (params.shrinkDict == 0) {
1062
+ free(candidateDictBuffer);
1063
+ return setDictSelection(largestDictbuffer, dictContentSize, totalCompressedSize);
1064
+ }
1065
+
1066
+ largestDict = dictContentSize;
1067
+ largestCompressed = totalCompressedSize;
1068
+ dictContentSize = ZDICT_DICTSIZE_MIN;
1069
+
1070
+ /* Largest dict is initially at least ZDICT_DICTSIZE_MIN */
1071
+ while (dictContentSize < largestDict) {
1072
+ memcpy(candidateDictBuffer, largestDictbuffer, largestDict);
1073
+ dictContentSize = ZDICT_finalizeDictionary(
1074
+ candidateDictBuffer, dictBufferCapacity, customDictContentEnd - dictContentSize, dictContentSize,
1075
+ samplesBuffer, samplesSizes, nbFinalizeSamples, params.zParams);
1076
+
1077
+ if (ZDICT_isError(dictContentSize)) {
1078
+ free(largestDictbuffer);
1079
+ free(candidateDictBuffer);
1080
+ return COVER_dictSelectionError(dictContentSize);
1081
+
1082
+ }
1083
+
1084
+ totalCompressedSize = COVER_checkTotalCompressedSize(params, samplesSizes,
1085
+ samplesBuffer, offsets,
1086
+ nbCheckSamples, nbSamples,
1087
+ candidateDictBuffer, dictContentSize);
1088
+
1089
+ if (ZSTD_isError(totalCompressedSize)) {
1090
+ free(largestDictbuffer);
1091
+ free(candidateDictBuffer);
1092
+ return COVER_dictSelectionError(totalCompressedSize);
1093
+ }
1094
+
1095
+ if ((double)totalCompressedSize <= (double)largestCompressed * regressionTolerance) {
1096
+ free(largestDictbuffer);
1097
+ return setDictSelection( candidateDictBuffer, dictContentSize, totalCompressedSize );
1098
+ }
1099
+ dictContentSize *= 2;
1100
+ }
1101
+ dictContentSize = largestDict;
1102
+ totalCompressedSize = largestCompressed;
1103
+ free(candidateDictBuffer);
1104
+ return setDictSelection( largestDictbuffer, dictContentSize, totalCompressedSize );
1105
+ }
1106
+
1107
+ /**
1108
+ * Parameters for COVER_tryParameters().
1109
+ */
1110
+ typedef struct COVER_tryParameters_data_s {
1111
+ const COVER_ctx_t *ctx;
1112
+ COVER_best_t *best;
1113
+ size_t dictBufferCapacity;
1114
+ ZDICT_cover_params_t parameters;
1115
+ } COVER_tryParameters_data_t;
1116
+
1117
+ /**
1118
+ * Tries a set of parameters and updates the COVER_best_t with the results.
1119
+ * This function is thread safe if zstd is compiled with multithreaded support.
1120
+ * It takes its parameters as an *OWNING* opaque pointer to support threading.
1121
+ */
1122
+ static void COVER_tryParameters(void *opaque)
1123
+ {
1124
+ /* Save parameters as local variables */
1125
+ COVER_tryParameters_data_t *const data = (COVER_tryParameters_data_t*)opaque;
1126
+ const COVER_ctx_t *const ctx = data->ctx;
1127
+ const ZDICT_cover_params_t parameters = data->parameters;
1128
+ size_t dictBufferCapacity = data->dictBufferCapacity;
1129
+ size_t totalCompressedSize = ERROR(GENERIC);
1130
+ /* Allocate space for hash table, dict, and freqs */
1131
+ COVER_map_t activeDmers;
1132
+ BYTE* const dict = (BYTE*)malloc(dictBufferCapacity);
1133
+ COVER_dictSelection_t selection = COVER_dictSelectionError(ERROR(GENERIC));
1134
+ U32* const freqs = (U32*)malloc(ctx->suffixSize * sizeof(U32));
1135
+ if (!COVER_map_init(&activeDmers, parameters.k - parameters.d + 1)) {
1136
+ DISPLAYLEVEL(1, "Failed to allocate dmer map: out of memory\n");
1137
+ goto _cleanup;
1138
+ }
1139
+ if (!dict || !freqs) {
1140
+ DISPLAYLEVEL(1, "Failed to allocate buffers: out of memory\n");
1141
+ goto _cleanup;
1142
+ }
1143
+ /* Copy the frequencies because we need to modify them */
1144
+ memcpy(freqs, ctx->freqs, ctx->suffixSize * sizeof(U32));
1145
+ /* Build the dictionary */
1146
+ {
1147
+ const size_t tail = COVER_buildDictionary(ctx, freqs, &activeDmers, dict,
1148
+ dictBufferCapacity, parameters);
1149
+ selection = COVER_selectDict(dict + tail, dictBufferCapacity, dictBufferCapacity - tail,
1150
+ ctx->samples, ctx->samplesSizes, (unsigned)ctx->nbTrainSamples, ctx->nbTrainSamples, ctx->nbSamples, parameters, ctx->offsets,
1151
+ totalCompressedSize);
1152
+
1153
+ if (COVER_dictSelectionIsError(selection)) {
1154
+ DISPLAYLEVEL(1, "Failed to select dictionary\n");
1155
+ goto _cleanup;
1156
+ }
1157
+ }
1158
+ _cleanup:
1159
+ free(dict);
1160
+ COVER_best_finish(data->best, parameters, selection);
1161
+ free(data);
1162
+ COVER_map_destroy(&activeDmers);
1163
+ COVER_dictSelectionFree(selection);
1164
+ free(freqs);
1165
+ }
1166
+
1167
+ ZDICTLIB_STATIC_API size_t ZDICT_optimizeTrainFromBuffer_cover(
1168
+ void* dictBuffer, size_t dictBufferCapacity, const void* samplesBuffer,
1169
+ const size_t* samplesSizes, unsigned nbSamples,
1170
+ ZDICT_cover_params_t* parameters)
1171
+ {
1172
+ /* constants */
1173
+ const unsigned nbThreads = parameters->nbThreads;
1174
+ const double splitPoint =
1175
+ parameters->splitPoint <= 0.0 ? COVER_DEFAULT_SPLITPOINT : parameters->splitPoint;
1176
+ const unsigned kMinD = parameters->d == 0 ? 6 : parameters->d;
1177
+ const unsigned kMaxD = parameters->d == 0 ? 8 : parameters->d;
1178
+ const unsigned kMinK = parameters->k == 0 ? 50 : parameters->k;
1179
+ const unsigned kMaxK = parameters->k == 0 ? 2000 : parameters->k;
1180
+ const unsigned kSteps = parameters->steps == 0 ? 40 : parameters->steps;
1181
+ const unsigned kStepSize = MAX((kMaxK - kMinK) / kSteps, 1);
1182
+ const unsigned kIterations =
1183
+ (1 + (kMaxD - kMinD) / 2) * (1 + (kMaxK - kMinK) / kStepSize);
1184
+ const unsigned shrinkDict = 0;
1185
+ /* Local variables */
1186
+ const int displayLevel = parameters->zParams.notificationLevel;
1187
+ unsigned iteration = 1;
1188
+ unsigned d;
1189
+ unsigned k;
1190
+ COVER_best_t best;
1191
+ POOL_ctx *pool = NULL;
1192
+ int warned = 0;
1193
+
1194
+ /* Checks */
1195
+ if (splitPoint <= 0 || splitPoint > 1) {
1196
+ LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect parameters\n");
1197
+ return ERROR(parameter_outOfBound);
1198
+ }
1199
+ if (kMinK < kMaxD || kMaxK < kMinK) {
1200
+ LOCALDISPLAYLEVEL(displayLevel, 1, "Incorrect parameters\n");
1201
+ return ERROR(parameter_outOfBound);
1202
+ }
1203
+ if (nbSamples == 0) {
1204
+ DISPLAYLEVEL(1, "Cover must have at least one input file\n");
1205
+ return ERROR(srcSize_wrong);
1206
+ }
1207
+ if (dictBufferCapacity < ZDICT_DICTSIZE_MIN) {
1208
+ DISPLAYLEVEL(1, "dictBufferCapacity must be at least %u\n",
1209
+ ZDICT_DICTSIZE_MIN);
1210
+ return ERROR(dstSize_tooSmall);
1211
+ }
1212
+ if (nbThreads > 1) {
1213
+ pool = POOL_create(nbThreads, 1);
1214
+ if (!pool) {
1215
+ return ERROR(memory_allocation);
1216
+ }
1217
+ }
1218
+ /* Initialization */
1219
+ COVER_best_init(&best);
1220
+ /* Turn down global display level to clean up display at level 2 and below */
1221
+ g_displayLevel = displayLevel == 0 ? 0 : displayLevel - 1;
1222
+ /* Loop through d first because each new value needs a new context */
1223
+ LOCALDISPLAYLEVEL(displayLevel, 2, "Trying %u different sets of parameters\n",
1224
+ kIterations);
1225
+ for (d = kMinD; d <= kMaxD; d += 2) {
1226
+ /* Initialize the context for this value of d */
1227
+ COVER_ctx_t ctx;
1228
+ LOCALDISPLAYLEVEL(displayLevel, 3, "d=%u\n", d);
1229
+ {
1230
+ const size_t initVal = COVER_ctx_init(&ctx, samplesBuffer, samplesSizes, nbSamples, d, splitPoint);
1231
+ if (ZSTD_isError(initVal)) {
1232
+ LOCALDISPLAYLEVEL(displayLevel, 1, "Failed to initialize context\n");
1233
+ COVER_best_destroy(&best);
1234
+ POOL_free(pool);
1235
+ return initVal;
1236
+ }
1237
+ }
1238
+ if (!warned) {
1239
+ COVER_warnOnSmallCorpus(dictBufferCapacity, ctx.suffixSize, displayLevel);
1240
+ warned = 1;
1241
+ }
1242
+ /* Loop through k reusing the same context */
1243
+ for (k = kMinK; k <= kMaxK; k += kStepSize) {
1244
+ /* Prepare the arguments */
1245
+ COVER_tryParameters_data_t *data = (COVER_tryParameters_data_t *)malloc(
1246
+ sizeof(COVER_tryParameters_data_t));
1247
+ LOCALDISPLAYLEVEL(displayLevel, 3, "k=%u\n", k);
1248
+ if (!data) {
1249
+ LOCALDISPLAYLEVEL(displayLevel, 1, "Failed to allocate parameters\n");
1250
+ COVER_best_destroy(&best);
1251
+ COVER_ctx_destroy(&ctx);
1252
+ POOL_free(pool);
1253
+ return ERROR(memory_allocation);
1254
+ }
1255
+ data->ctx = &ctx;
1256
+ data->best = &best;
1257
+ data->dictBufferCapacity = dictBufferCapacity;
1258
+ data->parameters = *parameters;
1259
+ data->parameters.k = k;
1260
+ data->parameters.d = d;
1261
+ data->parameters.splitPoint = splitPoint;
1262
+ data->parameters.steps = kSteps;
1263
+ data->parameters.shrinkDict = shrinkDict;
1264
+ data->parameters.zParams.notificationLevel = g_displayLevel;
1265
+ /* Check the parameters */
1266
+ if (!COVER_checkParameters(data->parameters, dictBufferCapacity)) {
1267
+ DISPLAYLEVEL(1, "Cover parameters incorrect\n");
1268
+ free(data);
1269
+ continue;
1270
+ }
1271
+ /* Call the function and pass ownership of data to it */
1272
+ COVER_best_start(&best);
1273
+ if (pool) {
1274
+ POOL_add(pool, &COVER_tryParameters, data);
1275
+ } else {
1276
+ COVER_tryParameters(data);
1277
+ }
1278
+ /* Print status */
1279
+ LOCALDISPLAYUPDATE(displayLevel, 2, "\r%u%% ",
1280
+ (unsigned)((iteration * 100) / kIterations));
1281
+ ++iteration;
1282
+ }
1283
+ COVER_best_wait(&best);
1284
+ COVER_ctx_destroy(&ctx);
1285
+ }
1286
+ LOCALDISPLAYLEVEL(displayLevel, 2, "\r%79s\r", "");
1287
+ /* Fill the output buffer and parameters with output of the best parameters */
1288
+ {
1289
+ const size_t dictSize = best.dictSize;
1290
+ if (ZSTD_isError(best.compressedSize)) {
1291
+ const size_t compressedSize = best.compressedSize;
1292
+ COVER_best_destroy(&best);
1293
+ POOL_free(pool);
1294
+ return compressedSize;
1295
+ }
1296
+ *parameters = best.parameters;
1297
+ memcpy(dictBuffer, best.dict, dictSize);
1298
+ COVER_best_destroy(&best);
1299
+ POOL_free(pool);
1300
+ return dictSize;
1301
+ }
1302
+ }