node-liblzma 1.0.4 → 1.1.4

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 (880) hide show
  1. package/History.md +5 -0
  2. package/README.md +65 -37
  3. package/binding.gyp +671 -43
  4. package/package.json +39 -24
  5. package/prebuilds/linux-x64/node_lzma.node +0 -0
  6. package/prebuilds/mac-x64/node_lzma.node +0 -0
  7. package/prebuilds/win-x64/node_lzma.node +0 -0
  8. package/scripts/download_extract_deps.py +29 -0
  9. package/scripts/prebuildify.py +13 -0
  10. package/scripts/walk_sources.py +7 -0
  11. package/src/bindings/module.cpp +86 -86
  12. package/src/bindings/node-liblzma.cpp +292 -273
  13. package/src/bindings/node-liblzma.hpp +62 -90
  14. package/src/lzma.coffee +25 -18
  15. package/.npmignore +0 -1
  16. package/.travis.yml +0 -35
  17. package/build/Makefile +0 -329
  18. package/build/Release/.deps/Release/node-liblzma.node.d +0 -1
  19. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +0 -1
  20. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/module.o.d +0 -89
  21. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o.d +0 -89
  22. package/build/Release/.deps/Release/obj.target/node-liblzma.node.d +0 -1
  23. package/build/Release/.deps/home/o2/dev/node-liblzma/build/node-liblzma.node.d +0 -1
  24. package/build/Release/node-liblzma.node +0 -0
  25. package/build/Release/obj.target/action_after_build.stamp +0 -0
  26. package/build/Release/obj.target/node-liblzma/src/bindings/module.o +0 -0
  27. package/build/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o +0 -0
  28. package/build/Release/obj.target/node-liblzma.node +0 -0
  29. package/build/action_after_build.target.mk +0 -32
  30. package/build/binding.Makefile +0 -6
  31. package/build/config.gypi +0 -143
  32. package/build/node-liblzma.node +0 -0
  33. package/build/node-liblzma.target.mk +0 -144
  34. package/build.yml +0 -65
  35. package/deps/xz/ABOUT-NLS +0 -1327
  36. package/deps/xz/AUTHORS +0 -27
  37. package/deps/xz/COPYING +0 -65
  38. package/deps/xz/COPYING.GPLv2 +0 -339
  39. package/deps/xz/COPYING.GPLv3 +0 -674
  40. package/deps/xz/COPYING.LGPLv2.1 +0 -502
  41. package/deps/xz/ChangeLog +0 -14953
  42. package/deps/xz/Doxyfile +0 -1234
  43. package/deps/xz/Doxyfile.in +0 -1234
  44. package/deps/xz/INSTALL +0 -554
  45. package/deps/xz/INSTALL.generic +0 -365
  46. package/deps/xz/Makefile +0 -1067
  47. package/deps/xz/Makefile.am +0 -109
  48. package/deps/xz/Makefile.in +0 -1067
  49. package/deps/xz/NEWS +0 -505
  50. package/deps/xz/PACKAGERS +0 -231
  51. package/deps/xz/README +0 -308
  52. package/deps/xz/THANKS +0 -116
  53. package/deps/xz/TODO +0 -111
  54. package/deps/xz/aclocal.m4 +0 -1225
  55. package/deps/xz/autogen.sh +0 -22
  56. package/deps/xz/autom4te.cache/output.0 +0 -21751
  57. package/deps/xz/autom4te.cache/output.1 +0 -21751
  58. package/deps/xz/autom4te.cache/requests +0 -415
  59. package/deps/xz/autom4te.cache/traces.0 +0 -6996
  60. package/deps/xz/autom4te.cache/traces.1 +0 -1783
  61. package/deps/xz/build-aux/compile +0 -347
  62. package/deps/xz/build-aux/config.guess +0 -1558
  63. package/deps/xz/build-aux/config.rpath +0 -672
  64. package/deps/xz/build-aux/config.sub +0 -1791
  65. package/deps/xz/build-aux/depcomp +0 -791
  66. package/deps/xz/build-aux/install-sh +0 -527
  67. package/deps/xz/build-aux/ltmain.sh +0 -9661
  68. package/deps/xz/build-aux/manconv.sh +0 -58
  69. package/deps/xz/build-aux/missing +0 -215
  70. package/deps/xz/build-aux/version.sh +0 -24
  71. package/deps/xz/config.h +0 -487
  72. package/deps/xz/config.h.in +0 -486
  73. package/deps/xz/config.h.in~ +0 -485
  74. package/deps/xz/config.log +0 -5446
  75. package/deps/xz/config.status +0 -2587
  76. package/deps/xz/configure +0 -21751
  77. package/deps/xz/configure.ac +0 -842
  78. package/deps/xz/debug/.deps/crc32.Po +0 -1
  79. package/deps/xz/debug/.deps/full_flush.Po +0 -1
  80. package/deps/xz/debug/.deps/hex2bin.Po +0 -1
  81. package/deps/xz/debug/.deps/known_sizes.Po +0 -1
  82. package/deps/xz/debug/.deps/memusage.Po +0 -1
  83. package/deps/xz/debug/.deps/repeat.Po +0 -1
  84. package/deps/xz/debug/.deps/sync_flush.Po +0 -1
  85. package/deps/xz/debug/Makefile +0 -691
  86. package/deps/xz/debug/Makefile.am +0 -30
  87. package/deps/xz/debug/Makefile.in +0 -691
  88. package/deps/xz/debug/README +0 -17
  89. package/deps/xz/debug/crc32.c +0 -39
  90. package/deps/xz/debug/full_flush.c +0 -103
  91. package/deps/xz/debug/hex2bin.c +0 -53
  92. package/deps/xz/debug/known_sizes.c +0 -129
  93. package/deps/xz/debug/memusage.c +0 -51
  94. package/deps/xz/debug/repeat.c +0 -36
  95. package/deps/xz/debug/sync_flush.c +0 -125
  96. package/deps/xz/debug/translation.bash +0 -100
  97. package/deps/xz/doc/examples/00_README.txt +0 -31
  98. package/deps/xz/doc/examples/01_compress_easy.c +0 -297
  99. package/deps/xz/doc/examples/02_decompress.c +0 -287
  100. package/deps/xz/doc/examples/03_compress_custom.c +0 -193
  101. package/deps/xz/doc/examples/04_compress_easy_mt.c +0 -206
  102. package/deps/xz/doc/examples/Makefile +0 -24
  103. package/deps/xz/doc/examples_old/xz_pipe_comp.c +0 -127
  104. package/deps/xz/doc/examples_old/xz_pipe_decomp.c +0 -123
  105. package/deps/xz/doc/faq.txt +0 -224
  106. package/deps/xz/doc/history.txt +0 -150
  107. package/deps/xz/doc/lzma-file-format.txt +0 -166
  108. package/deps/xz/doc/man/pdf-a4/lzmainfo-a4.pdf +0 -0
  109. package/deps/xz/doc/man/pdf-a4/xz-a4.pdf +0 -0
  110. package/deps/xz/doc/man/pdf-a4/xzdec-a4.pdf +0 -0
  111. package/deps/xz/doc/man/pdf-a4/xzdiff-a4.pdf +0 -0
  112. package/deps/xz/doc/man/pdf-a4/xzgrep-a4.pdf +0 -0
  113. package/deps/xz/doc/man/pdf-a4/xzless-a4.pdf +0 -0
  114. package/deps/xz/doc/man/pdf-a4/xzmore-a4.pdf +0 -0
  115. package/deps/xz/doc/man/pdf-letter/lzmainfo-letter.pdf +0 -0
  116. package/deps/xz/doc/man/pdf-letter/xz-letter.pdf +0 -0
  117. package/deps/xz/doc/man/pdf-letter/xzdec-letter.pdf +0 -0
  118. package/deps/xz/doc/man/pdf-letter/xzdiff-letter.pdf +0 -0
  119. package/deps/xz/doc/man/pdf-letter/xzgrep-letter.pdf +0 -0
  120. package/deps/xz/doc/man/pdf-letter/xzless-letter.pdf +0 -0
  121. package/deps/xz/doc/man/pdf-letter/xzmore-letter.pdf +0 -0
  122. package/deps/xz/doc/man/txt/lzmainfo.txt +0 -40
  123. package/deps/xz/doc/man/txt/xz.txt +0 -1483
  124. package/deps/xz/doc/man/txt/xzdec.txt +0 -80
  125. package/deps/xz/doc/man/txt/xzdiff.txt +0 -36
  126. package/deps/xz/doc/man/txt/xzgrep.txt +0 -39
  127. package/deps/xz/doc/man/txt/xzless.txt +0 -39
  128. package/deps/xz/doc/man/txt/xzmore.txt +0 -34
  129. package/deps/xz/doc/xz-file-format.txt +0 -1150
  130. package/deps/xz/dos/INSTALL.txt +0 -79
  131. package/deps/xz/dos/Makefile +0 -147
  132. package/deps/xz/dos/README.txt +0 -123
  133. package/deps/xz/dos/config.h +0 -130
  134. package/deps/xz/extra/7z2lzma/7z2lzma.bash +0 -115
  135. package/deps/xz/extra/scanlzma/scanlzma.c +0 -84
  136. package/deps/xz/include/lzma/base.h +0 -654
  137. package/deps/xz/include/lzma/bcj.h +0 -90
  138. package/deps/xz/include/lzma/block.h +0 -581
  139. package/deps/xz/include/lzma/check.h +0 -150
  140. package/deps/xz/include/lzma/container.h +0 -619
  141. package/deps/xz/include/lzma/delta.h +0 -77
  142. package/deps/xz/include/lzma/filter.h +0 -425
  143. package/deps/xz/include/lzma/hardware.h +0 -64
  144. package/deps/xz/include/lzma/index.h +0 -682
  145. package/deps/xz/include/lzma/index_hash.h +0 -107
  146. package/deps/xz/include/lzma/lzma12.h +0 -420
  147. package/deps/xz/include/lzma/stream_flags.h +0 -223
  148. package/deps/xz/include/lzma/version.h +0 -121
  149. package/deps/xz/include/lzma/vli.h +0 -166
  150. package/deps/xz/include/lzma.h +0 -321
  151. package/deps/xz/lib/.deps/getopt.Po +0 -1
  152. package/deps/xz/lib/.deps/getopt1.Po +0 -1
  153. package/deps/xz/lib/Makefile +0 -566
  154. package/deps/xz/lib/Makefile.am +0 -32
  155. package/deps/xz/lib/Makefile.in +0 -566
  156. package/deps/xz/lib/getopt.c +0 -1197
  157. package/deps/xz/lib/getopt.in.h +0 -226
  158. package/deps/xz/lib/getopt1.c +0 -171
  159. package/deps/xz/lib/getopt_int.h +0 -131
  160. package/deps/xz/lib/liblzma.a +0 -0
  161. package/deps/xz/lib/liblzma.la +0 -41
  162. package/deps/xz/lib/pkgconfig/liblzma.pc +0 -19
  163. package/deps/xz/libtool +0 -10221
  164. package/deps/xz/m4/ax_pthread.m4 +0 -332
  165. package/deps/xz/m4/codeset.m4 +0 -21
  166. package/deps/xz/m4/fcntl-o.m4 +0 -81
  167. package/deps/xz/m4/getopt.m4 +0 -71
  168. package/deps/xz/m4/gettext.m4 +0 -383
  169. package/deps/xz/m4/glibc2.m4 +0 -30
  170. package/deps/xz/m4/glibc21.m4 +0 -30
  171. package/deps/xz/m4/iconv.m4 +0 -199
  172. package/deps/xz/m4/intdiv0.m4 +0 -84
  173. package/deps/xz/m4/intl.m4 +0 -294
  174. package/deps/xz/m4/intldir.m4 +0 -19
  175. package/deps/xz/m4/intlmacosx.m4 +0 -51
  176. package/deps/xz/m4/intmax.m4 +0 -33
  177. package/deps/xz/m4/inttypes-pri.m4 +0 -36
  178. package/deps/xz/m4/inttypes_h.m4 +0 -26
  179. package/deps/xz/m4/lcmessage.m4 +0 -31
  180. package/deps/xz/m4/lib-ld.m4 +0 -110
  181. package/deps/xz/m4/lib-link.m4 +0 -774
  182. package/deps/xz/m4/lib-prefix.m4 +0 -224
  183. package/deps/xz/m4/libtool.m4 +0 -7997
  184. package/deps/xz/m4/lock.m4 +0 -37
  185. package/deps/xz/m4/longlong.m4 +0 -106
  186. package/deps/xz/m4/ltoptions.m4 +0 -384
  187. package/deps/xz/m4/ltsugar.m4 +0 -123
  188. package/deps/xz/m4/ltversion.m4 +0 -23
  189. package/deps/xz/m4/lt~obsolete.m4 +0 -98
  190. package/deps/xz/m4/nls.m4 +0 -32
  191. package/deps/xz/m4/po.m4 +0 -449
  192. package/deps/xz/m4/posix-shell.m4 +0 -63
  193. package/deps/xz/m4/printf-posix.m4 +0 -45
  194. package/deps/xz/m4/progtest.m4 +0 -92
  195. package/deps/xz/m4/size_max.m4 +0 -75
  196. package/deps/xz/m4/stdint_h.m4 +0 -26
  197. package/deps/xz/m4/threadlib.m4 +0 -347
  198. package/deps/xz/m4/tuklib_common.m4 +0 -22
  199. package/deps/xz/m4/tuklib_cpucores.m4 +0 -148
  200. package/deps/xz/m4/tuklib_integer.m4 +0 -74
  201. package/deps/xz/m4/tuklib_mbstr.m4 +0 -30
  202. package/deps/xz/m4/tuklib_physmem.m4 +0 -212
  203. package/deps/xz/m4/tuklib_progname.m4 +0 -25
  204. package/deps/xz/m4/uintmax_t.m4 +0 -30
  205. package/deps/xz/m4/visibility.m4 +0 -74
  206. package/deps/xz/m4/wchar_t.m4 +0 -20
  207. package/deps/xz/m4/wint_t.m4 +0 -28
  208. package/deps/xz/m4/xsize.m4 +0 -13
  209. package/deps/xz/macosx/build.sh +0 -113
  210. package/deps/xz/po/LINGUAS +0 -6
  211. package/deps/xz/po/Makefile +0 -549
  212. package/deps/xz/po/Makefile.in +0 -444
  213. package/deps/xz/po/Makefile.in.in +0 -444
  214. package/deps/xz/po/Makevars +0 -46
  215. package/deps/xz/po/Makevars.template +0 -41
  216. package/deps/xz/po/POTFILES +0 -12
  217. package/deps/xz/po/POTFILES.in +0 -13
  218. package/deps/xz/po/Rules-quot +0 -47
  219. package/deps/xz/po/boldquot.sed +0 -10
  220. package/deps/xz/po/cs.gmo +0 -0
  221. package/deps/xz/po/cs.po +0 -989
  222. package/deps/xz/po/de.gmo +0 -0
  223. package/deps/xz/po/de.po +0 -990
  224. package/deps/xz/po/en@boldquot.header +0 -25
  225. package/deps/xz/po/en@quot.header +0 -22
  226. package/deps/xz/po/fr.gmo +0 -0
  227. package/deps/xz/po/fr.po +0 -974
  228. package/deps/xz/po/insert-header.sin +0 -23
  229. package/deps/xz/po/it.gmo +0 -0
  230. package/deps/xz/po/it.po +0 -975
  231. package/deps/xz/po/pl.gmo +0 -0
  232. package/deps/xz/po/pl.po +0 -964
  233. package/deps/xz/po/quot.sed +0 -6
  234. package/deps/xz/po/remove-potcdate.sin +0 -19
  235. package/deps/xz/po/stamp-po +0 -1
  236. package/deps/xz/po/vi.gmo +0 -0
  237. package/deps/xz/po/vi.po +0 -970
  238. package/deps/xz/po/xz.pot +0 -854
  239. package/deps/xz/share/doc/xz/AUTHORS +0 -27
  240. package/deps/xz/share/doc/xz/COPYING +0 -65
  241. package/deps/xz/share/doc/xz/COPYING.GPLv2 +0 -339
  242. package/deps/xz/share/doc/xz/NEWS +0 -505
  243. package/deps/xz/share/doc/xz/README +0 -308
  244. package/deps/xz/share/doc/xz/THANKS +0 -116
  245. package/deps/xz/share/doc/xz/TODO +0 -111
  246. package/deps/xz/share/doc/xz/examples/00_README.txt +0 -31
  247. package/deps/xz/share/doc/xz/examples/01_compress_easy.c +0 -297
  248. package/deps/xz/share/doc/xz/examples/02_decompress.c +0 -287
  249. package/deps/xz/share/doc/xz/examples/03_compress_custom.c +0 -193
  250. package/deps/xz/share/doc/xz/examples/04_compress_easy_mt.c +0 -206
  251. package/deps/xz/share/doc/xz/examples/Makefile +0 -24
  252. package/deps/xz/share/doc/xz/examples_old/xz_pipe_comp.c +0 -127
  253. package/deps/xz/share/doc/xz/examples_old/xz_pipe_decomp.c +0 -123
  254. package/deps/xz/share/doc/xz/faq.txt +0 -224
  255. package/deps/xz/share/doc/xz/history.txt +0 -150
  256. package/deps/xz/share/doc/xz/lzma-file-format.txt +0 -166
  257. package/deps/xz/share/doc/xz/xz-file-format.txt +0 -1150
  258. package/deps/xz/share/locale/cs/LC_MESSAGES/xz.mo +0 -0
  259. package/deps/xz/share/locale/de/LC_MESSAGES/xz.mo +0 -0
  260. package/deps/xz/share/locale/fr/LC_MESSAGES/xz.mo +0 -0
  261. package/deps/xz/share/locale/it/LC_MESSAGES/xz.mo +0 -0
  262. package/deps/xz/share/locale/pl/LC_MESSAGES/xz.mo +0 -0
  263. package/deps/xz/share/locale/vi/LC_MESSAGES/xz.mo +0 -0
  264. package/deps/xz/src/Makefile +0 -674
  265. package/deps/xz/src/Makefile.am +0 -42
  266. package/deps/xz/src/Makefile.in +0 -674
  267. package/deps/xz/src/common/common_w32res.rc +0 -50
  268. package/deps/xz/src/common/mythread.h +0 -521
  269. package/deps/xz/src/common/sysdefs.h +0 -202
  270. package/deps/xz/src/common/tuklib_common.h +0 -71
  271. package/deps/xz/src/common/tuklib_config.h +0 -7
  272. package/deps/xz/src/common/tuklib_cpucores.c +0 -91
  273. package/deps/xz/src/common/tuklib_cpucores.h +0 -23
  274. package/deps/xz/src/common/tuklib_exit.c +0 -57
  275. package/deps/xz/src/common/tuklib_exit.h +0 -25
  276. package/deps/xz/src/common/tuklib_gettext.h +0 -44
  277. package/deps/xz/src/common/tuklib_integer.h +0 -523
  278. package/deps/xz/src/common/tuklib_mbstr.h +0 -66
  279. package/deps/xz/src/common/tuklib_mbstr_fw.c +0 -31
  280. package/deps/xz/src/common/tuklib_mbstr_width.c +0 -64
  281. package/deps/xz/src/common/tuklib_open_stdxxx.c +0 -57
  282. package/deps/xz/src/common/tuklib_open_stdxxx.h +0 -23
  283. package/deps/xz/src/common/tuklib_physmem.c +0 -215
  284. package/deps/xz/src/common/tuklib_physmem.h +0 -28
  285. package/deps/xz/src/common/tuklib_progname.c +0 -50
  286. package/deps/xz/src/common/tuklib_progname.h +0 -32
  287. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_decoder.Plo +0 -269
  288. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_encoder.Plo +0 -263
  289. package/deps/xz/src/liblzma/.deps/liblzma_la-arm.Plo +0 -263
  290. package/deps/xz/src/liblzma/.deps/liblzma_la-armthumb.Plo +0 -263
  291. package/deps/xz/src/liblzma/.deps/liblzma_la-auto_decoder.Plo +0 -263
  292. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_decoder.Plo +0 -261
  293. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_encoder.Plo +0 -273
  294. package/deps/xz/src/liblzma/.deps/liblzma_la-block_decoder.Plo +0 -268
  295. package/deps/xz/src/liblzma/.deps/liblzma_la-block_encoder.Plo +0 -268
  296. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_decoder.Plo +0 -263
  297. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_encoder.Plo +0 -263
  298. package/deps/xz/src/liblzma/.deps/liblzma_la-block_util.Plo +0 -260
  299. package/deps/xz/src/liblzma/.deps/liblzma_la-check.Plo +0 -261
  300. package/deps/xz/src/liblzma/.deps/liblzma_la-common.Plo +0 -258
  301. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_fast.Plo +0 -263
  302. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_small.Plo +0 -1
  303. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_table.Plo +0 -260
  304. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_x86.Plo +0 -1
  305. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_fast.Plo +0 -263
  306. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_small.Plo +0 -1
  307. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_table.Plo +0 -260
  308. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_x86.Plo +0 -1
  309. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_common.Plo +0 -263
  310. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_decoder.Plo +0 -265
  311. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_encoder.Plo +0 -265
  312. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_buffer_encoder.Plo +0 -261
  313. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_decoder_memusage.Plo +0 -261
  314. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder.Plo +0 -261
  315. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder_memusage.Plo +0 -261
  316. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_preset.Plo +0 -261
  317. package/deps/xz/src/liblzma/.deps/liblzma_la-fastpos_table.Plo +0 -261
  318. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_decoder.Plo +0 -261
  319. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_encoder.Plo +0 -261
  320. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_common.Plo +0 -261
  321. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_decoder.Plo +0 -283
  322. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_encoder.Plo +0 -283
  323. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_decoder.Plo +0 -261
  324. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_encoder.Plo +0 -261
  325. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_cputhreads.Plo +0 -260
  326. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_physmem.Plo +0 -260
  327. package/deps/xz/src/liblzma/.deps/liblzma_la-ia64.Plo +0 -263
  328. package/deps/xz/src/liblzma/.deps/liblzma_la-index.Plo +0 -262
  329. package/deps/xz/src/liblzma/.deps/liblzma_la-index_decoder.Plo +0 -266
  330. package/deps/xz/src/liblzma/.deps/liblzma_la-index_encoder.Plo +0 -268
  331. package/deps/xz/src/liblzma/.deps/liblzma_la-index_hash.Plo +0 -265
  332. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_decoder.Plo +0 -261
  333. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder.Plo +0 -286
  334. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder_mf.Plo +0 -286
  335. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_decoder.Plo +0 -266
  336. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_encoder.Plo +0 -268
  337. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_decoder.Plo +0 -274
  338. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder.Plo +0 -285
  339. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_fast.Plo +0 -300
  340. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_normal.Plo +0 -303
  341. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_presets.Plo +0 -259
  342. package/deps/xz/src/liblzma/.deps/liblzma_la-outqueue.Plo +0 -260
  343. package/deps/xz/src/liblzma/.deps/liblzma_la-powerpc.Plo +0 -263
  344. package/deps/xz/src/liblzma/.deps/liblzma_la-price_table.Plo +0 -266
  345. package/deps/xz/src/liblzma/.deps/liblzma_la-sha256.Plo +0 -261
  346. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_coder.Plo +0 -263
  347. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_decoder.Plo +0 -263
  348. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_encoder.Plo +0 -263
  349. package/deps/xz/src/liblzma/.deps/liblzma_la-sparc.Plo +0 -263
  350. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_decoder.Plo +0 -261
  351. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_encoder.Plo +0 -261
  352. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_decoder.Plo +0 -263
  353. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder.Plo +0 -263
  354. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder_mt.Plo +0 -273
  355. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_common.Plo +0 -261
  356. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_decoder.Plo +0 -261
  357. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_encoder.Plo +0 -261
  358. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_cpucores.Plo +0 -170
  359. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_physmem.Plo +0 -170
  360. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_decoder.Plo +0 -258
  361. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_encoder.Plo +0 -258
  362. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_size.Plo +0 -258
  363. package/deps/xz/src/liblzma/.deps/liblzma_la-x86.Plo +0 -263
  364. package/deps/xz/src/liblzma/.libs/liblzma.a +0 -0
  365. package/deps/xz/src/liblzma/.libs/liblzma.lai +0 -41
  366. package/deps/xz/src/liblzma/Makefile +0 -1858
  367. package/deps/xz/src/liblzma/Makefile.am +0 -122
  368. package/deps/xz/src/liblzma/Makefile.in +0 -1858
  369. package/deps/xz/src/liblzma/api/Makefile +0 -608
  370. package/deps/xz/src/liblzma/api/Makefile.am +0 -23
  371. package/deps/xz/src/liblzma/api/Makefile.in +0 -608
  372. package/deps/xz/src/liblzma/api/lzma/base.h +0 -654
  373. package/deps/xz/src/liblzma/api/lzma/bcj.h +0 -90
  374. package/deps/xz/src/liblzma/api/lzma/block.h +0 -581
  375. package/deps/xz/src/liblzma/api/lzma/check.h +0 -150
  376. package/deps/xz/src/liblzma/api/lzma/container.h +0 -619
  377. package/deps/xz/src/liblzma/api/lzma/delta.h +0 -77
  378. package/deps/xz/src/liblzma/api/lzma/filter.h +0 -425
  379. package/deps/xz/src/liblzma/api/lzma/hardware.h +0 -64
  380. package/deps/xz/src/liblzma/api/lzma/index.h +0 -682
  381. package/deps/xz/src/liblzma/api/lzma/index_hash.h +0 -107
  382. package/deps/xz/src/liblzma/api/lzma/lzma12.h +0 -420
  383. package/deps/xz/src/liblzma/api/lzma/stream_flags.h +0 -223
  384. package/deps/xz/src/liblzma/api/lzma/version.h +0 -121
  385. package/deps/xz/src/liblzma/api/lzma/vli.h +0 -166
  386. package/deps/xz/src/liblzma/api/lzma.h +0 -321
  387. package/deps/xz/src/liblzma/check/Makefile.inc +0 -53
  388. package/deps/xz/src/liblzma/check/check.c +0 -174
  389. package/deps/xz/src/liblzma/check/check.h +0 -162
  390. package/deps/xz/src/liblzma/check/crc32_fast.c +0 -82
  391. package/deps/xz/src/liblzma/check/crc32_small.c +0 -61
  392. package/deps/xz/src/liblzma/check/crc32_table.c +0 -19
  393. package/deps/xz/src/liblzma/check/crc32_table_be.h +0 -525
  394. package/deps/xz/src/liblzma/check/crc32_table_le.h +0 -525
  395. package/deps/xz/src/liblzma/check/crc32_tablegen.c +0 -117
  396. package/deps/xz/src/liblzma/check/crc32_x86.S +0 -304
  397. package/deps/xz/src/liblzma/check/crc64_fast.c +0 -72
  398. package/deps/xz/src/liblzma/check/crc64_small.c +0 -53
  399. package/deps/xz/src/liblzma/check/crc64_table.c +0 -19
  400. package/deps/xz/src/liblzma/check/crc64_table_be.h +0 -521
  401. package/deps/xz/src/liblzma/check/crc64_table_le.h +0 -521
  402. package/deps/xz/src/liblzma/check/crc64_tablegen.c +0 -88
  403. package/deps/xz/src/liblzma/check/crc64_x86.S +0 -287
  404. package/deps/xz/src/liblzma/check/crc_macros.h +0 -30
  405. package/deps/xz/src/liblzma/check/sha256.c +0 -196
  406. package/deps/xz/src/liblzma/common/Makefile.inc +0 -76
  407. package/deps/xz/src/liblzma/common/alone_decoder.c +0 -238
  408. package/deps/xz/src/liblzma/common/alone_decoder.h +0 -23
  409. package/deps/xz/src/liblzma/common/alone_encoder.c +0 -157
  410. package/deps/xz/src/liblzma/common/auto_decoder.c +0 -186
  411. package/deps/xz/src/liblzma/common/block_buffer_decoder.c +0 -80
  412. package/deps/xz/src/liblzma/common/block_buffer_encoder.c +0 -337
  413. package/deps/xz/src/liblzma/common/block_buffer_encoder.h +0 -24
  414. package/deps/xz/src/liblzma/common/block_decoder.c +0 -252
  415. package/deps/xz/src/liblzma/common/block_decoder.h +0 -22
  416. package/deps/xz/src/liblzma/common/block_encoder.c +0 -217
  417. package/deps/xz/src/liblzma/common/block_encoder.h +0 -47
  418. package/deps/xz/src/liblzma/common/block_header_decoder.c +0 -124
  419. package/deps/xz/src/liblzma/common/block_header_encoder.c +0 -132
  420. package/deps/xz/src/liblzma/common/block_util.c +0 -90
  421. package/deps/xz/src/liblzma/common/common.c +0 -443
  422. package/deps/xz/src/liblzma/common/common.h +0 -318
  423. package/deps/xz/src/liblzma/common/easy_buffer_encoder.c +0 -27
  424. package/deps/xz/src/liblzma/common/easy_decoder_memusage.c +0 -24
  425. package/deps/xz/src/liblzma/common/easy_encoder.c +0 -24
  426. package/deps/xz/src/liblzma/common/easy_encoder_memusage.c +0 -24
  427. package/deps/xz/src/liblzma/common/easy_preset.c +0 -27
  428. package/deps/xz/src/liblzma/common/easy_preset.h +0 -32
  429. package/deps/xz/src/liblzma/common/filter_buffer_decoder.c +0 -88
  430. package/deps/xz/src/liblzma/common/filter_buffer_encoder.c +0 -55
  431. package/deps/xz/src/liblzma/common/filter_common.c +0 -337
  432. package/deps/xz/src/liblzma/common/filter_common.h +0 -48
  433. package/deps/xz/src/liblzma/common/filter_decoder.c +0 -184
  434. package/deps/xz/src/liblzma/common/filter_decoder.h +0 -23
  435. package/deps/xz/src/liblzma/common/filter_encoder.c +0 -286
  436. package/deps/xz/src/liblzma/common/filter_encoder.h +0 -27
  437. package/deps/xz/src/liblzma/common/filter_flags_decoder.c +0 -46
  438. package/deps/xz/src/liblzma/common/filter_flags_encoder.c +0 -56
  439. package/deps/xz/src/liblzma/common/hardware_cputhreads.c +0 -22
  440. package/deps/xz/src/liblzma/common/hardware_physmem.c +0 -25
  441. package/deps/xz/src/liblzma/common/index.c +0 -1246
  442. package/deps/xz/src/liblzma/common/index.h +0 -73
  443. package/deps/xz/src/liblzma/common/index_decoder.c +0 -345
  444. package/deps/xz/src/liblzma/common/index_encoder.c +0 -254
  445. package/deps/xz/src/liblzma/common/index_encoder.h +0 -23
  446. package/deps/xz/src/liblzma/common/index_hash.c +0 -334
  447. package/deps/xz/src/liblzma/common/memcmplen.h +0 -175
  448. package/deps/xz/src/liblzma/common/outqueue.c +0 -184
  449. package/deps/xz/src/liblzma/common/outqueue.h +0 -156
  450. package/deps/xz/src/liblzma/common/stream_buffer_decoder.c +0 -91
  451. package/deps/xz/src/liblzma/common/stream_buffer_encoder.c +0 -141
  452. package/deps/xz/src/liblzma/common/stream_decoder.c +0 -462
  453. package/deps/xz/src/liblzma/common/stream_decoder.h +0 -22
  454. package/deps/xz/src/liblzma/common/stream_encoder.c +0 -332
  455. package/deps/xz/src/liblzma/common/stream_encoder_mt.c +0 -1131
  456. package/deps/xz/src/liblzma/common/stream_flags_common.c +0 -47
  457. package/deps/xz/src/liblzma/common/stream_flags_common.h +0 -33
  458. package/deps/xz/src/liblzma/common/stream_flags_decoder.c +0 -82
  459. package/deps/xz/src/liblzma/common/stream_flags_encoder.c +0 -86
  460. package/deps/xz/src/liblzma/common/vli_decoder.c +0 -86
  461. package/deps/xz/src/liblzma/common/vli_encoder.c +0 -69
  462. package/deps/xz/src/liblzma/common/vli_size.c +0 -30
  463. package/deps/xz/src/liblzma/delta/Makefile.inc +0 -23
  464. package/deps/xz/src/liblzma/delta/delta_common.c +0 -70
  465. package/deps/xz/src/liblzma/delta/delta_common.h +0 -20
  466. package/deps/xz/src/liblzma/delta/delta_decoder.c +0 -76
  467. package/deps/xz/src/liblzma/delta/delta_decoder.h +0 -26
  468. package/deps/xz/src/liblzma/delta/delta_encoder.c +0 -121
  469. package/deps/xz/src/liblzma/delta/delta_encoder.h +0 -24
  470. package/deps/xz/src/liblzma/delta/delta_private.h +0 -37
  471. package/deps/xz/src/liblzma/liblzma.la +0 -41
  472. package/deps/xz/src/liblzma/liblzma.map +0 -108
  473. package/deps/xz/src/liblzma/liblzma.pc +0 -19
  474. package/deps/xz/src/liblzma/liblzma.pc.in +0 -19
  475. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.lo +0 -12
  476. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.o +0 -0
  477. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.lo +0 -12
  478. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.o +0 -0
  479. package/deps/xz/src/liblzma/liblzma_la-arm.lo +0 -12
  480. package/deps/xz/src/liblzma/liblzma_la-arm.o +0 -0
  481. package/deps/xz/src/liblzma/liblzma_la-armthumb.lo +0 -12
  482. package/deps/xz/src/liblzma/liblzma_la-armthumb.o +0 -0
  483. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.lo +0 -12
  484. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.o +0 -0
  485. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.lo +0 -12
  486. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.o +0 -0
  487. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.lo +0 -12
  488. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.o +0 -0
  489. package/deps/xz/src/liblzma/liblzma_la-block_decoder.lo +0 -12
  490. package/deps/xz/src/liblzma/liblzma_la-block_decoder.o +0 -0
  491. package/deps/xz/src/liblzma/liblzma_la-block_encoder.lo +0 -12
  492. package/deps/xz/src/liblzma/liblzma_la-block_encoder.o +0 -0
  493. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.lo +0 -12
  494. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.o +0 -0
  495. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.lo +0 -12
  496. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.o +0 -0
  497. package/deps/xz/src/liblzma/liblzma_la-block_util.lo +0 -12
  498. package/deps/xz/src/liblzma/liblzma_la-block_util.o +0 -0
  499. package/deps/xz/src/liblzma/liblzma_la-check.lo +0 -12
  500. package/deps/xz/src/liblzma/liblzma_la-check.o +0 -0
  501. package/deps/xz/src/liblzma/liblzma_la-common.lo +0 -12
  502. package/deps/xz/src/liblzma/liblzma_la-common.o +0 -0
  503. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.lo +0 -12
  504. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.o +0 -0
  505. package/deps/xz/src/liblzma/liblzma_la-crc32_table.lo +0 -12
  506. package/deps/xz/src/liblzma/liblzma_la-crc32_table.o +0 -0
  507. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.lo +0 -12
  508. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.o +0 -0
  509. package/deps/xz/src/liblzma/liblzma_la-crc64_table.lo +0 -12
  510. package/deps/xz/src/liblzma/liblzma_la-crc64_table.o +0 -0
  511. package/deps/xz/src/liblzma/liblzma_la-delta_common.lo +0 -12
  512. package/deps/xz/src/liblzma/liblzma_la-delta_common.o +0 -0
  513. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.lo +0 -12
  514. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.o +0 -0
  515. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.lo +0 -12
  516. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.o +0 -0
  517. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.lo +0 -12
  518. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.o +0 -0
  519. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.lo +0 -12
  520. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.o +0 -0
  521. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.lo +0 -12
  522. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.o +0 -0
  523. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.lo +0 -12
  524. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.o +0 -0
  525. package/deps/xz/src/liblzma/liblzma_la-easy_preset.lo +0 -12
  526. package/deps/xz/src/liblzma/liblzma_la-easy_preset.o +0 -0
  527. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.lo +0 -12
  528. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.o +0 -0
  529. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.lo +0 -12
  530. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.o +0 -0
  531. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.lo +0 -12
  532. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.o +0 -0
  533. package/deps/xz/src/liblzma/liblzma_la-filter_common.lo +0 -12
  534. package/deps/xz/src/liblzma/liblzma_la-filter_common.o +0 -0
  535. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.lo +0 -12
  536. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.o +0 -0
  537. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.lo +0 -12
  538. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.o +0 -0
  539. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.lo +0 -12
  540. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.o +0 -0
  541. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.lo +0 -12
  542. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.o +0 -0
  543. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.lo +0 -12
  544. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.o +0 -0
  545. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.lo +0 -12
  546. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.o +0 -0
  547. package/deps/xz/src/liblzma/liblzma_la-ia64.lo +0 -12
  548. package/deps/xz/src/liblzma/liblzma_la-ia64.o +0 -0
  549. package/deps/xz/src/liblzma/liblzma_la-index.lo +0 -12
  550. package/deps/xz/src/liblzma/liblzma_la-index.o +0 -0
  551. package/deps/xz/src/liblzma/liblzma_la-index_decoder.lo +0 -12
  552. package/deps/xz/src/liblzma/liblzma_la-index_decoder.o +0 -0
  553. package/deps/xz/src/liblzma/liblzma_la-index_encoder.lo +0 -12
  554. package/deps/xz/src/liblzma/liblzma_la-index_encoder.o +0 -0
  555. package/deps/xz/src/liblzma/liblzma_la-index_hash.lo +0 -12
  556. package/deps/xz/src/liblzma/liblzma_la-index_hash.o +0 -0
  557. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.lo +0 -12
  558. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.o +0 -0
  559. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.lo +0 -12
  560. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.o +0 -0
  561. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.lo +0 -12
  562. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.o +0 -0
  563. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.lo +0 -12
  564. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.o +0 -0
  565. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.lo +0 -12
  566. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.o +0 -0
  567. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.lo +0 -12
  568. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.o +0 -0
  569. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.lo +0 -12
  570. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.o +0 -0
  571. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.lo +0 -12
  572. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.o +0 -0
  573. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.lo +0 -12
  574. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.o +0 -0
  575. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.lo +0 -12
  576. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.o +0 -0
  577. package/deps/xz/src/liblzma/liblzma_la-outqueue.lo +0 -12
  578. package/deps/xz/src/liblzma/liblzma_la-outqueue.o +0 -0
  579. package/deps/xz/src/liblzma/liblzma_la-powerpc.lo +0 -12
  580. package/deps/xz/src/liblzma/liblzma_la-powerpc.o +0 -0
  581. package/deps/xz/src/liblzma/liblzma_la-price_table.lo +0 -12
  582. package/deps/xz/src/liblzma/liblzma_la-price_table.o +0 -0
  583. package/deps/xz/src/liblzma/liblzma_la-sha256.lo +0 -12
  584. package/deps/xz/src/liblzma/liblzma_la-sha256.o +0 -0
  585. package/deps/xz/src/liblzma/liblzma_la-simple_coder.lo +0 -12
  586. package/deps/xz/src/liblzma/liblzma_la-simple_coder.o +0 -0
  587. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.lo +0 -12
  588. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.o +0 -0
  589. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.lo +0 -12
  590. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.o +0 -0
  591. package/deps/xz/src/liblzma/liblzma_la-sparc.lo +0 -12
  592. package/deps/xz/src/liblzma/liblzma_la-sparc.o +0 -0
  593. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.lo +0 -12
  594. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.o +0 -0
  595. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.lo +0 -12
  596. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.o +0 -0
  597. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.lo +0 -12
  598. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.o +0 -0
  599. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.lo +0 -12
  600. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.o +0 -0
  601. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.lo +0 -12
  602. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.o +0 -0
  603. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.lo +0 -12
  604. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.o +0 -0
  605. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.lo +0 -12
  606. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.o +0 -0
  607. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.lo +0 -12
  608. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.o +0 -0
  609. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.lo +0 -12
  610. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.o +0 -0
  611. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.lo +0 -12
  612. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.o +0 -0
  613. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.lo +0 -12
  614. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.o +0 -0
  615. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.lo +0 -12
  616. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.o +0 -0
  617. package/deps/xz/src/liblzma/liblzma_la-vli_size.lo +0 -12
  618. package/deps/xz/src/liblzma/liblzma_la-vli_size.o +0 -0
  619. package/deps/xz/src/liblzma/liblzma_la-x86.lo +0 -12
  620. package/deps/xz/src/liblzma/liblzma_la-x86.o +0 -0
  621. package/deps/xz/src/liblzma/liblzma_w32res.rc +0 -12
  622. package/deps/xz/src/liblzma/lz/Makefile.inc +0 -22
  623. package/deps/xz/src/liblzma/lz/lz_decoder.c +0 -300
  624. package/deps/xz/src/liblzma/lz/lz_decoder.h +0 -235
  625. package/deps/xz/src/liblzma/lz/lz_encoder.c +0 -605
  626. package/deps/xz/src/liblzma/lz/lz_encoder.h +0 -328
  627. package/deps/xz/src/liblzma/lz/lz_encoder_hash.h +0 -108
  628. package/deps/xz/src/liblzma/lz/lz_encoder_hash_table.h +0 -68
  629. package/deps/xz/src/liblzma/lz/lz_encoder_mf.c +0 -744
  630. package/deps/xz/src/liblzma/lzma/Makefile.inc +0 -43
  631. package/deps/xz/src/liblzma/lzma/fastpos.h +0 -141
  632. package/deps/xz/src/liblzma/lzma/fastpos_table.c +0 -519
  633. package/deps/xz/src/liblzma/lzma/fastpos_tablegen.c +0 -56
  634. package/deps/xz/src/liblzma/lzma/lzma2_decoder.c +0 -304
  635. package/deps/xz/src/liblzma/lzma/lzma2_decoder.h +0 -29
  636. package/deps/xz/src/liblzma/lzma/lzma2_encoder.c +0 -403
  637. package/deps/xz/src/liblzma/lzma/lzma2_encoder.h +0 -43
  638. package/deps/xz/src/liblzma/lzma/lzma_common.h +0 -224
  639. package/deps/xz/src/liblzma/lzma/lzma_decoder.c +0 -1061
  640. package/deps/xz/src/liblzma/lzma/lzma_decoder.h +0 -53
  641. package/deps/xz/src/liblzma/lzma/lzma_encoder.c +0 -676
  642. package/deps/xz/src/liblzma/lzma/lzma_encoder.h +0 -55
  643. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c +0 -169
  644. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c +0 -854
  645. package/deps/xz/src/liblzma/lzma/lzma_encoder_presets.c +0 -63
  646. package/deps/xz/src/liblzma/lzma/lzma_encoder_private.h +0 -148
  647. package/deps/xz/src/liblzma/rangecoder/Makefile.inc +0 -21
  648. package/deps/xz/src/liblzma/rangecoder/price.h +0 -92
  649. package/deps/xz/src/liblzma/rangecoder/price_table.c +0 -22
  650. package/deps/xz/src/liblzma/rangecoder/price_tablegen.c +0 -87
  651. package/deps/xz/src/liblzma/rangecoder/range_common.h +0 -73
  652. package/deps/xz/src/liblzma/rangecoder/range_decoder.h +0 -185
  653. package/deps/xz/src/liblzma/rangecoder/range_encoder.h +0 -231
  654. package/deps/xz/src/liblzma/simple/Makefile.inc +0 -47
  655. package/deps/xz/src/liblzma/simple/arm.c +0 -71
  656. package/deps/xz/src/liblzma/simple/armthumb.c +0 -76
  657. package/deps/xz/src/liblzma/simple/ia64.c +0 -112
  658. package/deps/xz/src/liblzma/simple/powerpc.c +0 -75
  659. package/deps/xz/src/liblzma/simple/simple_coder.c +0 -277
  660. package/deps/xz/src/liblzma/simple/simple_coder.h +0 -72
  661. package/deps/xz/src/liblzma/simple/simple_decoder.c +0 -40
  662. package/deps/xz/src/liblzma/simple/simple_decoder.h +0 -22
  663. package/deps/xz/src/liblzma/simple/simple_encoder.c +0 -38
  664. package/deps/xz/src/liblzma/simple/simple_encoder.h +0 -23
  665. package/deps/xz/src/liblzma/simple/simple_private.h +0 -76
  666. package/deps/xz/src/liblzma/simple/sparc.c +0 -83
  667. package/deps/xz/src/liblzma/simple/x86.c +0 -156
  668. package/deps/xz/src/liblzma/validate_map.sh +0 -68
  669. package/deps/xz/src/lzmainfo/.deps/lzmainfo-lzmainfo.Po +0 -1
  670. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_exit.Po +0 -1
  671. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_progname.Po +0 -1
  672. package/deps/xz/src/lzmainfo/Makefile +0 -802
  673. package/deps/xz/src/lzmainfo/Makefile.am +0 -39
  674. package/deps/xz/src/lzmainfo/Makefile.in +0 -802
  675. package/deps/xz/src/lzmainfo/lzmainfo.1 +0 -60
  676. package/deps/xz/src/lzmainfo/lzmainfo.c +0 -219
  677. package/deps/xz/src/lzmainfo/lzmainfo_w32res.rc +0 -12
  678. package/deps/xz/src/scripts/Makefile +0 -642
  679. package/deps/xz/src/scripts/Makefile.am +0 -55
  680. package/deps/xz/src/scripts/Makefile.in +0 -642
  681. package/deps/xz/src/scripts/xzdiff +0 -200
  682. package/deps/xz/src/scripts/xzdiff.1 +0 -77
  683. package/deps/xz/src/scripts/xzdiff.in +0 -200
  684. package/deps/xz/src/scripts/xzgrep +0 -215
  685. package/deps/xz/src/scripts/xzgrep.1 +0 -98
  686. package/deps/xz/src/scripts/xzgrep.in +0 -215
  687. package/deps/xz/src/scripts/xzless +0 -58
  688. package/deps/xz/src/scripts/xzless.1 +0 -69
  689. package/deps/xz/src/scripts/xzless.in +0 -58
  690. package/deps/xz/src/scripts/xzmore +0 -78
  691. package/deps/xz/src/scripts/xzmore.1 +0 -55
  692. package/deps/xz/src/scripts/xzmore.in +0 -78
  693. package/deps/xz/src/xz/.deps/xz-args.Po +0 -1
  694. package/deps/xz/src/xz/.deps/xz-coder.Po +0 -1
  695. package/deps/xz/src/xz/.deps/xz-file_io.Po +0 -1
  696. package/deps/xz/src/xz/.deps/xz-hardware.Po +0 -1
  697. package/deps/xz/src/xz/.deps/xz-list.Po +0 -1
  698. package/deps/xz/src/xz/.deps/xz-main.Po +0 -1
  699. package/deps/xz/src/xz/.deps/xz-message.Po +0 -1
  700. package/deps/xz/src/xz/.deps/xz-mytime.Po +0 -1
  701. package/deps/xz/src/xz/.deps/xz-options.Po +0 -1
  702. package/deps/xz/src/xz/.deps/xz-signals.Po +0 -1
  703. package/deps/xz/src/xz/.deps/xz-suffix.Po +0 -1
  704. package/deps/xz/src/xz/.deps/xz-tuklib_exit.Po +0 -1
  705. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_fw.Po +0 -1
  706. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_width.Po +0 -1
  707. package/deps/xz/src/xz/.deps/xz-tuklib_open_stdxxx.Po +0 -1
  708. package/deps/xz/src/xz/.deps/xz-tuklib_progname.Po +0 -1
  709. package/deps/xz/src/xz/.deps/xz-util.Po +0 -1
  710. package/deps/xz/src/xz/Makefile +0 -1066
  711. package/deps/xz/src/xz/Makefile.am +0 -107
  712. package/deps/xz/src/xz/Makefile.in +0 -1066
  713. package/deps/xz/src/xz/args.c +0 -684
  714. package/deps/xz/src/xz/args.h +0 -44
  715. package/deps/xz/src/xz/coder.c +0 -919
  716. package/deps/xz/src/xz/coder.h +0 -76
  717. package/deps/xz/src/xz/file_io.c +0 -1184
  718. package/deps/xz/src/xz/file_io.h +0 -150
  719. package/deps/xz/src/xz/hardware.c +0 -150
  720. package/deps/xz/src/xz/hardware.h +0 -37
  721. package/deps/xz/src/xz/list.c +0 -1186
  722. package/deps/xz/src/xz/list.h +0 -18
  723. package/deps/xz/src/xz/main.c +0 -307
  724. package/deps/xz/src/xz/main.h +0 -30
  725. package/deps/xz/src/xz/message.c +0 -1258
  726. package/deps/xz/src/xz/message.h +0 -167
  727. package/deps/xz/src/xz/mytime.c +0 -89
  728. package/deps/xz/src/xz/mytime.h +0 -47
  729. package/deps/xz/src/xz/options.c +0 -363
  730. package/deps/xz/src/xz/options.h +0 -31
  731. package/deps/xz/src/xz/private.h +0 -59
  732. package/deps/xz/src/xz/signals.c +0 -209
  733. package/deps/xz/src/xz/signals.h +0 -43
  734. package/deps/xz/src/xz/suffix.c +0 -399
  735. package/deps/xz/src/xz/suffix.h +0 -28
  736. package/deps/xz/src/xz/util.c +0 -288
  737. package/deps/xz/src/xz/util.h +0 -123
  738. package/deps/xz/src/xz/xz.1 +0 -2786
  739. package/deps/xz/src/xz/xz_w32res.rc +0 -12
  740. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_exit.Po +0 -1
  741. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_progname.Po +0 -1
  742. package/deps/xz/src/xzdec/.deps/lzmadec-xzdec.Po +0 -1
  743. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_exit.Po +0 -1
  744. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_progname.Po +0 -1
  745. package/deps/xz/src/xzdec/.deps/xzdec-xzdec.Po +0 -1
  746. package/deps/xz/src/xzdec/Makefile +0 -901
  747. package/deps/xz/src/xzdec/Makefile.am +0 -82
  748. package/deps/xz/src/xzdec/Makefile.in +0 -901
  749. package/deps/xz/src/xzdec/lzmadec_w32res.rc +0 -12
  750. package/deps/xz/src/xzdec/xzdec.1 +0 -146
  751. package/deps/xz/src/xzdec/xzdec.c +0 -323
  752. package/deps/xz/src/xzdec/xzdec_w32res.rc +0 -12
  753. package/deps/xz/stamp-h1 +0 -1
  754. package/deps/xz/tests/.deps/create_compress_files.Po +0 -1
  755. package/deps/xz/tests/.deps/test_bcj_exact_size.Po +0 -1
  756. package/deps/xz/tests/.deps/test_block_header.Po +0 -1
  757. package/deps/xz/tests/.deps/test_check.Po +0 -1
  758. package/deps/xz/tests/.deps/test_filter_flags.Po +0 -1
  759. package/deps/xz/tests/.deps/test_index.Po +0 -1
  760. package/deps/xz/tests/.deps/test_stream_flags.Po +0 -1
  761. package/deps/xz/tests/Makefile +0 -832
  762. package/deps/xz/tests/Makefile.am +0 -57
  763. package/deps/xz/tests/Makefile.in +0 -832
  764. package/deps/xz/tests/bcj_test.c +0 -65
  765. package/deps/xz/tests/compress_prepared_bcj_sparc +0 -0
  766. package/deps/xz/tests/compress_prepared_bcj_x86 +0 -0
  767. package/deps/xz/tests/create_compress_files.c +0 -158
  768. package/deps/xz/tests/files/README +0 -240
  769. package/deps/xz/tests/files/bad-0-backward_size.xz +0 -0
  770. package/deps/xz/tests/files/bad-0-empty-truncated.xz +0 -0
  771. package/deps/xz/tests/files/bad-0-footer_magic.xz +0 -0
  772. package/deps/xz/tests/files/bad-0-header_magic.xz +0 -0
  773. package/deps/xz/tests/files/bad-0-nonempty_index.xz +0 -0
  774. package/deps/xz/tests/files/bad-0cat-alone.xz +0 -0
  775. package/deps/xz/tests/files/bad-0cat-header_magic.xz +0 -0
  776. package/deps/xz/tests/files/bad-0catpad-empty.xz +0 -0
  777. package/deps/xz/tests/files/bad-0pad-empty.xz +0 -0
  778. package/deps/xz/tests/files/bad-1-block_header-1.xz +0 -0
  779. package/deps/xz/tests/files/bad-1-block_header-2.xz +0 -0
  780. package/deps/xz/tests/files/bad-1-block_header-3.xz +0 -0
  781. package/deps/xz/tests/files/bad-1-block_header-4.xz +0 -0
  782. package/deps/xz/tests/files/bad-1-block_header-5.xz +0 -0
  783. package/deps/xz/tests/files/bad-1-block_header-6.xz +0 -0
  784. package/deps/xz/tests/files/bad-1-check-crc32.xz +0 -0
  785. package/deps/xz/tests/files/bad-1-check-crc64.xz +0 -0
  786. package/deps/xz/tests/files/bad-1-check-sha256.xz +0 -0
  787. package/deps/xz/tests/files/bad-1-lzma2-1.xz +0 -0
  788. package/deps/xz/tests/files/bad-1-lzma2-2.xz +0 -0
  789. package/deps/xz/tests/files/bad-1-lzma2-3.xz +0 -0
  790. package/deps/xz/tests/files/bad-1-lzma2-4.xz +0 -0
  791. package/deps/xz/tests/files/bad-1-lzma2-5.xz +0 -0
  792. package/deps/xz/tests/files/bad-1-lzma2-6.xz +0 -0
  793. package/deps/xz/tests/files/bad-1-lzma2-7.xz +0 -0
  794. package/deps/xz/tests/files/bad-1-lzma2-8.xz +0 -0
  795. package/deps/xz/tests/files/bad-1-stream_flags-1.xz +0 -0
  796. package/deps/xz/tests/files/bad-1-stream_flags-2.xz +0 -0
  797. package/deps/xz/tests/files/bad-1-stream_flags-3.xz +0 -0
  798. package/deps/xz/tests/files/bad-1-vli-1.xz +0 -0
  799. package/deps/xz/tests/files/bad-1-vli-2.xz +0 -0
  800. package/deps/xz/tests/files/bad-2-compressed_data_padding.xz +0 -0
  801. package/deps/xz/tests/files/bad-2-index-1.xz +0 -0
  802. package/deps/xz/tests/files/bad-2-index-2.xz +0 -0
  803. package/deps/xz/tests/files/bad-2-index-3.xz +0 -0
  804. package/deps/xz/tests/files/bad-2-index-4.xz +0 -0
  805. package/deps/xz/tests/files/bad-2-index-5.xz +0 -0
  806. package/deps/xz/tests/files/good-0-empty.xz +0 -0
  807. package/deps/xz/tests/files/good-0cat-empty.xz +0 -0
  808. package/deps/xz/tests/files/good-0catpad-empty.xz +0 -0
  809. package/deps/xz/tests/files/good-0pad-empty.xz +0 -0
  810. package/deps/xz/tests/files/good-1-3delta-lzma2.xz +0 -0
  811. package/deps/xz/tests/files/good-1-block_header-1.xz +0 -0
  812. package/deps/xz/tests/files/good-1-block_header-2.xz +0 -0
  813. package/deps/xz/tests/files/good-1-block_header-3.xz +0 -0
  814. package/deps/xz/tests/files/good-1-check-crc32.xz +0 -0
  815. package/deps/xz/tests/files/good-1-check-crc64.xz +0 -0
  816. package/deps/xz/tests/files/good-1-check-none.xz +0 -0
  817. package/deps/xz/tests/files/good-1-check-sha256.xz +0 -0
  818. package/deps/xz/tests/files/good-1-delta-lzma2.tiff.xz +0 -0
  819. package/deps/xz/tests/files/good-1-lzma2-1.xz +0 -0
  820. package/deps/xz/tests/files/good-1-lzma2-2.xz +0 -0
  821. package/deps/xz/tests/files/good-1-lzma2-3.xz +0 -0
  822. package/deps/xz/tests/files/good-1-lzma2-4.xz +0 -0
  823. package/deps/xz/tests/files/good-1-lzma2-5.xz +0 -0
  824. package/deps/xz/tests/files/good-1-sparc-lzma2.xz +0 -0
  825. package/deps/xz/tests/files/good-1-x86-lzma2.xz +0 -0
  826. package/deps/xz/tests/files/good-2-lzma2.xz +0 -0
  827. package/deps/xz/tests/files/unsupported-block_header.xz +0 -0
  828. package/deps/xz/tests/files/unsupported-check.xz +0 -0
  829. package/deps/xz/tests/files/unsupported-filter_flags-1.xz +0 -0
  830. package/deps/xz/tests/files/unsupported-filter_flags-2.xz +0 -0
  831. package/deps/xz/tests/files/unsupported-filter_flags-3.xz +0 -0
  832. package/deps/xz/tests/test_bcj_exact_size.c +0 -113
  833. package/deps/xz/tests/test_block_header.c +0 -240
  834. package/deps/xz/tests/test_check.c +0 -83
  835. package/deps/xz/tests/test_compress.sh +0 -142
  836. package/deps/xz/tests/test_files.sh +0 -57
  837. package/deps/xz/tests/test_filter_flags.c +0 -258
  838. package/deps/xz/tests/test_index.c +0 -659
  839. package/deps/xz/tests/test_scripts.sh +0 -76
  840. package/deps/xz/tests/test_stream_flags.c +0 -180
  841. package/deps/xz/tests/tests.h +0 -124
  842. package/deps/xz/tests/xzgrep_expected_output +0 -39
  843. package/deps/xz/windows/INSTALL-MSVC.txt +0 -47
  844. package/deps/xz/windows/INSTALL-MinGW.txt +0 -138
  845. package/deps/xz/windows/README-Windows.txt +0 -122
  846. package/deps/xz/windows/build.bash +0 -203
  847. package/deps/xz/windows/config.h +0 -142
  848. package/deps/xz/windows/liblzma.vcxproj +0 -354
  849. package/deps/xz/windows/liblzma_dll.vcxproj +0 -383
  850. package/deps/xz/windows/xz_win.sln +0 -48
  851. package/lib/lzma.js +0 -377
  852. package/node_modules/node-pre-gyp/CHANGELOG.md +0 -319
  853. package/node_modules/node-pre-gyp/LICENSE +0 -27
  854. package/node_modules/node-pre-gyp/README.md +0 -570
  855. package/node_modules/node-pre-gyp/appveyor.yml +0 -30
  856. package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -131
  857. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  858. package/node_modules/node-pre-gyp/lib/build.js +0 -43
  859. package/node_modules/node-pre-gyp/lib/clean.js +0 -23
  860. package/node_modules/node-pre-gyp/lib/configure.js +0 -48
  861. package/node_modules/node-pre-gyp/lib/info.js +0 -40
  862. package/node_modules/node-pre-gyp/lib/install.js +0 -215
  863. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -192
  864. package/node_modules/node-pre-gyp/lib/package.js +0 -46
  865. package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -25
  866. package/node_modules/node-pre-gyp/lib/publish.js +0 -77
  867. package/node_modules/node-pre-gyp/lib/rebuild.js +0 -13
  868. package/node_modules/node-pre-gyp/lib/reinstall.js +0 -13
  869. package/node_modules/node-pre-gyp/lib/reveal.js +0 -31
  870. package/node_modules/node-pre-gyp/lib/testbinary.js +0 -73
  871. package/node_modules/node-pre-gyp/lib/testpackage.js +0 -49
  872. package/node_modules/node-pre-gyp/lib/unpublish.js +0 -41
  873. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -1222
  874. package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
  875. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -94
  876. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  877. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  878. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
  879. package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -308
  880. package/node_modules/node-pre-gyp/package.json +0 -136
