node-liblzma 1.0.4 → 1.1.6

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 +655 -49
  4. package/lib/lzma.js +326 -319
  5. package/package.json +36 -24
  6. package/prebuilds/darwin-x64/node.napi.node +0 -0
  7. package/prebuilds/linux-x64/node.napi.node +0 -0
  8. package/prebuilds/win32-x64/node.napi.node +0 -0
  9. package/scripts/download_extract_deps.py +29 -0
  10. package/scripts/prebuildify.py +13 -0
  11. package/scripts/walk_sources.py +7 -0
  12. package/.npmignore +0 -1
  13. package/.travis.yml +0 -35
  14. package/build/Makefile +0 -329
  15. package/build/Release/.deps/Release/node-liblzma.node.d +0 -1
  16. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +0 -1
  17. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/module.o.d +0 -89
  18. package/build/Release/.deps/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o.d +0 -89
  19. package/build/Release/.deps/Release/obj.target/node-liblzma.node.d +0 -1
  20. package/build/Release/.deps/home/o2/dev/node-liblzma/build/node-liblzma.node.d +0 -1
  21. package/build/Release/node-liblzma.node +0 -0
  22. package/build/Release/obj.target/action_after_build.stamp +0 -0
  23. package/build/Release/obj.target/node-liblzma/src/bindings/module.o +0 -0
  24. package/build/Release/obj.target/node-liblzma/src/bindings/node-liblzma.o +0 -0
  25. package/build/Release/obj.target/node-liblzma.node +0 -0
  26. package/build/action_after_build.target.mk +0 -32
  27. package/build/binding.Makefile +0 -6
  28. package/build/config.gypi +0 -143
  29. package/build/node-liblzma.node +0 -0
  30. package/build/node-liblzma.target.mk +0 -144
  31. package/build.yml +0 -65
  32. package/deps/xz/ABOUT-NLS +0 -1327
  33. package/deps/xz/AUTHORS +0 -27
  34. package/deps/xz/COPYING +0 -65
  35. package/deps/xz/COPYING.GPLv2 +0 -339
  36. package/deps/xz/COPYING.GPLv3 +0 -674
  37. package/deps/xz/COPYING.LGPLv2.1 +0 -502
  38. package/deps/xz/ChangeLog +0 -14953
  39. package/deps/xz/Doxyfile +0 -1234
  40. package/deps/xz/Doxyfile.in +0 -1234
  41. package/deps/xz/INSTALL +0 -554
  42. package/deps/xz/INSTALL.generic +0 -365
  43. package/deps/xz/Makefile +0 -1067
  44. package/deps/xz/Makefile.am +0 -109
  45. package/deps/xz/Makefile.in +0 -1067
  46. package/deps/xz/NEWS +0 -505
  47. package/deps/xz/PACKAGERS +0 -231
  48. package/deps/xz/README +0 -308
  49. package/deps/xz/THANKS +0 -116
  50. package/deps/xz/TODO +0 -111
  51. package/deps/xz/aclocal.m4 +0 -1225
  52. package/deps/xz/autogen.sh +0 -22
  53. package/deps/xz/autom4te.cache/output.0 +0 -21751
  54. package/deps/xz/autom4te.cache/output.1 +0 -21751
  55. package/deps/xz/autom4te.cache/requests +0 -415
  56. package/deps/xz/autom4te.cache/traces.0 +0 -6996
  57. package/deps/xz/autom4te.cache/traces.1 +0 -1783
  58. package/deps/xz/build-aux/compile +0 -347
  59. package/deps/xz/build-aux/config.guess +0 -1558
  60. package/deps/xz/build-aux/config.rpath +0 -672
  61. package/deps/xz/build-aux/config.sub +0 -1791
  62. package/deps/xz/build-aux/depcomp +0 -791
  63. package/deps/xz/build-aux/install-sh +0 -527
  64. package/deps/xz/build-aux/ltmain.sh +0 -9661
  65. package/deps/xz/build-aux/manconv.sh +0 -58
  66. package/deps/xz/build-aux/missing +0 -215
  67. package/deps/xz/build-aux/version.sh +0 -24
  68. package/deps/xz/config.h +0 -487
  69. package/deps/xz/config.h.in +0 -486
  70. package/deps/xz/config.h.in~ +0 -485
  71. package/deps/xz/config.log +0 -5446
  72. package/deps/xz/config.status +0 -2587
  73. package/deps/xz/configure +0 -21751
  74. package/deps/xz/configure.ac +0 -842
  75. package/deps/xz/debug/.deps/crc32.Po +0 -1
  76. package/deps/xz/debug/.deps/full_flush.Po +0 -1
  77. package/deps/xz/debug/.deps/hex2bin.Po +0 -1
  78. package/deps/xz/debug/.deps/known_sizes.Po +0 -1
  79. package/deps/xz/debug/.deps/memusage.Po +0 -1
  80. package/deps/xz/debug/.deps/repeat.Po +0 -1
  81. package/deps/xz/debug/.deps/sync_flush.Po +0 -1
  82. package/deps/xz/debug/Makefile +0 -691
  83. package/deps/xz/debug/Makefile.am +0 -30
  84. package/deps/xz/debug/Makefile.in +0 -691
  85. package/deps/xz/debug/README +0 -17
  86. package/deps/xz/debug/crc32.c +0 -39
  87. package/deps/xz/debug/full_flush.c +0 -103
  88. package/deps/xz/debug/hex2bin.c +0 -53
  89. package/deps/xz/debug/known_sizes.c +0 -129
  90. package/deps/xz/debug/memusage.c +0 -51
  91. package/deps/xz/debug/repeat.c +0 -36
  92. package/deps/xz/debug/sync_flush.c +0 -125
  93. package/deps/xz/debug/translation.bash +0 -100
  94. package/deps/xz/doc/examples/00_README.txt +0 -31
  95. package/deps/xz/doc/examples/01_compress_easy.c +0 -297
  96. package/deps/xz/doc/examples/02_decompress.c +0 -287
  97. package/deps/xz/doc/examples/03_compress_custom.c +0 -193
  98. package/deps/xz/doc/examples/04_compress_easy_mt.c +0 -206
  99. package/deps/xz/doc/examples/Makefile +0 -24
  100. package/deps/xz/doc/examples_old/xz_pipe_comp.c +0 -127
  101. package/deps/xz/doc/examples_old/xz_pipe_decomp.c +0 -123
  102. package/deps/xz/doc/faq.txt +0 -224
  103. package/deps/xz/doc/history.txt +0 -150
  104. package/deps/xz/doc/lzma-file-format.txt +0 -166
  105. package/deps/xz/doc/man/pdf-a4/lzmainfo-a4.pdf +0 -0
  106. package/deps/xz/doc/man/pdf-a4/xz-a4.pdf +0 -0
  107. package/deps/xz/doc/man/pdf-a4/xzdec-a4.pdf +0 -0
  108. package/deps/xz/doc/man/pdf-a4/xzdiff-a4.pdf +0 -0
  109. package/deps/xz/doc/man/pdf-a4/xzgrep-a4.pdf +0 -0
  110. package/deps/xz/doc/man/pdf-a4/xzless-a4.pdf +0 -0
  111. package/deps/xz/doc/man/pdf-a4/xzmore-a4.pdf +0 -0
  112. package/deps/xz/doc/man/pdf-letter/lzmainfo-letter.pdf +0 -0
  113. package/deps/xz/doc/man/pdf-letter/xz-letter.pdf +0 -0
  114. package/deps/xz/doc/man/pdf-letter/xzdec-letter.pdf +0 -0
  115. package/deps/xz/doc/man/pdf-letter/xzdiff-letter.pdf +0 -0
  116. package/deps/xz/doc/man/pdf-letter/xzgrep-letter.pdf +0 -0
  117. package/deps/xz/doc/man/pdf-letter/xzless-letter.pdf +0 -0
  118. package/deps/xz/doc/man/pdf-letter/xzmore-letter.pdf +0 -0
  119. package/deps/xz/doc/man/txt/lzmainfo.txt +0 -40
  120. package/deps/xz/doc/man/txt/xz.txt +0 -1483
  121. package/deps/xz/doc/man/txt/xzdec.txt +0 -80
  122. package/deps/xz/doc/man/txt/xzdiff.txt +0 -36
  123. package/deps/xz/doc/man/txt/xzgrep.txt +0 -39
  124. package/deps/xz/doc/man/txt/xzless.txt +0 -39
  125. package/deps/xz/doc/man/txt/xzmore.txt +0 -34
  126. package/deps/xz/doc/xz-file-format.txt +0 -1150
  127. package/deps/xz/dos/INSTALL.txt +0 -79
  128. package/deps/xz/dos/Makefile +0 -147
  129. package/deps/xz/dos/README.txt +0 -123
  130. package/deps/xz/dos/config.h +0 -130
  131. package/deps/xz/extra/7z2lzma/7z2lzma.bash +0 -115
  132. package/deps/xz/extra/scanlzma/scanlzma.c +0 -84
  133. package/deps/xz/include/lzma/base.h +0 -654
  134. package/deps/xz/include/lzma/bcj.h +0 -90
  135. package/deps/xz/include/lzma/block.h +0 -581
  136. package/deps/xz/include/lzma/check.h +0 -150
  137. package/deps/xz/include/lzma/container.h +0 -619
  138. package/deps/xz/include/lzma/delta.h +0 -77
  139. package/deps/xz/include/lzma/filter.h +0 -425
  140. package/deps/xz/include/lzma/hardware.h +0 -64
  141. package/deps/xz/include/lzma/index.h +0 -682
  142. package/deps/xz/include/lzma/index_hash.h +0 -107
  143. package/deps/xz/include/lzma/lzma12.h +0 -420
  144. package/deps/xz/include/lzma/stream_flags.h +0 -223
  145. package/deps/xz/include/lzma/version.h +0 -121
  146. package/deps/xz/include/lzma/vli.h +0 -166
  147. package/deps/xz/include/lzma.h +0 -321
  148. package/deps/xz/lib/.deps/getopt.Po +0 -1
  149. package/deps/xz/lib/.deps/getopt1.Po +0 -1
  150. package/deps/xz/lib/Makefile +0 -566
  151. package/deps/xz/lib/Makefile.am +0 -32
  152. package/deps/xz/lib/Makefile.in +0 -566
  153. package/deps/xz/lib/getopt.c +0 -1197
  154. package/deps/xz/lib/getopt.in.h +0 -226
  155. package/deps/xz/lib/getopt1.c +0 -171
  156. package/deps/xz/lib/getopt_int.h +0 -131
  157. package/deps/xz/lib/liblzma.a +0 -0
  158. package/deps/xz/lib/liblzma.la +0 -41
  159. package/deps/xz/lib/pkgconfig/liblzma.pc +0 -19
  160. package/deps/xz/libtool +0 -10221
  161. package/deps/xz/m4/ax_pthread.m4 +0 -332
  162. package/deps/xz/m4/codeset.m4 +0 -21
  163. package/deps/xz/m4/fcntl-o.m4 +0 -81
  164. package/deps/xz/m4/getopt.m4 +0 -71
  165. package/deps/xz/m4/gettext.m4 +0 -383
  166. package/deps/xz/m4/glibc2.m4 +0 -30
  167. package/deps/xz/m4/glibc21.m4 +0 -30
  168. package/deps/xz/m4/iconv.m4 +0 -199
  169. package/deps/xz/m4/intdiv0.m4 +0 -84
  170. package/deps/xz/m4/intl.m4 +0 -294
  171. package/deps/xz/m4/intldir.m4 +0 -19
  172. package/deps/xz/m4/intlmacosx.m4 +0 -51
  173. package/deps/xz/m4/intmax.m4 +0 -33
  174. package/deps/xz/m4/inttypes-pri.m4 +0 -36
  175. package/deps/xz/m4/inttypes_h.m4 +0 -26
  176. package/deps/xz/m4/lcmessage.m4 +0 -31
  177. package/deps/xz/m4/lib-ld.m4 +0 -110
  178. package/deps/xz/m4/lib-link.m4 +0 -774
  179. package/deps/xz/m4/lib-prefix.m4 +0 -224
  180. package/deps/xz/m4/libtool.m4 +0 -7997
  181. package/deps/xz/m4/lock.m4 +0 -37
  182. package/deps/xz/m4/longlong.m4 +0 -106
  183. package/deps/xz/m4/ltoptions.m4 +0 -384
  184. package/deps/xz/m4/ltsugar.m4 +0 -123
  185. package/deps/xz/m4/ltversion.m4 +0 -23
  186. package/deps/xz/m4/lt~obsolete.m4 +0 -98
  187. package/deps/xz/m4/nls.m4 +0 -32
  188. package/deps/xz/m4/po.m4 +0 -449
  189. package/deps/xz/m4/posix-shell.m4 +0 -63
  190. package/deps/xz/m4/printf-posix.m4 +0 -45
  191. package/deps/xz/m4/progtest.m4 +0 -92
  192. package/deps/xz/m4/size_max.m4 +0 -75
  193. package/deps/xz/m4/stdint_h.m4 +0 -26
  194. package/deps/xz/m4/threadlib.m4 +0 -347
  195. package/deps/xz/m4/tuklib_common.m4 +0 -22
  196. package/deps/xz/m4/tuklib_cpucores.m4 +0 -148
  197. package/deps/xz/m4/tuklib_integer.m4 +0 -74
  198. package/deps/xz/m4/tuklib_mbstr.m4 +0 -30
  199. package/deps/xz/m4/tuklib_physmem.m4 +0 -212
  200. package/deps/xz/m4/tuklib_progname.m4 +0 -25
  201. package/deps/xz/m4/uintmax_t.m4 +0 -30
  202. package/deps/xz/m4/visibility.m4 +0 -74
  203. package/deps/xz/m4/wchar_t.m4 +0 -20
  204. package/deps/xz/m4/wint_t.m4 +0 -28
  205. package/deps/xz/m4/xsize.m4 +0 -13
  206. package/deps/xz/macosx/build.sh +0 -113
  207. package/deps/xz/po/LINGUAS +0 -6
  208. package/deps/xz/po/Makefile +0 -549
  209. package/deps/xz/po/Makefile.in +0 -444
  210. package/deps/xz/po/Makefile.in.in +0 -444
  211. package/deps/xz/po/Makevars +0 -46
  212. package/deps/xz/po/Makevars.template +0 -41
  213. package/deps/xz/po/POTFILES +0 -12
  214. package/deps/xz/po/POTFILES.in +0 -13
  215. package/deps/xz/po/Rules-quot +0 -47
  216. package/deps/xz/po/boldquot.sed +0 -10
  217. package/deps/xz/po/cs.gmo +0 -0
  218. package/deps/xz/po/cs.po +0 -989
  219. package/deps/xz/po/de.gmo +0 -0
  220. package/deps/xz/po/de.po +0 -990
  221. package/deps/xz/po/en@boldquot.header +0 -25
  222. package/deps/xz/po/en@quot.header +0 -22
  223. package/deps/xz/po/fr.gmo +0 -0
  224. package/deps/xz/po/fr.po +0 -974
  225. package/deps/xz/po/insert-header.sin +0 -23
  226. package/deps/xz/po/it.gmo +0 -0
  227. package/deps/xz/po/it.po +0 -975
  228. package/deps/xz/po/pl.gmo +0 -0
  229. package/deps/xz/po/pl.po +0 -964
  230. package/deps/xz/po/quot.sed +0 -6
  231. package/deps/xz/po/remove-potcdate.sin +0 -19
  232. package/deps/xz/po/stamp-po +0 -1
  233. package/deps/xz/po/vi.gmo +0 -0
  234. package/deps/xz/po/vi.po +0 -970
  235. package/deps/xz/po/xz.pot +0 -854
  236. package/deps/xz/share/doc/xz/AUTHORS +0 -27
  237. package/deps/xz/share/doc/xz/COPYING +0 -65
  238. package/deps/xz/share/doc/xz/COPYING.GPLv2 +0 -339
  239. package/deps/xz/share/doc/xz/NEWS +0 -505
  240. package/deps/xz/share/doc/xz/README +0 -308
  241. package/deps/xz/share/doc/xz/THANKS +0 -116
  242. package/deps/xz/share/doc/xz/TODO +0 -111
  243. package/deps/xz/share/doc/xz/examples/00_README.txt +0 -31
  244. package/deps/xz/share/doc/xz/examples/01_compress_easy.c +0 -297
  245. package/deps/xz/share/doc/xz/examples/02_decompress.c +0 -287
  246. package/deps/xz/share/doc/xz/examples/03_compress_custom.c +0 -193
  247. package/deps/xz/share/doc/xz/examples/04_compress_easy_mt.c +0 -206
  248. package/deps/xz/share/doc/xz/examples/Makefile +0 -24
  249. package/deps/xz/share/doc/xz/examples_old/xz_pipe_comp.c +0 -127
  250. package/deps/xz/share/doc/xz/examples_old/xz_pipe_decomp.c +0 -123
  251. package/deps/xz/share/doc/xz/faq.txt +0 -224
  252. package/deps/xz/share/doc/xz/history.txt +0 -150
  253. package/deps/xz/share/doc/xz/lzma-file-format.txt +0 -166
  254. package/deps/xz/share/doc/xz/xz-file-format.txt +0 -1150
  255. package/deps/xz/share/locale/cs/LC_MESSAGES/xz.mo +0 -0
  256. package/deps/xz/share/locale/de/LC_MESSAGES/xz.mo +0 -0
  257. package/deps/xz/share/locale/fr/LC_MESSAGES/xz.mo +0 -0
  258. package/deps/xz/share/locale/it/LC_MESSAGES/xz.mo +0 -0
  259. package/deps/xz/share/locale/pl/LC_MESSAGES/xz.mo +0 -0
  260. package/deps/xz/share/locale/vi/LC_MESSAGES/xz.mo +0 -0
  261. package/deps/xz/src/Makefile +0 -674
  262. package/deps/xz/src/Makefile.am +0 -42
  263. package/deps/xz/src/Makefile.in +0 -674
  264. package/deps/xz/src/common/common_w32res.rc +0 -50
  265. package/deps/xz/src/common/mythread.h +0 -521
  266. package/deps/xz/src/common/sysdefs.h +0 -202
  267. package/deps/xz/src/common/tuklib_common.h +0 -71
  268. package/deps/xz/src/common/tuklib_config.h +0 -7
  269. package/deps/xz/src/common/tuklib_cpucores.c +0 -91
  270. package/deps/xz/src/common/tuklib_cpucores.h +0 -23
  271. package/deps/xz/src/common/tuklib_exit.c +0 -57
  272. package/deps/xz/src/common/tuklib_exit.h +0 -25
  273. package/deps/xz/src/common/tuklib_gettext.h +0 -44
  274. package/deps/xz/src/common/tuklib_integer.h +0 -523
  275. package/deps/xz/src/common/tuklib_mbstr.h +0 -66
  276. package/deps/xz/src/common/tuklib_mbstr_fw.c +0 -31
  277. package/deps/xz/src/common/tuklib_mbstr_width.c +0 -64
  278. package/deps/xz/src/common/tuklib_open_stdxxx.c +0 -57
  279. package/deps/xz/src/common/tuklib_open_stdxxx.h +0 -23
  280. package/deps/xz/src/common/tuklib_physmem.c +0 -215
  281. package/deps/xz/src/common/tuklib_physmem.h +0 -28
  282. package/deps/xz/src/common/tuklib_progname.c +0 -50
  283. package/deps/xz/src/common/tuklib_progname.h +0 -32
  284. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_decoder.Plo +0 -269
  285. package/deps/xz/src/liblzma/.deps/liblzma_la-alone_encoder.Plo +0 -263
  286. package/deps/xz/src/liblzma/.deps/liblzma_la-arm.Plo +0 -263
  287. package/deps/xz/src/liblzma/.deps/liblzma_la-armthumb.Plo +0 -263
  288. package/deps/xz/src/liblzma/.deps/liblzma_la-auto_decoder.Plo +0 -263
  289. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_decoder.Plo +0 -261
  290. package/deps/xz/src/liblzma/.deps/liblzma_la-block_buffer_encoder.Plo +0 -273
  291. package/deps/xz/src/liblzma/.deps/liblzma_la-block_decoder.Plo +0 -268
  292. package/deps/xz/src/liblzma/.deps/liblzma_la-block_encoder.Plo +0 -268
  293. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_decoder.Plo +0 -263
  294. package/deps/xz/src/liblzma/.deps/liblzma_la-block_header_encoder.Plo +0 -263
  295. package/deps/xz/src/liblzma/.deps/liblzma_la-block_util.Plo +0 -260
  296. package/deps/xz/src/liblzma/.deps/liblzma_la-check.Plo +0 -261
  297. package/deps/xz/src/liblzma/.deps/liblzma_la-common.Plo +0 -258
  298. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_fast.Plo +0 -263
  299. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_small.Plo +0 -1
  300. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_table.Plo +0 -260
  301. package/deps/xz/src/liblzma/.deps/liblzma_la-crc32_x86.Plo +0 -1
  302. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_fast.Plo +0 -263
  303. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_small.Plo +0 -1
  304. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_table.Plo +0 -260
  305. package/deps/xz/src/liblzma/.deps/liblzma_la-crc64_x86.Plo +0 -1
  306. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_common.Plo +0 -263
  307. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_decoder.Plo +0 -265
  308. package/deps/xz/src/liblzma/.deps/liblzma_la-delta_encoder.Plo +0 -265
  309. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_buffer_encoder.Plo +0 -261
  310. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_decoder_memusage.Plo +0 -261
  311. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder.Plo +0 -261
  312. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_encoder_memusage.Plo +0 -261
  313. package/deps/xz/src/liblzma/.deps/liblzma_la-easy_preset.Plo +0 -261
  314. package/deps/xz/src/liblzma/.deps/liblzma_la-fastpos_table.Plo +0 -261
  315. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_decoder.Plo +0 -261
  316. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_buffer_encoder.Plo +0 -261
  317. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_common.Plo +0 -261
  318. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_decoder.Plo +0 -283
  319. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_encoder.Plo +0 -283
  320. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_decoder.Plo +0 -261
  321. package/deps/xz/src/liblzma/.deps/liblzma_la-filter_flags_encoder.Plo +0 -261
  322. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_cputhreads.Plo +0 -260
  323. package/deps/xz/src/liblzma/.deps/liblzma_la-hardware_physmem.Plo +0 -260
  324. package/deps/xz/src/liblzma/.deps/liblzma_la-ia64.Plo +0 -263
  325. package/deps/xz/src/liblzma/.deps/liblzma_la-index.Plo +0 -262
  326. package/deps/xz/src/liblzma/.deps/liblzma_la-index_decoder.Plo +0 -266
  327. package/deps/xz/src/liblzma/.deps/liblzma_la-index_encoder.Plo +0 -268
  328. package/deps/xz/src/liblzma/.deps/liblzma_la-index_hash.Plo +0 -265
  329. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_decoder.Plo +0 -261
  330. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder.Plo +0 -286
  331. package/deps/xz/src/liblzma/.deps/liblzma_la-lz_encoder_mf.Plo +0 -286
  332. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_decoder.Plo +0 -266
  333. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma2_encoder.Plo +0 -268
  334. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_decoder.Plo +0 -274
  335. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder.Plo +0 -285
  336. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_fast.Plo +0 -300
  337. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_optimum_normal.Plo +0 -303
  338. package/deps/xz/src/liblzma/.deps/liblzma_la-lzma_encoder_presets.Plo +0 -259
  339. package/deps/xz/src/liblzma/.deps/liblzma_la-outqueue.Plo +0 -260
  340. package/deps/xz/src/liblzma/.deps/liblzma_la-powerpc.Plo +0 -263
  341. package/deps/xz/src/liblzma/.deps/liblzma_la-price_table.Plo +0 -266
  342. package/deps/xz/src/liblzma/.deps/liblzma_la-sha256.Plo +0 -261
  343. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_coder.Plo +0 -263
  344. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_decoder.Plo +0 -263
  345. package/deps/xz/src/liblzma/.deps/liblzma_la-simple_encoder.Plo +0 -263
  346. package/deps/xz/src/liblzma/.deps/liblzma_la-sparc.Plo +0 -263
  347. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_decoder.Plo +0 -261
  348. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_buffer_encoder.Plo +0 -261
  349. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_decoder.Plo +0 -263
  350. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder.Plo +0 -263
  351. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_encoder_mt.Plo +0 -273
  352. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_common.Plo +0 -261
  353. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_decoder.Plo +0 -261
  354. package/deps/xz/src/liblzma/.deps/liblzma_la-stream_flags_encoder.Plo +0 -261
  355. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_cpucores.Plo +0 -170
  356. package/deps/xz/src/liblzma/.deps/liblzma_la-tuklib_physmem.Plo +0 -170
  357. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_decoder.Plo +0 -258
  358. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_encoder.Plo +0 -258
  359. package/deps/xz/src/liblzma/.deps/liblzma_la-vli_size.Plo +0 -258
  360. package/deps/xz/src/liblzma/.deps/liblzma_la-x86.Plo +0 -263
  361. package/deps/xz/src/liblzma/.libs/liblzma.a +0 -0
  362. package/deps/xz/src/liblzma/.libs/liblzma.lai +0 -41
  363. package/deps/xz/src/liblzma/Makefile +0 -1858
  364. package/deps/xz/src/liblzma/Makefile.am +0 -122
  365. package/deps/xz/src/liblzma/Makefile.in +0 -1858
  366. package/deps/xz/src/liblzma/api/Makefile +0 -608
  367. package/deps/xz/src/liblzma/api/Makefile.am +0 -23
  368. package/deps/xz/src/liblzma/api/Makefile.in +0 -608
  369. package/deps/xz/src/liblzma/api/lzma/base.h +0 -654
  370. package/deps/xz/src/liblzma/api/lzma/bcj.h +0 -90
  371. package/deps/xz/src/liblzma/api/lzma/block.h +0 -581
  372. package/deps/xz/src/liblzma/api/lzma/check.h +0 -150
  373. package/deps/xz/src/liblzma/api/lzma/container.h +0 -619
  374. package/deps/xz/src/liblzma/api/lzma/delta.h +0 -77
  375. package/deps/xz/src/liblzma/api/lzma/filter.h +0 -425
  376. package/deps/xz/src/liblzma/api/lzma/hardware.h +0 -64
  377. package/deps/xz/src/liblzma/api/lzma/index.h +0 -682
  378. package/deps/xz/src/liblzma/api/lzma/index_hash.h +0 -107
  379. package/deps/xz/src/liblzma/api/lzma/lzma12.h +0 -420
  380. package/deps/xz/src/liblzma/api/lzma/stream_flags.h +0 -223
  381. package/deps/xz/src/liblzma/api/lzma/version.h +0 -121
  382. package/deps/xz/src/liblzma/api/lzma/vli.h +0 -166
  383. package/deps/xz/src/liblzma/api/lzma.h +0 -321
  384. package/deps/xz/src/liblzma/check/Makefile.inc +0 -53
  385. package/deps/xz/src/liblzma/check/check.c +0 -174
  386. package/deps/xz/src/liblzma/check/check.h +0 -162
  387. package/deps/xz/src/liblzma/check/crc32_fast.c +0 -82
  388. package/deps/xz/src/liblzma/check/crc32_small.c +0 -61
  389. package/deps/xz/src/liblzma/check/crc32_table.c +0 -19
  390. package/deps/xz/src/liblzma/check/crc32_table_be.h +0 -525
  391. package/deps/xz/src/liblzma/check/crc32_table_le.h +0 -525
  392. package/deps/xz/src/liblzma/check/crc32_tablegen.c +0 -117
  393. package/deps/xz/src/liblzma/check/crc32_x86.S +0 -304
  394. package/deps/xz/src/liblzma/check/crc64_fast.c +0 -72
  395. package/deps/xz/src/liblzma/check/crc64_small.c +0 -53
  396. package/deps/xz/src/liblzma/check/crc64_table.c +0 -19
  397. package/deps/xz/src/liblzma/check/crc64_table_be.h +0 -521
  398. package/deps/xz/src/liblzma/check/crc64_table_le.h +0 -521
  399. package/deps/xz/src/liblzma/check/crc64_tablegen.c +0 -88
  400. package/deps/xz/src/liblzma/check/crc64_x86.S +0 -287
  401. package/deps/xz/src/liblzma/check/crc_macros.h +0 -30
  402. package/deps/xz/src/liblzma/check/sha256.c +0 -196
  403. package/deps/xz/src/liblzma/common/Makefile.inc +0 -76
  404. package/deps/xz/src/liblzma/common/alone_decoder.c +0 -238
  405. package/deps/xz/src/liblzma/common/alone_decoder.h +0 -23
  406. package/deps/xz/src/liblzma/common/alone_encoder.c +0 -157
  407. package/deps/xz/src/liblzma/common/auto_decoder.c +0 -186
  408. package/deps/xz/src/liblzma/common/block_buffer_decoder.c +0 -80
  409. package/deps/xz/src/liblzma/common/block_buffer_encoder.c +0 -337
  410. package/deps/xz/src/liblzma/common/block_buffer_encoder.h +0 -24
  411. package/deps/xz/src/liblzma/common/block_decoder.c +0 -252
  412. package/deps/xz/src/liblzma/common/block_decoder.h +0 -22
  413. package/deps/xz/src/liblzma/common/block_encoder.c +0 -217
  414. package/deps/xz/src/liblzma/common/block_encoder.h +0 -47
  415. package/deps/xz/src/liblzma/common/block_header_decoder.c +0 -124
  416. package/deps/xz/src/liblzma/common/block_header_encoder.c +0 -132
  417. package/deps/xz/src/liblzma/common/block_util.c +0 -90
  418. package/deps/xz/src/liblzma/common/common.c +0 -443
  419. package/deps/xz/src/liblzma/common/common.h +0 -318
  420. package/deps/xz/src/liblzma/common/easy_buffer_encoder.c +0 -27
  421. package/deps/xz/src/liblzma/common/easy_decoder_memusage.c +0 -24
  422. package/deps/xz/src/liblzma/common/easy_encoder.c +0 -24
  423. package/deps/xz/src/liblzma/common/easy_encoder_memusage.c +0 -24
  424. package/deps/xz/src/liblzma/common/easy_preset.c +0 -27
  425. package/deps/xz/src/liblzma/common/easy_preset.h +0 -32
  426. package/deps/xz/src/liblzma/common/filter_buffer_decoder.c +0 -88
  427. package/deps/xz/src/liblzma/common/filter_buffer_encoder.c +0 -55
  428. package/deps/xz/src/liblzma/common/filter_common.c +0 -337
  429. package/deps/xz/src/liblzma/common/filter_common.h +0 -48
  430. package/deps/xz/src/liblzma/common/filter_decoder.c +0 -184
  431. package/deps/xz/src/liblzma/common/filter_decoder.h +0 -23
  432. package/deps/xz/src/liblzma/common/filter_encoder.c +0 -286
  433. package/deps/xz/src/liblzma/common/filter_encoder.h +0 -27
  434. package/deps/xz/src/liblzma/common/filter_flags_decoder.c +0 -46
  435. package/deps/xz/src/liblzma/common/filter_flags_encoder.c +0 -56
  436. package/deps/xz/src/liblzma/common/hardware_cputhreads.c +0 -22
  437. package/deps/xz/src/liblzma/common/hardware_physmem.c +0 -25
  438. package/deps/xz/src/liblzma/common/index.c +0 -1246
  439. package/deps/xz/src/liblzma/common/index.h +0 -73
  440. package/deps/xz/src/liblzma/common/index_decoder.c +0 -345
  441. package/deps/xz/src/liblzma/common/index_encoder.c +0 -254
  442. package/deps/xz/src/liblzma/common/index_encoder.h +0 -23
  443. package/deps/xz/src/liblzma/common/index_hash.c +0 -334
  444. package/deps/xz/src/liblzma/common/memcmplen.h +0 -175
  445. package/deps/xz/src/liblzma/common/outqueue.c +0 -184
  446. package/deps/xz/src/liblzma/common/outqueue.h +0 -156
  447. package/deps/xz/src/liblzma/common/stream_buffer_decoder.c +0 -91
  448. package/deps/xz/src/liblzma/common/stream_buffer_encoder.c +0 -141
  449. package/deps/xz/src/liblzma/common/stream_decoder.c +0 -462
  450. package/deps/xz/src/liblzma/common/stream_decoder.h +0 -22
  451. package/deps/xz/src/liblzma/common/stream_encoder.c +0 -332
  452. package/deps/xz/src/liblzma/common/stream_encoder_mt.c +0 -1131
  453. package/deps/xz/src/liblzma/common/stream_flags_common.c +0 -47
  454. package/deps/xz/src/liblzma/common/stream_flags_common.h +0 -33
  455. package/deps/xz/src/liblzma/common/stream_flags_decoder.c +0 -82
  456. package/deps/xz/src/liblzma/common/stream_flags_encoder.c +0 -86
  457. package/deps/xz/src/liblzma/common/vli_decoder.c +0 -86
  458. package/deps/xz/src/liblzma/common/vli_encoder.c +0 -69
  459. package/deps/xz/src/liblzma/common/vli_size.c +0 -30
  460. package/deps/xz/src/liblzma/delta/Makefile.inc +0 -23
  461. package/deps/xz/src/liblzma/delta/delta_common.c +0 -70
  462. package/deps/xz/src/liblzma/delta/delta_common.h +0 -20
  463. package/deps/xz/src/liblzma/delta/delta_decoder.c +0 -76
  464. package/deps/xz/src/liblzma/delta/delta_decoder.h +0 -26
  465. package/deps/xz/src/liblzma/delta/delta_encoder.c +0 -121
  466. package/deps/xz/src/liblzma/delta/delta_encoder.h +0 -24
  467. package/deps/xz/src/liblzma/delta/delta_private.h +0 -37
  468. package/deps/xz/src/liblzma/liblzma.la +0 -41
  469. package/deps/xz/src/liblzma/liblzma.map +0 -108
  470. package/deps/xz/src/liblzma/liblzma.pc +0 -19
  471. package/deps/xz/src/liblzma/liblzma.pc.in +0 -19
  472. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.lo +0 -12
  473. package/deps/xz/src/liblzma/liblzma_la-alone_decoder.o +0 -0
  474. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.lo +0 -12
  475. package/deps/xz/src/liblzma/liblzma_la-alone_encoder.o +0 -0
  476. package/deps/xz/src/liblzma/liblzma_la-arm.lo +0 -12
  477. package/deps/xz/src/liblzma/liblzma_la-arm.o +0 -0
  478. package/deps/xz/src/liblzma/liblzma_la-armthumb.lo +0 -12
  479. package/deps/xz/src/liblzma/liblzma_la-armthumb.o +0 -0
  480. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.lo +0 -12
  481. package/deps/xz/src/liblzma/liblzma_la-auto_decoder.o +0 -0
  482. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.lo +0 -12
  483. package/deps/xz/src/liblzma/liblzma_la-block_buffer_decoder.o +0 -0
  484. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.lo +0 -12
  485. package/deps/xz/src/liblzma/liblzma_la-block_buffer_encoder.o +0 -0
  486. package/deps/xz/src/liblzma/liblzma_la-block_decoder.lo +0 -12
  487. package/deps/xz/src/liblzma/liblzma_la-block_decoder.o +0 -0
  488. package/deps/xz/src/liblzma/liblzma_la-block_encoder.lo +0 -12
  489. package/deps/xz/src/liblzma/liblzma_la-block_encoder.o +0 -0
  490. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.lo +0 -12
  491. package/deps/xz/src/liblzma/liblzma_la-block_header_decoder.o +0 -0
  492. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.lo +0 -12
  493. package/deps/xz/src/liblzma/liblzma_la-block_header_encoder.o +0 -0
  494. package/deps/xz/src/liblzma/liblzma_la-block_util.lo +0 -12
  495. package/deps/xz/src/liblzma/liblzma_la-block_util.o +0 -0
  496. package/deps/xz/src/liblzma/liblzma_la-check.lo +0 -12
  497. package/deps/xz/src/liblzma/liblzma_la-check.o +0 -0
  498. package/deps/xz/src/liblzma/liblzma_la-common.lo +0 -12
  499. package/deps/xz/src/liblzma/liblzma_la-common.o +0 -0
  500. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.lo +0 -12
  501. package/deps/xz/src/liblzma/liblzma_la-crc32_fast.o +0 -0
  502. package/deps/xz/src/liblzma/liblzma_la-crc32_table.lo +0 -12
  503. package/deps/xz/src/liblzma/liblzma_la-crc32_table.o +0 -0
  504. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.lo +0 -12
  505. package/deps/xz/src/liblzma/liblzma_la-crc64_fast.o +0 -0
  506. package/deps/xz/src/liblzma/liblzma_la-crc64_table.lo +0 -12
  507. package/deps/xz/src/liblzma/liblzma_la-crc64_table.o +0 -0
  508. package/deps/xz/src/liblzma/liblzma_la-delta_common.lo +0 -12
  509. package/deps/xz/src/liblzma/liblzma_la-delta_common.o +0 -0
  510. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.lo +0 -12
  511. package/deps/xz/src/liblzma/liblzma_la-delta_decoder.o +0 -0
  512. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.lo +0 -12
  513. package/deps/xz/src/liblzma/liblzma_la-delta_encoder.o +0 -0
  514. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.lo +0 -12
  515. package/deps/xz/src/liblzma/liblzma_la-easy_buffer_encoder.o +0 -0
  516. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.lo +0 -12
  517. package/deps/xz/src/liblzma/liblzma_la-easy_decoder_memusage.o +0 -0
  518. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.lo +0 -12
  519. package/deps/xz/src/liblzma/liblzma_la-easy_encoder.o +0 -0
  520. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.lo +0 -12
  521. package/deps/xz/src/liblzma/liblzma_la-easy_encoder_memusage.o +0 -0
  522. package/deps/xz/src/liblzma/liblzma_la-easy_preset.lo +0 -12
  523. package/deps/xz/src/liblzma/liblzma_la-easy_preset.o +0 -0
  524. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.lo +0 -12
  525. package/deps/xz/src/liblzma/liblzma_la-fastpos_table.o +0 -0
  526. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.lo +0 -12
  527. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_decoder.o +0 -0
  528. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.lo +0 -12
  529. package/deps/xz/src/liblzma/liblzma_la-filter_buffer_encoder.o +0 -0
  530. package/deps/xz/src/liblzma/liblzma_la-filter_common.lo +0 -12
  531. package/deps/xz/src/liblzma/liblzma_la-filter_common.o +0 -0
  532. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.lo +0 -12
  533. package/deps/xz/src/liblzma/liblzma_la-filter_decoder.o +0 -0
  534. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.lo +0 -12
  535. package/deps/xz/src/liblzma/liblzma_la-filter_encoder.o +0 -0
  536. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.lo +0 -12
  537. package/deps/xz/src/liblzma/liblzma_la-filter_flags_decoder.o +0 -0
  538. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.lo +0 -12
  539. package/deps/xz/src/liblzma/liblzma_la-filter_flags_encoder.o +0 -0
  540. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.lo +0 -12
  541. package/deps/xz/src/liblzma/liblzma_la-hardware_cputhreads.o +0 -0
  542. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.lo +0 -12
  543. package/deps/xz/src/liblzma/liblzma_la-hardware_physmem.o +0 -0
  544. package/deps/xz/src/liblzma/liblzma_la-ia64.lo +0 -12
  545. package/deps/xz/src/liblzma/liblzma_la-ia64.o +0 -0
  546. package/deps/xz/src/liblzma/liblzma_la-index.lo +0 -12
  547. package/deps/xz/src/liblzma/liblzma_la-index.o +0 -0
  548. package/deps/xz/src/liblzma/liblzma_la-index_decoder.lo +0 -12
  549. package/deps/xz/src/liblzma/liblzma_la-index_decoder.o +0 -0
  550. package/deps/xz/src/liblzma/liblzma_la-index_encoder.lo +0 -12
  551. package/deps/xz/src/liblzma/liblzma_la-index_encoder.o +0 -0
  552. package/deps/xz/src/liblzma/liblzma_la-index_hash.lo +0 -12
  553. package/deps/xz/src/liblzma/liblzma_la-index_hash.o +0 -0
  554. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.lo +0 -12
  555. package/deps/xz/src/liblzma/liblzma_la-lz_decoder.o +0 -0
  556. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.lo +0 -12
  557. package/deps/xz/src/liblzma/liblzma_la-lz_encoder.o +0 -0
  558. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.lo +0 -12
  559. package/deps/xz/src/liblzma/liblzma_la-lz_encoder_mf.o +0 -0
  560. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.lo +0 -12
  561. package/deps/xz/src/liblzma/liblzma_la-lzma2_decoder.o +0 -0
  562. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.lo +0 -12
  563. package/deps/xz/src/liblzma/liblzma_la-lzma2_encoder.o +0 -0
  564. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.lo +0 -12
  565. package/deps/xz/src/liblzma/liblzma_la-lzma_decoder.o +0 -0
  566. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.lo +0 -12
  567. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder.o +0 -0
  568. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.lo +0 -12
  569. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_fast.o +0 -0
  570. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.lo +0 -12
  571. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_optimum_normal.o +0 -0
  572. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.lo +0 -12
  573. package/deps/xz/src/liblzma/liblzma_la-lzma_encoder_presets.o +0 -0
  574. package/deps/xz/src/liblzma/liblzma_la-outqueue.lo +0 -12
  575. package/deps/xz/src/liblzma/liblzma_la-outqueue.o +0 -0
  576. package/deps/xz/src/liblzma/liblzma_la-powerpc.lo +0 -12
  577. package/deps/xz/src/liblzma/liblzma_la-powerpc.o +0 -0
  578. package/deps/xz/src/liblzma/liblzma_la-price_table.lo +0 -12
  579. package/deps/xz/src/liblzma/liblzma_la-price_table.o +0 -0
  580. package/deps/xz/src/liblzma/liblzma_la-sha256.lo +0 -12
  581. package/deps/xz/src/liblzma/liblzma_la-sha256.o +0 -0
  582. package/deps/xz/src/liblzma/liblzma_la-simple_coder.lo +0 -12
  583. package/deps/xz/src/liblzma/liblzma_la-simple_coder.o +0 -0
  584. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.lo +0 -12
  585. package/deps/xz/src/liblzma/liblzma_la-simple_decoder.o +0 -0
  586. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.lo +0 -12
  587. package/deps/xz/src/liblzma/liblzma_la-simple_encoder.o +0 -0
  588. package/deps/xz/src/liblzma/liblzma_la-sparc.lo +0 -12
  589. package/deps/xz/src/liblzma/liblzma_la-sparc.o +0 -0
  590. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.lo +0 -12
  591. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_decoder.o +0 -0
  592. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.lo +0 -12
  593. package/deps/xz/src/liblzma/liblzma_la-stream_buffer_encoder.o +0 -0
  594. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.lo +0 -12
  595. package/deps/xz/src/liblzma/liblzma_la-stream_decoder.o +0 -0
  596. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.lo +0 -12
  597. package/deps/xz/src/liblzma/liblzma_la-stream_encoder.o +0 -0
  598. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.lo +0 -12
  599. package/deps/xz/src/liblzma/liblzma_la-stream_encoder_mt.o +0 -0
  600. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.lo +0 -12
  601. package/deps/xz/src/liblzma/liblzma_la-stream_flags_common.o +0 -0
  602. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.lo +0 -12
  603. package/deps/xz/src/liblzma/liblzma_la-stream_flags_decoder.o +0 -0
  604. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.lo +0 -12
  605. package/deps/xz/src/liblzma/liblzma_la-stream_flags_encoder.o +0 -0
  606. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.lo +0 -12
  607. package/deps/xz/src/liblzma/liblzma_la-tuklib_cpucores.o +0 -0
  608. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.lo +0 -12
  609. package/deps/xz/src/liblzma/liblzma_la-tuklib_physmem.o +0 -0
  610. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.lo +0 -12
  611. package/deps/xz/src/liblzma/liblzma_la-vli_decoder.o +0 -0
  612. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.lo +0 -12
  613. package/deps/xz/src/liblzma/liblzma_la-vli_encoder.o +0 -0
  614. package/deps/xz/src/liblzma/liblzma_la-vli_size.lo +0 -12
  615. package/deps/xz/src/liblzma/liblzma_la-vli_size.o +0 -0
  616. package/deps/xz/src/liblzma/liblzma_la-x86.lo +0 -12
  617. package/deps/xz/src/liblzma/liblzma_la-x86.o +0 -0
  618. package/deps/xz/src/liblzma/liblzma_w32res.rc +0 -12
  619. package/deps/xz/src/liblzma/lz/Makefile.inc +0 -22
  620. package/deps/xz/src/liblzma/lz/lz_decoder.c +0 -300
  621. package/deps/xz/src/liblzma/lz/lz_decoder.h +0 -235
  622. package/deps/xz/src/liblzma/lz/lz_encoder.c +0 -605
  623. package/deps/xz/src/liblzma/lz/lz_encoder.h +0 -328
  624. package/deps/xz/src/liblzma/lz/lz_encoder_hash.h +0 -108
  625. package/deps/xz/src/liblzma/lz/lz_encoder_hash_table.h +0 -68
  626. package/deps/xz/src/liblzma/lz/lz_encoder_mf.c +0 -744
  627. package/deps/xz/src/liblzma/lzma/Makefile.inc +0 -43
  628. package/deps/xz/src/liblzma/lzma/fastpos.h +0 -141
  629. package/deps/xz/src/liblzma/lzma/fastpos_table.c +0 -519
  630. package/deps/xz/src/liblzma/lzma/fastpos_tablegen.c +0 -56
  631. package/deps/xz/src/liblzma/lzma/lzma2_decoder.c +0 -304
  632. package/deps/xz/src/liblzma/lzma/lzma2_decoder.h +0 -29
  633. package/deps/xz/src/liblzma/lzma/lzma2_encoder.c +0 -403
  634. package/deps/xz/src/liblzma/lzma/lzma2_encoder.h +0 -43
  635. package/deps/xz/src/liblzma/lzma/lzma_common.h +0 -224
  636. package/deps/xz/src/liblzma/lzma/lzma_decoder.c +0 -1061
  637. package/deps/xz/src/liblzma/lzma/lzma_decoder.h +0 -53
  638. package/deps/xz/src/liblzma/lzma/lzma_encoder.c +0 -676
  639. package/deps/xz/src/liblzma/lzma/lzma_encoder.h +0 -55
  640. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c +0 -169
  641. package/deps/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c +0 -854
  642. package/deps/xz/src/liblzma/lzma/lzma_encoder_presets.c +0 -63
  643. package/deps/xz/src/liblzma/lzma/lzma_encoder_private.h +0 -148
  644. package/deps/xz/src/liblzma/rangecoder/Makefile.inc +0 -21
  645. package/deps/xz/src/liblzma/rangecoder/price.h +0 -92
  646. package/deps/xz/src/liblzma/rangecoder/price_table.c +0 -22
  647. package/deps/xz/src/liblzma/rangecoder/price_tablegen.c +0 -87
  648. package/deps/xz/src/liblzma/rangecoder/range_common.h +0 -73
  649. package/deps/xz/src/liblzma/rangecoder/range_decoder.h +0 -185
  650. package/deps/xz/src/liblzma/rangecoder/range_encoder.h +0 -231
  651. package/deps/xz/src/liblzma/simple/Makefile.inc +0 -47
  652. package/deps/xz/src/liblzma/simple/arm.c +0 -71
  653. package/deps/xz/src/liblzma/simple/armthumb.c +0 -76
  654. package/deps/xz/src/liblzma/simple/ia64.c +0 -112
  655. package/deps/xz/src/liblzma/simple/powerpc.c +0 -75
  656. package/deps/xz/src/liblzma/simple/simple_coder.c +0 -277
  657. package/deps/xz/src/liblzma/simple/simple_coder.h +0 -72
  658. package/deps/xz/src/liblzma/simple/simple_decoder.c +0 -40
  659. package/deps/xz/src/liblzma/simple/simple_decoder.h +0 -22
  660. package/deps/xz/src/liblzma/simple/simple_encoder.c +0 -38
  661. package/deps/xz/src/liblzma/simple/simple_encoder.h +0 -23
  662. package/deps/xz/src/liblzma/simple/simple_private.h +0 -76
  663. package/deps/xz/src/liblzma/simple/sparc.c +0 -83
  664. package/deps/xz/src/liblzma/simple/x86.c +0 -156
  665. package/deps/xz/src/liblzma/validate_map.sh +0 -68
  666. package/deps/xz/src/lzmainfo/.deps/lzmainfo-lzmainfo.Po +0 -1
  667. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_exit.Po +0 -1
  668. package/deps/xz/src/lzmainfo/.deps/lzmainfo-tuklib_progname.Po +0 -1
  669. package/deps/xz/src/lzmainfo/Makefile +0 -802
  670. package/deps/xz/src/lzmainfo/Makefile.am +0 -39
  671. package/deps/xz/src/lzmainfo/Makefile.in +0 -802
  672. package/deps/xz/src/lzmainfo/lzmainfo.1 +0 -60
  673. package/deps/xz/src/lzmainfo/lzmainfo.c +0 -219
  674. package/deps/xz/src/lzmainfo/lzmainfo_w32res.rc +0 -12
  675. package/deps/xz/src/scripts/Makefile +0 -642
  676. package/deps/xz/src/scripts/Makefile.am +0 -55
  677. package/deps/xz/src/scripts/Makefile.in +0 -642
  678. package/deps/xz/src/scripts/xzdiff +0 -200
  679. package/deps/xz/src/scripts/xzdiff.1 +0 -77
  680. package/deps/xz/src/scripts/xzdiff.in +0 -200
  681. package/deps/xz/src/scripts/xzgrep +0 -215
  682. package/deps/xz/src/scripts/xzgrep.1 +0 -98
  683. package/deps/xz/src/scripts/xzgrep.in +0 -215
  684. package/deps/xz/src/scripts/xzless +0 -58
  685. package/deps/xz/src/scripts/xzless.1 +0 -69
  686. package/deps/xz/src/scripts/xzless.in +0 -58
  687. package/deps/xz/src/scripts/xzmore +0 -78
  688. package/deps/xz/src/scripts/xzmore.1 +0 -55
  689. package/deps/xz/src/scripts/xzmore.in +0 -78
  690. package/deps/xz/src/xz/.deps/xz-args.Po +0 -1
  691. package/deps/xz/src/xz/.deps/xz-coder.Po +0 -1
  692. package/deps/xz/src/xz/.deps/xz-file_io.Po +0 -1
  693. package/deps/xz/src/xz/.deps/xz-hardware.Po +0 -1
  694. package/deps/xz/src/xz/.deps/xz-list.Po +0 -1
  695. package/deps/xz/src/xz/.deps/xz-main.Po +0 -1
  696. package/deps/xz/src/xz/.deps/xz-message.Po +0 -1
  697. package/deps/xz/src/xz/.deps/xz-mytime.Po +0 -1
  698. package/deps/xz/src/xz/.deps/xz-options.Po +0 -1
  699. package/deps/xz/src/xz/.deps/xz-signals.Po +0 -1
  700. package/deps/xz/src/xz/.deps/xz-suffix.Po +0 -1
  701. package/deps/xz/src/xz/.deps/xz-tuklib_exit.Po +0 -1
  702. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_fw.Po +0 -1
  703. package/deps/xz/src/xz/.deps/xz-tuklib_mbstr_width.Po +0 -1
  704. package/deps/xz/src/xz/.deps/xz-tuklib_open_stdxxx.Po +0 -1
  705. package/deps/xz/src/xz/.deps/xz-tuklib_progname.Po +0 -1
  706. package/deps/xz/src/xz/.deps/xz-util.Po +0 -1
  707. package/deps/xz/src/xz/Makefile +0 -1066
  708. package/deps/xz/src/xz/Makefile.am +0 -107
  709. package/deps/xz/src/xz/Makefile.in +0 -1066
  710. package/deps/xz/src/xz/args.c +0 -684
  711. package/deps/xz/src/xz/args.h +0 -44
  712. package/deps/xz/src/xz/coder.c +0 -919
  713. package/deps/xz/src/xz/coder.h +0 -76
  714. package/deps/xz/src/xz/file_io.c +0 -1184
  715. package/deps/xz/src/xz/file_io.h +0 -150
  716. package/deps/xz/src/xz/hardware.c +0 -150
  717. package/deps/xz/src/xz/hardware.h +0 -37
  718. package/deps/xz/src/xz/list.c +0 -1186
  719. package/deps/xz/src/xz/list.h +0 -18
  720. package/deps/xz/src/xz/main.c +0 -307
  721. package/deps/xz/src/xz/main.h +0 -30
  722. package/deps/xz/src/xz/message.c +0 -1258
  723. package/deps/xz/src/xz/message.h +0 -167
  724. package/deps/xz/src/xz/mytime.c +0 -89
  725. package/deps/xz/src/xz/mytime.h +0 -47
  726. package/deps/xz/src/xz/options.c +0 -363
  727. package/deps/xz/src/xz/options.h +0 -31
  728. package/deps/xz/src/xz/private.h +0 -59
  729. package/deps/xz/src/xz/signals.c +0 -209
  730. package/deps/xz/src/xz/signals.h +0 -43
  731. package/deps/xz/src/xz/suffix.c +0 -399
  732. package/deps/xz/src/xz/suffix.h +0 -28
  733. package/deps/xz/src/xz/util.c +0 -288
  734. package/deps/xz/src/xz/util.h +0 -123
  735. package/deps/xz/src/xz/xz.1 +0 -2786
  736. package/deps/xz/src/xz/xz_w32res.rc +0 -12
  737. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_exit.Po +0 -1
  738. package/deps/xz/src/xzdec/.deps/lzmadec-tuklib_progname.Po +0 -1
  739. package/deps/xz/src/xzdec/.deps/lzmadec-xzdec.Po +0 -1
  740. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_exit.Po +0 -1
  741. package/deps/xz/src/xzdec/.deps/xzdec-tuklib_progname.Po +0 -1
  742. package/deps/xz/src/xzdec/.deps/xzdec-xzdec.Po +0 -1
  743. package/deps/xz/src/xzdec/Makefile +0 -901
  744. package/deps/xz/src/xzdec/Makefile.am +0 -82
  745. package/deps/xz/src/xzdec/Makefile.in +0 -901
  746. package/deps/xz/src/xzdec/lzmadec_w32res.rc +0 -12
  747. package/deps/xz/src/xzdec/xzdec.1 +0 -146
  748. package/deps/xz/src/xzdec/xzdec.c +0 -323
  749. package/deps/xz/src/xzdec/xzdec_w32res.rc +0 -12
  750. package/deps/xz/stamp-h1 +0 -1
  751. package/deps/xz/tests/.deps/create_compress_files.Po +0 -1
  752. package/deps/xz/tests/.deps/test_bcj_exact_size.Po +0 -1
  753. package/deps/xz/tests/.deps/test_block_header.Po +0 -1
  754. package/deps/xz/tests/.deps/test_check.Po +0 -1
  755. package/deps/xz/tests/.deps/test_filter_flags.Po +0 -1
  756. package/deps/xz/tests/.deps/test_index.Po +0 -1
  757. package/deps/xz/tests/.deps/test_stream_flags.Po +0 -1
  758. package/deps/xz/tests/Makefile +0 -832
  759. package/deps/xz/tests/Makefile.am +0 -57
  760. package/deps/xz/tests/Makefile.in +0 -832
  761. package/deps/xz/tests/bcj_test.c +0 -65
  762. package/deps/xz/tests/compress_prepared_bcj_sparc +0 -0
  763. package/deps/xz/tests/compress_prepared_bcj_x86 +0 -0
  764. package/deps/xz/tests/create_compress_files.c +0 -158
  765. package/deps/xz/tests/files/README +0 -240
  766. package/deps/xz/tests/files/bad-0-backward_size.xz +0 -0
  767. package/deps/xz/tests/files/bad-0-empty-truncated.xz +0 -0
  768. package/deps/xz/tests/files/bad-0-footer_magic.xz +0 -0
  769. package/deps/xz/tests/files/bad-0-header_magic.xz +0 -0
  770. package/deps/xz/tests/files/bad-0-nonempty_index.xz +0 -0
  771. package/deps/xz/tests/files/bad-0cat-alone.xz +0 -0
  772. package/deps/xz/tests/files/bad-0cat-header_magic.xz +0 -0
  773. package/deps/xz/tests/files/bad-0catpad-empty.xz +0 -0
  774. package/deps/xz/tests/files/bad-0pad-empty.xz +0 -0
  775. package/deps/xz/tests/files/bad-1-block_header-1.xz +0 -0
  776. package/deps/xz/tests/files/bad-1-block_header-2.xz +0 -0
  777. package/deps/xz/tests/files/bad-1-block_header-3.xz +0 -0
  778. package/deps/xz/tests/files/bad-1-block_header-4.xz +0 -0
  779. package/deps/xz/tests/files/bad-1-block_header-5.xz +0 -0
  780. package/deps/xz/tests/files/bad-1-block_header-6.xz +0 -0
  781. package/deps/xz/tests/files/bad-1-check-crc32.xz +0 -0
  782. package/deps/xz/tests/files/bad-1-check-crc64.xz +0 -0
  783. package/deps/xz/tests/files/bad-1-check-sha256.xz +0 -0
  784. package/deps/xz/tests/files/bad-1-lzma2-1.xz +0 -0
  785. package/deps/xz/tests/files/bad-1-lzma2-2.xz +0 -0
  786. package/deps/xz/tests/files/bad-1-lzma2-3.xz +0 -0
  787. package/deps/xz/tests/files/bad-1-lzma2-4.xz +0 -0
  788. package/deps/xz/tests/files/bad-1-lzma2-5.xz +0 -0
  789. package/deps/xz/tests/files/bad-1-lzma2-6.xz +0 -0
  790. package/deps/xz/tests/files/bad-1-lzma2-7.xz +0 -0
  791. package/deps/xz/tests/files/bad-1-lzma2-8.xz +0 -0
  792. package/deps/xz/tests/files/bad-1-stream_flags-1.xz +0 -0
  793. package/deps/xz/tests/files/bad-1-stream_flags-2.xz +0 -0
  794. package/deps/xz/tests/files/bad-1-stream_flags-3.xz +0 -0
  795. package/deps/xz/tests/files/bad-1-vli-1.xz +0 -0
  796. package/deps/xz/tests/files/bad-1-vli-2.xz +0 -0
  797. package/deps/xz/tests/files/bad-2-compressed_data_padding.xz +0 -0
  798. package/deps/xz/tests/files/bad-2-index-1.xz +0 -0
  799. package/deps/xz/tests/files/bad-2-index-2.xz +0 -0
  800. package/deps/xz/tests/files/bad-2-index-3.xz +0 -0
  801. package/deps/xz/tests/files/bad-2-index-4.xz +0 -0
  802. package/deps/xz/tests/files/bad-2-index-5.xz +0 -0
  803. package/deps/xz/tests/files/good-0-empty.xz +0 -0
  804. package/deps/xz/tests/files/good-0cat-empty.xz +0 -0
  805. package/deps/xz/tests/files/good-0catpad-empty.xz +0 -0
  806. package/deps/xz/tests/files/good-0pad-empty.xz +0 -0
  807. package/deps/xz/tests/files/good-1-3delta-lzma2.xz +0 -0
  808. package/deps/xz/tests/files/good-1-block_header-1.xz +0 -0
  809. package/deps/xz/tests/files/good-1-block_header-2.xz +0 -0
  810. package/deps/xz/tests/files/good-1-block_header-3.xz +0 -0
  811. package/deps/xz/tests/files/good-1-check-crc32.xz +0 -0
  812. package/deps/xz/tests/files/good-1-check-crc64.xz +0 -0
  813. package/deps/xz/tests/files/good-1-check-none.xz +0 -0
  814. package/deps/xz/tests/files/good-1-check-sha256.xz +0 -0
  815. package/deps/xz/tests/files/good-1-delta-lzma2.tiff.xz +0 -0
  816. package/deps/xz/tests/files/good-1-lzma2-1.xz +0 -0
  817. package/deps/xz/tests/files/good-1-lzma2-2.xz +0 -0
  818. package/deps/xz/tests/files/good-1-lzma2-3.xz +0 -0
  819. package/deps/xz/tests/files/good-1-lzma2-4.xz +0 -0
  820. package/deps/xz/tests/files/good-1-lzma2-5.xz +0 -0
  821. package/deps/xz/tests/files/good-1-sparc-lzma2.xz +0 -0
  822. package/deps/xz/tests/files/good-1-x86-lzma2.xz +0 -0
  823. package/deps/xz/tests/files/good-2-lzma2.xz +0 -0
  824. package/deps/xz/tests/files/unsupported-block_header.xz +0 -0
  825. package/deps/xz/tests/files/unsupported-check.xz +0 -0
  826. package/deps/xz/tests/files/unsupported-filter_flags-1.xz +0 -0
  827. package/deps/xz/tests/files/unsupported-filter_flags-2.xz +0 -0
  828. package/deps/xz/tests/files/unsupported-filter_flags-3.xz +0 -0
  829. package/deps/xz/tests/test_bcj_exact_size.c +0 -113
  830. package/deps/xz/tests/test_block_header.c +0 -240
  831. package/deps/xz/tests/test_check.c +0 -83
  832. package/deps/xz/tests/test_compress.sh +0 -142
  833. package/deps/xz/tests/test_files.sh +0 -57
  834. package/deps/xz/tests/test_filter_flags.c +0 -258
  835. package/deps/xz/tests/test_index.c +0 -659
  836. package/deps/xz/tests/test_scripts.sh +0 -76
  837. package/deps/xz/tests/test_stream_flags.c +0 -180
  838. package/deps/xz/tests/tests.h +0 -124
  839. package/deps/xz/tests/xzgrep_expected_output +0 -39
  840. package/deps/xz/windows/INSTALL-MSVC.txt +0 -47
  841. package/deps/xz/windows/INSTALL-MinGW.txt +0 -138
  842. package/deps/xz/windows/README-Windows.txt +0 -122
  843. package/deps/xz/windows/build.bash +0 -203
  844. package/deps/xz/windows/config.h +0 -142
  845. package/deps/xz/windows/liblzma.vcxproj +0 -354
  846. package/deps/xz/windows/liblzma_dll.vcxproj +0 -383
  847. package/deps/xz/windows/xz_win.sln +0 -48
  848. package/node_modules/node-pre-gyp/CHANGELOG.md +0 -319
  849. package/node_modules/node-pre-gyp/LICENSE +0 -27
  850. package/node_modules/node-pre-gyp/README.md +0 -570
  851. package/node_modules/node-pre-gyp/appveyor.yml +0 -30
  852. package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -131
  853. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  854. package/node_modules/node-pre-gyp/lib/build.js +0 -43
  855. package/node_modules/node-pre-gyp/lib/clean.js +0 -23
  856. package/node_modules/node-pre-gyp/lib/configure.js +0 -48
  857. package/node_modules/node-pre-gyp/lib/info.js +0 -40
  858. package/node_modules/node-pre-gyp/lib/install.js +0 -215
  859. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -192
  860. package/node_modules/node-pre-gyp/lib/package.js +0 -46
  861. package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -25
  862. package/node_modules/node-pre-gyp/lib/publish.js +0 -77
  863. package/node_modules/node-pre-gyp/lib/rebuild.js +0 -13
  864. package/node_modules/node-pre-gyp/lib/reinstall.js +0 -13
  865. package/node_modules/node-pre-gyp/lib/reveal.js +0 -31
  866. package/node_modules/node-pre-gyp/lib/testbinary.js +0 -73
  867. package/node_modules/node-pre-gyp/lib/testpackage.js +0 -49
  868. package/node_modules/node-pre-gyp/lib/unpublish.js +0 -41
  869. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -1222
  870. package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
  871. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -94
  872. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  873. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  874. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
  875. package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -308
  876. package/node_modules/node-pre-gyp/package.json +0 -136
  877. package/src/bindings/module.cpp +0 -107
  878. package/src/bindings/node-liblzma.cpp +0 -320
  879. package/src/bindings/node-liblzma.hpp +0 -115
  880. package/src/lzma.coffee +0 -339
@@ -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
- }