@@ -1,1061 +0,0 @@
1
- ///////////////////////////////////////////////////////////////////////////////
2
- //
3
- /// \file lzma_decoder.c
4
- /// \brief LZMA decoder
5
- ///
6
- // Authors: Igor Pavlov
7
- // Lasse Collin
8
- //
9
- // This file has been put into the public domain.
10
- // You can do whatever you want with this file.
11
- //
12
- ///////////////////////////////////////////////////////////////////////////////
13
-
14
- #include "lz_decoder.h"
15
- #include "lzma_common.h"
16
- #include "lzma_decoder.h"
17
- #include "range_decoder.h"
18
-
19
-
20
- #ifdef HAVE_SMALL
21
-
22
- // Macros for (somewhat) size-optimized code.
23
- #define seq_4(seq) seq
24
-
25
- #define seq_6(seq) seq
26
-
27
- #define seq_8(seq) seq
28
-
29
- #define seq_len(seq) \
30
- seq ## _CHOICE, \
31
- seq ## _CHOICE2, \
32
- seq ## _BITTREE
33
-
34
- #define len_decode(target, ld, pos_state, seq) \
35
- do { \
36
- case seq ## _CHOICE: \
37
- rc_if_0(ld.choice, seq ## _CHOICE) { \
38
- rc_update_0(ld.choice); \
39
- probs = ld.low[pos_state];\
40
- limit = LEN_LOW_SYMBOLS; \
41
- target = MATCH_LEN_MIN; \
42
- } else { \
43
- rc_update_1(ld.choice); \
44
- case seq ## _CHOICE2: \
45
- rc_if_0(ld.choice2, seq ## _CHOICE2) { \
46
- rc_update_0(ld.choice2); \
47
- probs = ld.mid[pos_state]; \
48
- limit = LEN_MID_SYMBOLS; \
49
- target = MATCH_LEN_MIN + LEN_LOW_SYMBOLS; \
50
- } else { \
51
- rc_update_1(ld.choice2); \
52
- probs = ld.high; \
53
- limit = LEN_HIGH_SYMBOLS; \
54
- target = MATCH_LEN_MIN + LEN_LOW_SYMBOLS \
55
- + LEN_MID_SYMBOLS; \
56
- } \
57
- } \
58
- symbol = 1; \
59
- case seq ## _BITTREE: \
60
- do { \
61
- rc_bit(probs[symbol], , , seq ## _BITTREE); \
62
- } while (symbol < limit); \
63
- target += symbol - limit; \
64
- } while (0)
65
-
66
- #else // HAVE_SMALL
67
-
68
- // Unrolled versions
69
- #define seq_4(seq) \
70
- seq ## 0, \
71
- seq ## 1, \
72
- seq ## 2, \
73
- seq ## 3
74
-
75
- #define seq_6(seq) \
76
- seq ## 0, \
77
- seq ## 1, \
78
- seq ## 2, \
79
- seq ## 3, \
80
- seq ## 4, \
81
- seq ## 5
82
-
83
- #define seq_8(seq) \
84
- seq ## 0, \
85
- seq ## 1, \
86
- seq ## 2, \
87
- seq ## 3, \
88
- seq ## 4, \
89
- seq ## 5, \
90
- seq ## 6, \
91
- seq ## 7
92
-
93
- #define seq_len(seq) \
94
- seq ## _CHOICE, \
95
- seq ## _LOW0, \
96
- seq ## _LOW1, \
97
- seq ## _LOW2, \
98
- seq ## _CHOICE2, \
99
- seq ## _MID0, \
100
- seq ## _MID1, \
101
- seq ## _MID2, \
102
- seq ## _HIGH0, \
103
- seq ## _HIGH1, \
104
- seq ## _HIGH2, \
105
- seq ## _HIGH3, \
106
- seq ## _HIGH4, \
107
- seq ## _HIGH5, \
108
- seq ## _HIGH6, \
109
- seq ## _HIGH7
110
-
111
- #define len_decode(target, ld, pos_state, seq) \
112
- do { \
113
- symbol = 1; \
114
- case seq ## _CHOICE: \
115
- rc_if_0(ld.choice, seq ## _CHOICE) { \
116
- rc_update_0(ld.choice); \
117
- rc_bit_case(ld.low[pos_state][symbol], , , seq ## _LOW0); \
118
- rc_bit_case(ld.low[pos_state][symbol], , , seq ## _LOW1); \
119
- rc_bit_case(ld.low[pos_state][symbol], , , seq ## _LOW2); \
120
- target = symbol - LEN_LOW_SYMBOLS + MATCH_LEN_MIN; \
121
- } else { \
122
- rc_update_1(ld.choice); \
123
- case seq ## _CHOICE2: \
124
- rc_if_0(ld.choice2, seq ## _CHOICE2) { \
125
- rc_update_0(ld.choice2); \
126
- rc_bit_case(ld.mid[pos_state][symbol], , , \
127
- seq ## _MID0); \
128
- rc_bit_case(ld.mid[pos_state][symbol], , , \
129
- seq ## _MID1); \
130
- rc_bit_case(ld.mid[pos_state][symbol], , , \
131
- seq ## _MID2); \
132
- target = symbol - LEN_MID_SYMBOLS \
133
- + MATCH_LEN_MIN + LEN_LOW_SYMBOLS; \
134
- } else { \
135
- rc_update_1(ld.choice2); \
136
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH0); \
137
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH1); \
138
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH2); \
139
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH3); \
140
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH4); \
141
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH5); \
142
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH6); \
143
- rc_bit_case(ld.high[symbol], , , seq ## _HIGH7); \
144
- target = symbol - LEN_HIGH_SYMBOLS \
145
- + MATCH_LEN_MIN \
146
- + LEN_LOW_SYMBOLS + LEN_MID_SYMBOLS; \
147
- } \
148
- } \
149
- } while (0)
150
-
151
- #endif // HAVE_SMALL
152
-
153
-
154
- /// Length decoder probabilities; see comments in lzma_common.h.
155
- typedef struct {
156
- probability choice;
157
- probability choice2;
158
- probability low[POS_STATES_MAX][LEN_LOW_SYMBOLS];
159
- probability mid[POS_STATES_MAX][LEN_MID_SYMBOLS];
160
- probability high[LEN_HIGH_SYMBOLS];
161
- } lzma_length_decoder;
162
-
163
-
164
- struct lzma_coder_s {
165
- ///////////////////
166
- // Probabilities //
167
- ///////////////////
168
-
169
- /// Literals; see comments in lzma_common.h.
170
- probability literal[LITERAL_CODERS_MAX][LITERAL_CODER_SIZE];
171
-
172
- /// If 1, it's a match. Otherwise it's a single 8-bit literal.
173
- probability is_match[STATES][POS_STATES_MAX];
174
-
175
- /// If 1, it's a repeated match. The distance is one of rep0 .. rep3.
176
- probability is_rep[STATES];
177
-
178
- /// If 0, distance of a repeated match is rep0.
179
- /// Otherwise check is_rep1.
180
- probability is_rep0[STATES];
181
-
182
- /// If 0, distance of a repeated match is rep1.
183
- /// Otherwise check is_rep2.
184
- probability is_rep1[STATES];
185
-
186
- /// If 0, distance of a repeated match is rep2. Otherwise it is rep3.
187
- probability is_rep2[STATES];
188
-
189
- /// If 1, the repeated match has length of one byte. Otherwise
190
- /// the length is decoded from rep_len_decoder.
191
- probability is_rep0_long[STATES][POS_STATES_MAX];
192
-
193
- /// Probability tree for the highest two bits of the match distance.
194
- /// There is a separate probability tree for match lengths of
195
- /// 2 (i.e. MATCH_LEN_MIN), 3, 4, and [5, 273].
196
- probability dist_slot[DIST_STATES][DIST_SLOTS];
197
-
198
- /// Probability trees for additional bits for match distance when the
199
- /// distance is in the range [4, 127].
200
- probability pos_special[FULL_DISTANCES - DIST_MODEL_END];
201
-
202
- /// Probability tree for the lowest four bits of a match distance
203
- /// that is equal to or greater than 128.
204
- probability pos_align[ALIGN_SIZE];
205
-
206
- /// Length of a normal match
207
- lzma_length_decoder match_len_decoder;
208
-
209
- /// Length of a repeated match
210
- lzma_length_decoder rep_len_decoder;
211
-
212
- ///////////////////
213
- // Decoder state //
214
- ///////////////////
215
-
216
- // Range coder
217
- lzma_range_decoder rc;
218
-
219
- // Types of the most recently seen LZMA symbols
220
- lzma_lzma_state state;
221
-
222
- uint32_t rep0; ///< Distance of the latest match
223
- uint32_t rep1; ///< Distance of second latest match
224
- uint32_t rep2; ///< Distance of third latest match
225
- uint32_t rep3; ///< Distance of fourth latest match
226
-
227
- uint32_t pos_mask; // (1U << pb) - 1
228
- uint32_t literal_context_bits;
229
- uint32_t literal_pos_mask;
230
-
231
- /// Uncompressed size as bytes, or LZMA_VLI_UNKNOWN if end of
232
- /// payload marker is expected.
233
- lzma_vli uncompressed_size;
234
-
235
- ////////////////////////////////
236
- // State of incomplete symbol //
237
- ////////////////////////////////
238
-
239
- /// Position where to continue the decoder loop
240
- enum {
241
- SEQ_NORMALIZE,
242
- SEQ_IS_MATCH,
243
- seq_8(SEQ_LITERAL),
244
- seq_8(SEQ_LITERAL_MATCHED),
245
- SEQ_LITERAL_WRITE,
246
- SEQ_IS_REP,
247
- seq_len(SEQ_MATCH_LEN),
248
- seq_6(SEQ_DIST_SLOT),
249
- SEQ_DIST_MODEL,
250
- SEQ_DIRECT,
251
- seq_4(SEQ_ALIGN),
252
- SEQ_EOPM,
253
- SEQ_IS_REP0,
254
- SEQ_SHORTREP,
255
- SEQ_IS_REP0_LONG,
256
- SEQ_IS_REP1,
257
- SEQ_IS_REP2,
258
- seq_len(SEQ_REP_LEN),
259
- SEQ_COPY,
260
- } sequence;
261
-
262
- /// Base of the current probability tree
263
- probability *probs;
264
-
265
- /// Symbol being decoded. This is also used as an index variable in
266
- /// bittree decoders: probs[symbol]
267
- uint32_t symbol;
268
-
269
- /// Used as a loop termination condition on bittree decoders and
270
- /// direct bits decoder.
271
- uint32_t limit;
272
-
273
- /// Matched literal decoder: 0x100 or 0 to help avoiding branches.
274
- /// Bittree reverse decoders: Offset of the next bit: 1 << offset
275
- uint32_t offset;
276
-
277
- /// If decoding a literal: match byte.
278
- /// If decoding a match: length of the match.
279
- uint32_t len;
280
- };
281
-
282
-
283
- static lzma_ret
284
- lzma_decode(lzma_coder *restrict coder, lzma_dict *restrict dictptr,
285
- const uint8_t *restrict in,
286
- size_t *restrict in_pos, size_t in_size)
287
- {
288
- ////////////////////
289
- // Initialization //
290
- ////////////////////
291
-
292
- {
293
- const lzma_ret ret = rc_read_init(
294
- &coder->rc, in, in_pos, in_size);
295
- if (ret != LZMA_STREAM_END)
296
- return ret;
297
- }
298
-
299
- ///////////////
300
- // Variables //
301
- ///////////////
302
-
303
- // Making local copies of often-used variables improves both
304
- // speed and readability.
305
-
306
- lzma_dict dict = *dictptr;
307
-
308
- const size_t dict_start = dict.pos;
309
-
310
- // Range decoder
311
- rc_to_local(coder->rc, *in_pos);
312
-
313
- // State
314
- uint32_t state = coder->state;
315
- uint32_t rep0 = coder->rep0;
316
- uint32_t rep1 = coder->rep1;
317
- uint32_t rep2 = coder->rep2;
318
- uint32_t rep3 = coder->rep3;
319
-
320
- const uint32_t pos_mask = coder->pos_mask;
321
-
322
- // These variables are actually needed only if we last time ran
323
- // out of input in the middle of the decoder loop.
324
- probability *probs = coder->probs;
325
- uint32_t symbol = coder->symbol;
326
- uint32_t limit = coder->limit;
327
- uint32_t offset = coder->offset;
328
- uint32_t len = coder->len;
329
-
330
- const uint32_t literal_pos_mask = coder->literal_pos_mask;
331
- const uint32_t literal_context_bits = coder->literal_context_bits;
332
-
333
- // Temporary variables
334
- uint32_t pos_state = dict.pos & pos_mask;
335
-
336
- lzma_ret ret = LZMA_OK;
337
-
338
- // If uncompressed size is known, there must be no end of payload
339
- // marker.
340
- const bool no_eopm = coder->uncompressed_size
341
- != LZMA_VLI_UNKNOWN;
342
- if (no_eopm && coder->uncompressed_size < dict.limit - dict.pos)
343
- dict.limit = dict.pos + (size_t)(coder->uncompressed_size);
344
-
345
- // The main decoder loop. The "switch" is used to restart the decoder at
346
- // correct location. Once restarted, the "switch" is no longer used.
347
- switch (coder->sequence)
348
- while (true) {
349
- // Calculate new pos_state. This is skipped on the first loop
350
- // since we already calculated it when setting up the local
351
- // variables.
352
- pos_state = dict.pos & pos_mask;
353
-
354
- case SEQ_NORMALIZE:
355
- case SEQ_IS_MATCH:
356
- if (unlikely(no_eopm && dict.pos == dict.limit))
357
- break;
358
-
359
- rc_if_0(coder->is_match[state][pos_state], SEQ_IS_MATCH) {
360
- rc_update_0(coder->is_match[state][pos_state]);
361
-
362
- // It's a literal i.e. a single 8-bit byte.
363
-
364
- probs = literal_subcoder(coder->literal,
365
- literal_context_bits, literal_pos_mask,
366
- dict.pos, dict_get(&dict, 0));
367
- symbol = 1;
368
-
369
- if (is_literal_state(state)) {
370
- // Decode literal without match byte.
371
- #ifdef HAVE_SMALL
372
- case SEQ_LITERAL:
373
- do {
374
- rc_bit(probs[symbol], , , SEQ_LITERAL);
375
- } while (symbol < (1 << 8));
376
- #else
377
- rc_bit_case(probs[symbol], , , SEQ_LITERAL0);
378
- rc_bit_case(probs[symbol], , , SEQ_LITERAL1);
379
- rc_bit_case(probs[symbol], , , SEQ_LITERAL2);
380
- rc_bit_case(probs[symbol], , , SEQ_LITERAL3);
381
- rc_bit_case(probs[symbol], , , SEQ_LITERAL4);
382
- rc_bit_case(probs[symbol], , , SEQ_LITERAL5);
383
- rc_bit_case(probs[symbol], , , SEQ_LITERAL6);
384
- rc_bit_case(probs[symbol], , , SEQ_LITERAL7);
385
- #endif
386
- } else {
387
- // Decode literal with match byte.
388
- //
389
- // We store the byte we compare against
390
- // ("match byte") to "len" to minimize the
391
- // number of variables we need to store
392
- // between decoder calls.
393
- len = dict_get(&dict, rep0) << 1;
394
-
395
- // The usage of "offset" allows omitting some
396
- // branches, which should give tiny speed
397
- // improvement on some CPUs. "offset" gets
398
- // set to zero if match_bit didn't match.
399
- offset = 0x100;
400
-
401
- #ifdef HAVE_SMALL
402
- case SEQ_LITERAL_MATCHED:
403
- do {
404
- const uint32_t match_bit
405
- = len & offset;
406
- const uint32_t subcoder_index
407
- = offset + match_bit
408
- + symbol;
409
-
410
- rc_bit(probs[subcoder_index],
411
- offset &= ~match_bit,
412
- offset &= match_bit,
413
- SEQ_LITERAL_MATCHED);
414
-
415
- // It seems to be faster to do this
416
- // here instead of putting it to the
417
- // beginning of the loop and then
418
- // putting the "case" in the middle
419
- // of the loop.
420
- len <<= 1;
421
-
422
- } while (symbol < (1 << 8));
423
- #else
424
- // Unroll the loop.
425
- uint32_t match_bit;
426
- uint32_t subcoder_index;
427
-
428
- # define d(seq) \
429
- case seq: \
430
- match_bit = len & offset; \
431
- subcoder_index = offset + match_bit + symbol; \
432
- rc_bit(probs[subcoder_index], \
433
- offset &= ~match_bit, \
434
- offset &= match_bit, \
435
- seq)
436
-
437
- d(SEQ_LITERAL_MATCHED0);
438
- len <<= 1;
439
- d(SEQ_LITERAL_MATCHED1);
440
- len <<= 1;
441
- d(SEQ_LITERAL_MATCHED2);
442
- len <<= 1;
443
- d(SEQ_LITERAL_MATCHED3);
444
- len <<= 1;
445
- d(SEQ_LITERAL_MATCHED4);
446
- len <<= 1;
447
- d(SEQ_LITERAL_MATCHED5);
448
- len <<= 1;
449
- d(SEQ_LITERAL_MATCHED6);
450
- len <<= 1;
451
- d(SEQ_LITERAL_MATCHED7);
452
- # undef d
453
- #endif
454
- }
455
-
456
- //update_literal(state);
457
- // Use a lookup table to update to literal state,
458
- // since compared to other state updates, this would
459
- // need two branches.
460
- static const lzma_lzma_state next_state[] = {
461
- STATE_LIT_LIT,
462
- STATE_LIT_LIT,
463
- STATE_LIT_LIT,
464
- STATE_LIT_LIT,
465
- STATE_MATCH_LIT_LIT,
466
- STATE_REP_LIT_LIT,
467
- STATE_SHORTREP_LIT_LIT,
468
- STATE_MATCH_LIT,
469
- STATE_REP_LIT,
470
- STATE_SHORTREP_LIT,
471
- STATE_MATCH_LIT,
472
- STATE_REP_LIT
473
- };
474
- state = next_state[state];
475
-
476
- case SEQ_LITERAL_WRITE:
477
- if (unlikely(dict_put(&dict, symbol))) {
478
- coder->sequence = SEQ_LITERAL_WRITE;
479
- goto out;
480
- }
481
-
482
- continue;
483
- }
484
-
485
- // Instead of a new byte we are going to get a byte range
486
- // (distance and length) which will be repeated from our
487
- // output history.
488
-
489
- rc_update_1(coder->is_match[state][pos_state]);
490
-
491
- case SEQ_IS_REP:
492
- rc_if_0(coder->is_rep[state], SEQ_IS_REP) {
493
- // Not a repeated match
494
- rc_update_0(coder->is_rep[state]);
495
- update_match(state);
496
-
497
- // The latest three match distances are kept in
498
- // memory in case there are repeated matches.
499
- rep3 = rep2;
500
- rep2 = rep1;
501
- rep1 = rep0;
502
-
503
- // Decode the length of the match.
504
- len_decode(len, coder->match_len_decoder,
505
- pos_state, SEQ_MATCH_LEN);
506
-
507
- // Prepare to decode the highest two bits of the
508
- // match distance.
509
- probs = coder->dist_slot[get_dist_state(len)];
510
- symbol = 1;
511
-
512
- #ifdef HAVE_SMALL
513
- case SEQ_DIST_SLOT:
514
- do {
515
- rc_bit(probs[symbol], , , SEQ_DIST_SLOT);
516
- } while (symbol < DIST_SLOTS);
517
- #else
518
- rc_bit_case(probs[symbol], , , SEQ_DIST_SLOT0);
519
- rc_bit_case(probs[symbol], , , SEQ_DIST_SLOT1);
520
- rc_bit_case(probs[symbol], , , SEQ_DIST_SLOT2);
521
- rc_bit_case(probs[symbol], , , SEQ_DIST_SLOT3);
522
- rc_bit_case(probs[symbol], , , SEQ_DIST_SLOT4);
523
- rc_bit_case(probs[symbol], , , SEQ_DIST_SLOT5);
524
- #endif
525
- // Get rid of the highest bit that was needed for
526
- // indexing of the probability array.
527
- symbol -= DIST_SLOTS;
528
- assert(symbol <= 63);
529
-
530
- if (symbol < DIST_MODEL_START) {
531
- // Match distances [0, 3] have only two bits.
532
- rep0 = symbol;
533
- } else {
534
- // Decode the lowest [1, 29] bits of
535
- // the match distance.
536
- limit = (symbol >> 1) - 1;
537
- assert(limit >= 1 && limit <= 30);
538
- rep0 = 2 + (symbol & 1);
539
-
540
- if (symbol < DIST_MODEL_END) {
541
- // Prepare to decode the low bits for
542
- // a distance of [4, 127].
543
- assert(limit <= 5);
544
- rep0 <<= limit;
545
- assert(rep0 <= 96);
546
- // -1 is fine, because we start
547
- // decoding at probs[1], not probs[0].
548
- // NOTE: This violates the C standard,
549
- // since we are doing pointer
550
- // arithmetic past the beginning of
551
- // the array.
552
- assert((int32_t)(rep0 - symbol - 1)
553
- >= -1);
554
- assert((int32_t)(rep0 - symbol - 1)
555
- <= 82);
556
- probs = coder->pos_special + rep0
557
- - symbol - 1;
558
- symbol = 1;
559
- offset = 0;
560
- case SEQ_DIST_MODEL:
561
- #ifdef HAVE_SMALL
562
- do {
563
- rc_bit(probs[symbol], ,
564
- rep0 += 1 << offset,
565
- SEQ_DIST_MODEL);
566
- } while (++offset < limit);
567
- #else
568
- switch (limit) {
569
- case 5:
570
- assert(offset == 0);
571
- rc_bit(probs[symbol], ,
572
- rep0 += 1,
573
- SEQ_DIST_MODEL);
574
- ++offset;
575
- --limit;
576
- case 4:
577
- rc_bit(probs[symbol], ,
578
- rep0 += 1 << offset,
579
- SEQ_DIST_MODEL);
580
- ++offset;
581
- --limit;
582
- case 3:
583
- rc_bit(probs[symbol], ,
584
- rep0 += 1 << offset,
585
- SEQ_DIST_MODEL);
586
- ++offset;
587
- --limit;
588
- case 2:
589
- rc_bit(probs[symbol], ,
590
- rep0 += 1 << offset,
591
- SEQ_DIST_MODEL);
592
- ++offset;
593
- --limit;
594
- case 1:
595
- // We need "symbol" only for
596
- // indexing the probability
597
- // array, thus we can use
598
- // rc_bit_last() here to omit
599
- // the unneeded updating of
600
- // "symbol".
601
- rc_bit_last(probs[symbol], ,
602
- rep0 += 1 << offset,
603
- SEQ_DIST_MODEL);
604
- }
605
- #endif
606
- } else {
607
- // The distance is >= 128. Decode the
608
- // lower bits without probabilities
609
- // except the lowest four bits.
610
- assert(symbol >= 14);
611
- assert(limit >= 6);
612
- limit -= ALIGN_BITS;
613
- assert(limit >= 2);
614
- case SEQ_DIRECT:
615
- // Not worth manual unrolling
616
- do {
617
- rc_direct(rep0, SEQ_DIRECT);
618
- } while (--limit > 0);
619
-
620
- // Decode the lowest four bits using
621
- // probabilities.
622
- rep0 <<= ALIGN_BITS;
623
- symbol = 1;
624
- #ifdef HAVE_SMALL
625
- offset = 0;
626
- case SEQ_ALIGN:
627
- do {
628
- rc_bit(coder->pos_align[
629
- symbol], ,
630
- rep0 += 1 << offset,
631
- SEQ_ALIGN);
632
- } while (++offset < ALIGN_BITS);
633
- #else
634
- case SEQ_ALIGN0:
635
- rc_bit(coder->pos_align[symbol], ,
636
- rep0 += 1, SEQ_ALIGN0);
637
- case SEQ_ALIGN1:
638
- rc_bit(coder->pos_align[symbol], ,
639
- rep0 += 2, SEQ_ALIGN1);
640
- case SEQ_ALIGN2:
641
- rc_bit(coder->pos_align[symbol], ,
642
- rep0 += 4, SEQ_ALIGN2);
643
- case SEQ_ALIGN3:
644
- // Like in SEQ_DIST_MODEL, we don't
645
- // need "symbol" for anything else
646
- // than indexing the probability array.
647
- rc_bit_last(coder->pos_align[symbol], ,
648
- rep0 += 8, SEQ_ALIGN3);
649
- #endif
650
-
651
- if (rep0 == UINT32_MAX) {
652
- // End of payload marker was
653
- // found. It must not be
654
- // present if uncompressed
655
- // size is known.
656
- if (coder->uncompressed_size
657
- != LZMA_VLI_UNKNOWN) {
658
- ret = LZMA_DATA_ERROR;
659
- goto out;
660
- }
661
-
662
- case SEQ_EOPM:
663
- // LZMA1 stream with
664
- // end-of-payload marker.
665
- rc_normalize(SEQ_EOPM);
666
- ret = LZMA_STREAM_END;
667
- goto out;
668
- }
669
- }
670
- }
671
-
672
- // Validate the distance we just decoded.
673
- if (unlikely(!dict_is_distance_valid(&dict, rep0))) {
674
- ret = LZMA_DATA_ERROR;
675
- goto out;
676
- }
677
-
678
- } else {
679
- rc_update_1(coder->is_rep[state]);
680
-
681
- // Repeated match
682
- //
683
- // The match distance is a value that we have had
684
- // earlier. The latest four match distances are
685
- // available as rep0, rep1, rep2 and rep3. We will
686
- // now decode which of them is the new distance.
687
- //
688
- // There cannot be a match if we haven't produced
689
- // any output, so check that first.
690
- if (unlikely(!dict_is_distance_valid(&dict, 0))) {
691
- ret = LZMA_DATA_ERROR;
692
- goto out;
693
- }
694
-
695
- case SEQ_IS_REP0:
696
- rc_if_0(coder->is_rep0[state], SEQ_IS_REP0) {
697
- rc_update_0(coder->is_rep0[state]);
698
- // The distance is rep0.
699
-
700
- case SEQ_IS_REP0_LONG:
701
- rc_if_0(coder->is_rep0_long[state][pos_state],
702
- SEQ_IS_REP0_LONG) {
703
- rc_update_0(coder->is_rep0_long[
704
- state][pos_state]);
705
-
706
- update_short_rep(state);
707
-
708
- case SEQ_SHORTREP:
709
- if (unlikely(dict_put(&dict, dict_get(
710
- &dict, rep0)))) {
711
- coder->sequence = SEQ_SHORTREP;
712
- goto out;
713
- }
714
-
715
- continue;
716
- }
717
-
718
- // Repeating more than one byte at
719
- // distance of rep0.
720
- rc_update_1(coder->is_rep0_long[
721
- state][pos_state]);
722
-
723
- } else {
724
- rc_update_1(coder->is_rep0[state]);
725
-
726
- case SEQ_IS_REP1:
727
- // The distance is rep1, rep2 or rep3. Once
728
- // we find out which one of these three, it
729
- // is stored to rep0 and rep1, rep2 and rep3
730
- // are updated accordingly.
731
- rc_if_0(coder->is_rep1[state], SEQ_IS_REP1) {
732
- rc_update_0(coder->is_rep1[state]);
733
-
734
- const uint32_t distance = rep1;
735
- rep1 = rep0;
736
- rep0 = distance;
737
-
738
- } else {
739
- rc_update_1(coder->is_rep1[state]);
740
- case SEQ_IS_REP2:
741
- rc_if_0(coder->is_rep2[state],
742
- SEQ_IS_REP2) {
743
- rc_update_0(coder->is_rep2[
744
- state]);
745
-
746
- const uint32_t distance = rep2;
747
- rep2 = rep1;
748
- rep1 = rep0;
749
- rep0 = distance;
750
-
751
- } else {
752
- rc_update_1(coder->is_rep2[
753
- state]);
754
-
755
- const uint32_t distance = rep3;
756
- rep3 = rep2;
757
- rep2 = rep1;
758
- rep1 = rep0;
759
- rep0 = distance;
760
- }
761
- }
762
- }
763
-
764
- update_long_rep(state);
765
-
766
- // Decode the length of the repeated match.
767
- len_decode(len, coder->rep_len_decoder,
768
- pos_state, SEQ_REP_LEN);
769
- }
770
-
771
- /////////////////////////////////
772
- // Repeat from history buffer. //
773
- /////////////////////////////////
774
-
775
- // The length is always between these limits. There is no way
776
- // to trigger the algorithm to set len outside this range.
777
- assert(len >= MATCH_LEN_MIN);
778
- assert(len <= MATCH_LEN_MAX);
779
-
780
- case SEQ_COPY:
781
- // Repeat len bytes from distance of rep0.
782
- if (unlikely(dict_repeat(&dict, rep0, &len))) {
783
- coder->sequence = SEQ_COPY;
784
- goto out;
785
- }
786
- }
787
-
788
- rc_normalize(SEQ_NORMALIZE);
789
- coder->sequence = SEQ_IS_MATCH;
790
-
791
- out:
792
- // Save state
793
-
794
- // NOTE: Must not copy dict.limit.
795
- dictptr->pos = dict.pos;
796
- dictptr->full = dict.full;
797
-
798
- rc_from_local(coder->rc, *in_pos);
799
-
800
- coder->state = state;
801
- coder->rep0 = rep0;
802
- coder->rep1 = rep1;
803
- coder->rep2 = rep2;
804
- coder->rep3 = rep3;
805
-
806
- coder->probs = probs;
807
- coder->symbol = symbol;
808
- coder->limit = limit;
809
- coder->offset = offset;
810
- coder->len = len;
811
-
812
- // Update the remaining amount of uncompressed data if uncompressed
813
- // size was known.
814
- if (coder->uncompressed_size != LZMA_VLI_UNKNOWN) {
815
- coder->uncompressed_size -= dict.pos - dict_start;
816
-
817
- // Since there cannot be end of payload marker if the
818
- // uncompressed size was known, we check here if we
819
- // finished decoding.
820
- if (coder->uncompressed_size == 0 && ret == LZMA_OK
821
- && coder->sequence != SEQ_NORMALIZE)
822
- ret = coder->sequence == SEQ_IS_MATCH
823
- ? LZMA_STREAM_END : LZMA_DATA_ERROR;
824
- }
825
-
826
- // We can do an additional check in the range decoder to catch some
827
- // corrupted files.
828
- if (ret == LZMA_STREAM_END) {
829
- if (!rc_is_finished(coder->rc))
830
- ret = LZMA_DATA_ERROR;
831
-
832
- // Reset the range decoder so that it is ready to reinitialize
833
- // for a new LZMA2 chunk.
834
- rc_reset(coder->rc);
835
- }
836
-
837
- return ret;
838
- }
839
-
840
-
841
-
842
- static void
843
- lzma_decoder_uncompressed(lzma_coder *coder, lzma_vli uncompressed_size)
844
- {
845
- coder->uncompressed_size = uncompressed_size;
846
- }
847
-
848
- /*
849
- extern void
850
- lzma_lzma_decoder_uncompressed(void *coder_ptr, lzma_vli uncompressed_size)
851
- {
852
- // This is hack.
853
- (*(lzma_coder **)(coder))->uncompressed_size = uncompressed_size;
854
- }
855
- */
856
-
857
- static void
858
- lzma_decoder_reset(lzma_coder *coder, const void *opt)
859
- {
860
- const lzma_options_lzma *options = opt;
861
-
862
- // NOTE: We assume that lc/lp/pb are valid since they were
863
- // successfully decoded with lzma_lzma_decode_properties().
864
-
865
- // Calculate pos_mask. We don't need pos_bits as is for anything.
866
- coder->pos_mask = (1U << options->pb) - 1;
867
-
868
- // Initialize the literal decoder.
869
- literal_init(coder->literal, options->lc, options->lp);
870
-
871
- coder->literal_context_bits = options->lc;
872
- coder->literal_pos_mask = (1U << options->lp) - 1;
873
-
874
- // State
875
- coder->state = STATE_LIT_LIT;
876
- coder->rep0 = 0;
877
- coder->rep1 = 0;
878
- coder->rep2 = 0;
879
- coder->rep3 = 0;
880
- coder->pos_mask = (1U << options->pb) - 1;
881
-
882
- // Range decoder
883
- rc_reset(coder->rc);
884
-
885
- // Bit and bittree decoders
886
- for (uint32_t i = 0; i < STATES; ++i) {
887
- for (uint32_t j = 0; j <= coder->pos_mask; ++j) {
888
- bit_reset(coder->is_match[i][j]);
889
- bit_reset(coder->is_rep0_long[i][j]);
890
- }
891
-
892
- bit_reset(coder->is_rep[i]);
893
- bit_reset(coder->is_rep0[i]);
894
- bit_reset(coder->is_rep1[i]);
895
- bit_reset(coder->is_rep2[i]);
896
- }
897
-
898
- for (uint32_t i = 0; i < DIST_STATES; ++i)
899
- bittree_reset(coder->dist_slot[i], DIST_SLOT_BITS);
900
-
901
- for (uint32_t i = 0; i < FULL_DISTANCES - DIST_MODEL_END; ++i)
902
- bit_reset(coder->pos_special[i]);
903
-
904
- bittree_reset(coder->pos_align, ALIGN_BITS);
905
-
906
- // Len decoders (also bit/bittree)
907
- const uint32_t num_pos_states = 1U << options->pb;
908
- bit_reset(coder->match_len_decoder.choice);
909
- bit_reset(coder->match_len_decoder.choice2);
910
- bit_reset(coder->rep_len_decoder.choice);
911
- bit_reset(coder->rep_len_decoder.choice2);
912
-
913
- for (uint32_t pos_state = 0; pos_state < num_pos_states; ++pos_state) {
914
- bittree_reset(coder->match_len_decoder.low[pos_state],
915
- LEN_LOW_BITS);
916
- bittree_reset(coder->match_len_decoder.mid[pos_state],
917
- LEN_MID_BITS);
918
-
919
- bittree_reset(coder->rep_len_decoder.low[pos_state],
920
- LEN_LOW_BITS);
921
- bittree_reset(coder->rep_len_decoder.mid[pos_state],
922
- LEN_MID_BITS);
923
- }
924
-
925
- bittree_reset(coder->match_len_decoder.high, LEN_HIGH_BITS);
926
- bittree_reset(coder->rep_len_decoder.high, LEN_HIGH_BITS);
927
-
928
- coder->sequence = SEQ_IS_MATCH;
929
- coder->probs = NULL;
930
- coder->symbol = 0;
931
- coder->limit = 0;
932
- coder->offset = 0;
933
- coder->len = 0;
934
-
935
- return;
936
- }
937
-
938
-
939
- extern lzma_ret
940
- lzma_lzma_decoder_create(lzma_lz_decoder *lz, const lzma_allocator *allocator,
941
- const void *opt, lzma_lz_options *lz_options)
942
- {
943
- if (lz->coder == NULL) {
944
- lz->coder = lzma_alloc(sizeof(lzma_coder), allocator);
945
- if (lz->coder == NULL)
946
- return LZMA_MEM_ERROR;
947
-
948
- lz->code = &lzma_decode;
949
- lz->reset = &lzma_decoder_reset;
950
- lz->set_uncompressed = &lzma_decoder_uncompressed;
951
- }
952
-
953
- // All dictionary sizes are OK here. LZ decoder will take care of
954
- // the special cases.
955
- const lzma_options_lzma *options = opt;
956
- lz_options->dict_size = options->dict_size;
957
- lz_options->preset_dict = options->preset_dict;
958
- lz_options->preset_dict_size = options->preset_dict_size;
959
-
960
- return LZMA_OK;
961
- }
962
-
963
-
964
- /// Allocate and initialize LZMA decoder. This is used only via LZ
965
- /// initialization (lzma_lzma_decoder_init() passes function pointer to
966
- /// the LZ initialization).
967
- static lzma_ret
968
- lzma_decoder_init(lzma_lz_decoder *lz, const lzma_allocator *allocator,
969
- const void *options, lzma_lz_options *lz_options)
970
- {
971
- if (!is_lclppb_valid(options))
972
- return LZMA_PROG_ERROR;
973
-
974
- return_if_error(lzma_lzma_decoder_create(
975
- lz, allocator, options, lz_options));
976
-
977
- lzma_decoder_reset(lz->coder, options);
978
- lzma_decoder_uncompressed(lz->coder, LZMA_VLI_UNKNOWN);
979
-
980
- return LZMA_OK;
981
- }
982
-
983
-
984
- extern lzma_ret
985
- lzma_lzma_decoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
986
- const lzma_filter_info *filters)
987
- {
988
- // LZMA can only be the last filter in the chain. This is enforced
989
- // by the raw_decoder initialization.
990
- assert(filters[1].init == NULL);
991
-
992
- return lzma_lz_decoder_init(next, allocator, filters,
993
- &lzma_decoder_init);
994
- }
995
-
996
-
997
- extern bool
998
- lzma_lzma_lclppb_decode(lzma_options_lzma *options, uint8_t byte)
999
- {
1000
- if (byte > (4 * 5 + 4) * 9 + 8)
1001
- return true;
1002
-
1003
- // See the file format specification to understand this.
1004
- options->pb = byte / (9 * 5);
1005
- byte -= options->pb * 9 * 5;
1006
- options->lp = byte / 9;
1007
- options->lc = byte - options->lp * 9;
1008
-
1009
- return options->lc + options->lp > LZMA_LCLP_MAX;
1010
- }
1011
-
1012
-
1013
- extern uint64_t
1014
- lzma_lzma_decoder_memusage_nocheck(const void *options)
1015
- {
1016
- const lzma_options_lzma *const opt = options;
1017
- return sizeof(lzma_coder) + lzma_lz_decoder_memusage(opt->dict_size);
1018
- }
1019
-
1020
-
1021
- extern uint64_t
1022
- lzma_lzma_decoder_memusage(const void *options)
1023
- {
1024
- if (!is_lclppb_valid(options))
1025
- return UINT64_MAX;
1026
-
1027
- return lzma_lzma_decoder_memusage_nocheck(options);
1028
- }
1029
-
1030
-
1031
- extern lzma_ret
1032
- lzma_lzma_props_decode(void **options, const lzma_allocator *allocator,
1033
- const uint8_t *props, size_t props_size)
1034
- {
1035
- if (props_size != 5)
1036
- return LZMA_OPTIONS_ERROR;
1037
-
1038
- lzma_options_lzma *opt
1039
- = lzma_alloc(sizeof(lzma_options_lzma), allocator);
1040
- if (opt == NULL)
1041
- return LZMA_MEM_ERROR;
1042
-
1043
- if (lzma_lzma_lclppb_decode(opt, props[0]))
1044
- goto error;
1045
-
1046
- // All dictionary sizes are accepted, including zero. LZ decoder
1047
- // will automatically use a dictionary at least a few KiB even if
1048
- // a smaller dictionary is requested.
1049
- opt->dict_size = unaligned_read32le(props + 1);
1050
-
1051
- opt->preset_dict = NULL;
1052
- opt->preset_dict_size = 0;
1053
-
1054
- *options = opt;
1055
-
1056
- return LZMA_OK;
1057
-
1058
- error:
1059
- lzma_free(opt, allocator);
1060
- return LZMA_OPTIONS_ERROR;
1061
- }