@keystrokehq/cli 0.1.2 → 0.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 (237) hide show
  1. package/dist/alias-RTYYYW3D-CLFgrowj.mjs +98 -0
  2. package/dist/alias-RTYYYW3D-CLFgrowj.mjs.map +1 -0
  3. package/dist/awk2-LA3USKJP-BbsfXVlR.mjs +2737 -0
  4. package/dist/awk2-LA3USKJP-BbsfXVlR.mjs.map +1 -0
  5. package/dist/base64-C2AIWVNC-C0WIgu5V.mjs +123 -0
  6. package/dist/base64-C2AIWVNC-C0WIgu5V.mjs.map +1 -0
  7. package/dist/basename-UB3CIYNI-BgNN3bGm.mjs +53 -0
  8. package/dist/basename-UB3CIYNI-BgNN3bGm.mjs.map +1 -0
  9. package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs +118 -0
  10. package/dist/bash-YZ33HQZQ-N6YyKtUH.mjs.map +1 -0
  11. package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs +63 -0
  12. package/dist/cat-TSFMZVYS-Dz3-oHsV.mjs.map +1 -0
  13. package/dist/chmod-TFEPA42X-YF02QJUv.mjs +125 -0
  14. package/dist/chmod-TFEPA42X-YF02QJUv.mjs.map +1 -0
  15. package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs +100 -0
  16. package/dist/chunk-27JIFWUR-B6ZjjMMI.mjs.map +1 -0
  17. package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs +719 -0
  18. package/dist/chunk-4I3HOE5Z-BixWWVkW.mjs.map +1 -0
  19. package/dist/chunk-4RUAZWKT-D60fyWAB.mjs +22543 -0
  20. package/dist/chunk-4RUAZWKT-D60fyWAB.mjs.map +1 -0
  21. package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs +69 -0
  22. package/dist/chunk-4WKZNNJK-CiwxAWRf.mjs.map +1 -0
  23. package/dist/chunk-5H5SCKJM-BvfXlL01.mjs +606 -0
  24. package/dist/chunk-5H5SCKJM-BvfXlL01.mjs.map +1 -0
  25. package/dist/chunk-AQ6FYS2X-CkVetjym.mjs +37 -0
  26. package/dist/chunk-AQ6FYS2X-CkVetjym.mjs.map +1 -0
  27. package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs +34 -0
  28. package/dist/chunk-BZUGFHVS-CPWRFwK8.mjs.map +1 -0
  29. package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs +594 -0
  30. package/dist/chunk-CHFEPBH4-BUdgjFtD.mjs.map +1 -0
  31. package/dist/chunk-DLL7UR66-BUYgzxnR.mjs +14 -0
  32. package/dist/chunk-DLL7UR66-BUYgzxnR.mjs.map +1 -0
  33. package/dist/chunk-DiodbrVj.mjs +27 -0
  34. package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs +247 -0
  35. package/dist/chunk-EBAPSGAO-Ctfslw2R.mjs.map +1 -0
  36. package/dist/chunk-FOCWZZDE-BIntqBh2.mjs +19 -0
  37. package/dist/chunk-FOCWZZDE-BIntqBh2.mjs.map +1 -0
  38. package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs +10 -0
  39. package/dist/chunk-HBVMHTO5-CJyD-QZX.mjs.map +1 -0
  40. package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs +14 -0
  41. package/dist/chunk-L2UW7DWF-B3tEHhPF.mjs.map +1 -0
  42. package/dist/chunk-L64BMZUV-CyR7RKok.mjs +30 -0
  43. package/dist/chunk-L64BMZUV-CyR7RKok.mjs.map +1 -0
  44. package/dist/chunk-LEKBROJD-CJMrAyu9.mjs +3113 -0
  45. package/dist/chunk-LEKBROJD-CJMrAyu9.mjs.map +1 -0
  46. package/dist/chunk-NRSASXYY-CuWyREpD.mjs +41 -0
  47. package/dist/chunk-NRSASXYY-CuWyREpD.mjs.map +1 -0
  48. package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs +63 -0
  49. package/dist/chunk-QAYAQNCG-Bl0Kbd53.mjs.map +1 -0
  50. package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs +93 -0
  51. package/dist/chunk-QIQMJJZ4-BwKdslXs.mjs.map +1 -0
  52. package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs +26 -0
  53. package/dist/chunk-SAI2SPQQ-CVRoDNs9.mjs.map +1 -0
  54. package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs +140 -0
  55. package/dist/chunk-SO6R3ZKN-tTw_RMDX.mjs.map +1 -0
  56. package/dist/chunk-STHBFACM-lyj-j2a-.mjs +8 -0
  57. package/dist/chunk-STHBFACM-lyj-j2a-.mjs.map +1 -0
  58. package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs +20 -0
  59. package/dist/chunk-SX2HC7SO-Cc4Hpis1.mjs.map +1 -0
  60. package/dist/chunk-TDD4NFYE-wsWW75MX.mjs +21 -0
  61. package/dist/chunk-TDD4NFYE-wsWW75MX.mjs.map +1 -0
  62. package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs +1137 -0
  63. package/dist/chunk-TN7HHBQW-CSB_R-XD.mjs.map +1 -0
  64. package/dist/chunk-VPADYNBD-BKlA28GJ.mjs +122 -0
  65. package/dist/chunk-VPADYNBD-BKlA28GJ.mjs.map +1 -0
  66. package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs +11 -0
  67. package/dist/chunk-W5DWRFSU-lCyWk0ph.mjs.map +1 -0
  68. package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs +34 -0
  69. package/dist/chunk-WNH3HOQA-BCZUOjCJ.mjs.map +1 -0
  70. package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs +16 -0
  71. package/dist/chunk-XRFHFXFP-BGxzVZgK.mjs.map +1 -0
  72. package/dist/chunk-YCLFEX4T-COc1AThz.mjs +77 -0
  73. package/dist/chunk-YCLFEX4T-COc1AThz.mjs.map +1 -0
  74. package/dist/clear-HKGFEOF6-CekN2x-O.mjs +28 -0
  75. package/dist/clear-HKGFEOF6-CekN2x-O.mjs.map +1 -0
  76. package/dist/column-XT6UFXNQ-DHENV9D2.mjs +143 -0
  77. package/dist/column-XT6UFXNQ-DHENV9D2.mjs.map +1 -0
  78. package/dist/comm-VV2LDX2J-ppxDJFkY.mjs +87 -0
  79. package/dist/comm-VV2LDX2J-ppxDJFkY.mjs.map +1 -0
  80. package/dist/cp-BISAAS7A-CMWayU4n.mjs +106 -0
  81. package/dist/cp-BISAAS7A-CMWayU4n.mjs.map +1 -0
  82. package/dist/cut-OKARJCCV-Bt8b58eI.mjs +119 -0
  83. package/dist/cut-OKARJCCV-Bt8b58eI.mjs.map +1 -0
  84. package/dist/date-UUUPW43J-B7T5OTZZ.mjs +188 -0
  85. package/dist/date-UUUPW43J-B7T5OTZZ.mjs.map +1 -0
  86. package/dist/diff-MWJFIG7X-DhnPc_5r.mjs +755 -0
  87. package/dist/diff-MWJFIG7X-DhnPc_5r.mjs.map +1 -0
  88. package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs +43 -0
  89. package/dist/dirname-MPHRFUTI-Dkb3S4OX.mjs.map +1 -0
  90. package/dist/{dist-DjfxlOWX.mjs → dist-C47GdlWY.mjs} +18 -93
  91. package/dist/{dist-DjfxlOWX.mjs.map → dist-C47GdlWY.mjs.map} +1 -1
  92. package/dist/{dist-DWcRd4Se.mjs → dist-CJL2zYbP.mjs} +4 -71
  93. package/dist/dist-CJL2zYbP.mjs.map +1 -0
  94. package/dist/dist-Ch53z2P3.mjs +3 -0
  95. package/dist/dist-CwR72_PS.mjs +1887 -0
  96. package/dist/dist-CwR72_PS.mjs.map +1 -0
  97. package/dist/du-572XNP42-ClP4jXB1.mjs +176 -0
  98. package/dist/du-572XNP42-ClP4jXB1.mjs.map +1 -0
  99. package/dist/echo-NDWZZHPO-CCp_-MxA.mjs +137 -0
  100. package/dist/echo-NDWZZHPO-CCp_-MxA.mjs.map +1 -0
  101. package/dist/env-36M5BO7M-CsP_aiWr.mjs +119 -0
  102. package/dist/env-36M5BO7M-CsP_aiWr.mjs.map +1 -0
  103. package/dist/expand-JSPG6VOP-B-YUvYpu.mjs +145 -0
  104. package/dist/expand-JSPG6VOP-B-YUvYpu.mjs.map +1 -0
  105. package/dist/expr-5JAACS4X-1TBq84gG.mjs +153 -0
  106. package/dist/expr-5JAACS4X-1TBq84gG.mjs.map +1 -0
  107. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs +4201 -0
  108. package/dist/file-IPZJC3FQ-DcZNOWyY.mjs.map +1 -0
  109. package/dist/find-INTH3OLC-6p47KeeT.mjs +1332 -0
  110. package/dist/find-INTH3OLC-6p47KeeT.mjs.map +1 -0
  111. package/dist/fold-4TQNYMSW-C54bHzLd.mjs +138 -0
  112. package/dist/fold-4TQNYMSW-C54bHzLd.mjs.map +1 -0
  113. package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs +335 -0
  114. package/dist/grep-V3LQVMRQ-D99Bq7Kj.mjs.map +1 -0
  115. package/dist/gzip-O5ASJAFY-CZDRROqP.mjs +592 -0
  116. package/dist/gzip-O5ASJAFY-CZDRROqP.mjs.map +1 -0
  117. package/dist/head-442HYESI-D96RMdki.mjs +36 -0
  118. package/dist/head-442HYESI-D96RMdki.mjs.map +1 -0
  119. package/dist/help-HZ6M2CKN--DK8mY2L.mjs +123 -0
  120. package/dist/help-HZ6M2CKN--DK8mY2L.mjs.map +1 -0
  121. package/dist/history-WYYKSLSZ-ACNQVupn.mjs +48 -0
  122. package/dist/history-WYYKSLSZ-ACNQVupn.mjs.map +1 -0
  123. package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs +24 -0
  124. package/dist/hostname-C4HQXXUP-CXVVFkUK.mjs.map +1 -0
  125. package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs +15890 -0
  126. package/dist/html-to-markdown-JW4MSQZO-DQOxFIvF.mjs.map +1 -0
  127. package/dist/index.mjs +20 -18
  128. package/dist/index.mjs.map +1 -1
  129. package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs +198 -0
  130. package/dist/join-TBRGI3LQ-B8I9tkJ5.mjs.map +1 -0
  131. package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs +257 -0
  132. package/dist/jq-4XLYLOS5-wFZYfsfJ.mjs.map +1 -0
  133. package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs +333 -0
  134. package/dist/js-exec-N5KEZBH7-CgtG-I6s.mjs.map +1 -0
  135. package/dist/lib-D4GpdNNK.mjs +45 -0
  136. package/dist/lib-D4GpdNNK.mjs.map +1 -0
  137. package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs +101 -0
  138. package/dist/ln-4LGSXXGD-Dg0R9i5G.mjs.map +1 -0
  139. package/dist/ls-ZJGQER7M-DLDSfI4x.mjs +1891 -0
  140. package/dist/ls-ZJGQER7M-DLDSfI4x.mjs.map +1 -0
  141. package/dist/lzma-CTMDi254.mjs +1135 -0
  142. package/dist/lzma-CTMDi254.mjs.map +1 -0
  143. package/dist/{maybe-auto-update-Ou7H6dXT.mjs → maybe-auto-update-B0kal2FM.mjs} +2 -2
  144. package/dist/{maybe-auto-update-Ou7H6dXT.mjs.map → maybe-auto-update-B0kal2FM.mjs.map} +1 -1
  145. package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs +16 -0
  146. package/dist/md5sum-SPU24VSG-DQc8sqXO.mjs.map +1 -0
  147. package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs +58 -0
  148. package/dist/mkdir-MEPGZOB6-BjUKzhdL.mjs.map +1 -0
  149. package/dist/mv-W5BIQ646-CdSIyY-U.mjs +93 -0
  150. package/dist/mv-W5BIQ646-CdSIyY-U.mjs.map +1 -0
  151. package/dist/nl-WSDW7I4O-DmtCnyKU.mjs +208 -0
  152. package/dist/nl-WSDW7I4O-DmtCnyKU.mjs.map +1 -0
  153. package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs +73 -0
  154. package/dist/od-WOKFDJTP-DZ2nxQNJ.mjs.map +1 -0
  155. package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs +113 -0
  156. package/dist/paste-7JC6S4DX-CtmM5Qy8.mjs.map +1 -0
  157. package/dist/printf-TWGXF445-B7cTysaa.mjs +880 -0
  158. package/dist/printf-TWGXF445-B7cTysaa.mjs.map +1 -0
  159. package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs +34 -0
  160. package/dist/pwd-WE6EN5AV-CO8o2WQS.mjs.map +1 -0
  161. package/dist/python3-POMOR4OA-CKy80mpF.mjs +299 -0
  162. package/dist/python3-POMOR4OA-CKy80mpF.mjs.map +1 -0
  163. package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs +76 -0
  164. package/dist/readlink-OPJF4DL5-Rc1Mz_Xx.mjs.map +1 -0
  165. package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs +66 -0
  166. package/dist/rev-5EHFX4EJ-3dd9vwHW.mjs.map +1 -0
  167. package/dist/rg-S4FXYXWB-BbXVo6JX.mjs +1539 -0
  168. package/dist/rg-S4FXYXWB-BbXVo6JX.mjs.map +1 -0
  169. package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs +81 -0
  170. package/dist/rm-SSGETQVQ-Ch53Rmrr.mjs.map +1 -0
  171. package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs +132 -0
  172. package/dist/rmdir-OC4ZLPYA-D3QCHlIB.mjs.map +1 -0
  173. package/dist/sed-S5UIK574-DE1KeTk3.mjs +1722 -0
  174. package/dist/sed-S5UIK574-DE1KeTk3.mjs.map +1 -0
  175. package/dist/seq-M5EC7Q57-BHfGjQvK.mjs +85 -0
  176. package/dist/seq-M5EC7Q57-BHfGjQvK.mjs.map +1 -0
  177. package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs +16 -0
  178. package/dist/sha1sum-2PTOAFR6-DNjSNcYK.mjs.map +1 -0
  179. package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs +16 -0
  180. package/dist/sha256sum-NS7D3IXX-BMaCKkT5.mjs.map +1 -0
  181. package/dist/sleep-X22JJINO-Do5hEQQW.mjs +67 -0
  182. package/dist/sleep-X22JJINO-Do5hEQQW.mjs.map +1 -0
  183. package/dist/sort-SW2YEO5B-B7j1zw8k.mjs +320 -0
  184. package/dist/sort-SW2YEO5B-B7j1zw8k.mjs.map +1 -0
  185. package/dist/split-4KKZZXXE-h8GD4HP4.mjs +248 -0
  186. package/dist/split-4KKZZXXE-h8GD4HP4.mjs.map +1 -0
  187. package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs +2879 -0
  188. package/dist/sqlite3-CGOEFJAO-DvzzghDg.mjs.map +1 -0
  189. package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs +65 -0
  190. package/dist/stat-CD34IZ4P-B5ZOJh4J.mjs.map +1 -0
  191. package/dist/strings-6WDHLGMX-DdiEdoL-.mjs +179 -0
  192. package/dist/strings-6WDHLGMX-DdiEdoL-.mjs.map +1 -0
  193. package/dist/tac-2STMMJYW-DPyeWM9R.mjs +53 -0
  194. package/dist/tac-2STMMJYW-DPyeWM9R.mjs.map +1 -0
  195. package/dist/tail-R4PCA2C4-CUfroNeu.mjs +37 -0
  196. package/dist/tail-R4PCA2C4-CUfroNeu.mjs.map +1 -0
  197. package/dist/tar-STHHZTZ6-DRf60e-G.mjs +2838 -0
  198. package/dist/tar-STHHZTZ6-DRf60e-G.mjs.map +1 -0
  199. package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs +46 -0
  200. package/dist/tee-YUZ2FKCJ-po_dfyc_.mjs.map +1 -0
  201. package/dist/time-D4LNBSWX-DVWhAldK.mjs +112 -0
  202. package/dist/time-D4LNBSWX-DVWhAldK.mjs.map +1 -0
  203. package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs +113 -0
  204. package/dist/timeout-YDCRSLPQ-B_yntmXU.mjs.map +1 -0
  205. package/dist/touch-UA33VN3N-oW1SBT1r.mjs +104 -0
  206. package/dist/touch-UA33VN3N-oW1SBT1r.mjs.map +1 -0
  207. package/dist/tr-36LHWFRQ-CTq3z6wq.mjs +167 -0
  208. package/dist/tr-36LHWFRQ-CTq3z6wq.mjs.map +1 -0
  209. package/dist/tree-YLD52CNT-CIozNsLQ.mjs +186 -0
  210. package/dist/tree-YLD52CNT-CIozNsLQ.mjs.map +1 -0
  211. package/dist/true-FHQXJXBE-DsJOznSp.mjs +31 -0
  212. package/dist/true-FHQXJXBE-DsJOznSp.mjs.map +1 -0
  213. package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs +155 -0
  214. package/dist/unexpand-CADSA4VO-Cq9DTcUg.mjs.map +1 -0
  215. package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs +92 -0
  216. package/dist/uniq-XSIZR6PB-D5lt-IXF.mjs.map +1 -0
  217. package/dist/{version-n-JpPeUF.mjs → version-Dxl3y5p6.mjs} +2 -2
  218. package/dist/{version-n-JpPeUF.mjs.map → version-Dxl3y5p6.mjs.map} +1 -1
  219. package/dist/wc-LF7NU4LA-BFPabrwD.mjs +111 -0
  220. package/dist/wc-LF7NU4LA-BFPabrwD.mjs.map +1 -0
  221. package/dist/which-XEM24D5D-2LvlkpUo.mjs +62 -0
  222. package/dist/which-XEM24D5D-2LvlkpUo.mjs.map +1 -0
  223. package/dist/whoami-XMTX52VE-24Kwqrk6.mjs +24 -0
  224. package/dist/whoami-XMTX52VE-24Kwqrk6.mjs.map +1 -0
  225. package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs +2832 -0
  226. package/dist/xan-Y6WF3IRG-DjKO96Pj.mjs.map +1 -0
  227. package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs +12 -0
  228. package/dist/xan-view-HDVKHFC2-DhDNVE_V.mjs.map +1 -0
  229. package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs +112 -0
  230. package/dist/xargs-MGZPH7AX-D2bIgrdg.mjs.map +1 -0
  231. package/dist/yq-4QJW3EQG-XhB3aACo.mjs +8610 -0
  232. package/dist/yq-4QJW3EQG-XhB3aACo.mjs.map +1 -0
  233. package/package.json +1 -1
  234. package/dist/dist-DWcRd4Se.mjs.map +0 -1
  235. package/dist/dist-DitNZUHA.mjs +0 -3
  236. package/dist/dist-vwoMCz6d.mjs +0 -775
  237. package/dist/dist-vwoMCz6d.mjs.map +0 -1
@@ -0,0 +1,4201 @@
1
+ #!/usr/bin/env node
2
+ import { n as r, r as s, t as o } from "./chunk-QAYAQNCG-Bl0Kbd53.mjs";
3
+ import { a as q$1, r as o$1, t as m } from "./chunk-BZUGFHVS-CPWRFwK8.mjs";
4
+ import { createRequire } from "node:module";
5
+ import { open } from "node:fs/promises";
6
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/chunk-WVRWIZF5.js
7
+ createRequire(import.meta.url);
8
+ var _e = o$1((ye) => {
9
+ ye.read = function(i, e, t, r, n) {
10
+ var o, s, a = n * 8 - r - 1, m = (1 << a) - 1, f = m >> 1, c = -7, p = t ? n - 1 : 0, u = t ? -1 : 1, d = i[e + p];
11
+ for (p += u, o = d & (1 << -c) - 1, d >>= -c, c += a; c > 0; o = o * 256 + i[e + p], p += u, c -= 8);
12
+ for (s = o & (1 << -c) - 1, o >>= -c, c += r; c > 0; s = s * 256 + i[e + p], p += u, c -= 8);
13
+ if (o === 0) o = 1 - f;
14
+ else {
15
+ if (o === m) return s ? NaN : (d ? -1 : 1) * Infinity;
16
+ s = s + Math.pow(2, r), o = o - f;
17
+ }
18
+ return (d ? -1 : 1) * s * Math.pow(2, o - r);
19
+ };
20
+ ye.write = function(i, e, t, r, n, o) {
21
+ var s, a, m, f = o * 8 - n - 1, c = (1 << f) - 1, p = c >> 1, u = n === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, d = r ? 0 : o - 1, B = r ? 1 : -1, k = e < 0 || e === 0 && 1 / e < 0 ? 1 : 0;
22
+ for (e = Math.abs(e), isNaN(e) || e === Infinity ? (a = isNaN(e) ? 1 : 0, s = c) : (s = Math.floor(Math.log(e) / Math.LN2), e * (m = Math.pow(2, -s)) < 1 && (s--, m *= 2), s + p >= 1 ? e += u / m : e += u * Math.pow(2, 1 - p), e * m >= 2 && (s++, m /= 2), s + p >= c ? (a = 0, s = c) : s + p >= 1 ? (a = (e * m - 1) * Math.pow(2, n), s = s + p) : (a = e * Math.pow(2, p - 1) * Math.pow(2, n), s = 0)); n >= 8; i[t + d] = a & 255, d += B, a /= 256, n -= 8);
23
+ for (s = s << n | a, f += n; f > 0; i[t + d] = s & 255, d += B, s /= 256, f -= 8);
24
+ i[t + d - B] |= k * 128;
25
+ };
26
+ });
27
+ var Je = o$1((cn, He) => {
28
+ var H = 1e3, J = H * 60, X = J * 60, $ = X * 24, qt = $ * 7, Ht = $ * 365.25;
29
+ He.exports = function(i, e) {
30
+ e = e || {};
31
+ var t = typeof i;
32
+ if (t === "string" && i.length > 0) return Jt(i);
33
+ if (t === "number" && isFinite(i)) return e.long ? Qt(i) : Xt(i);
34
+ throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(i));
35
+ };
36
+ function Jt(i) {
37
+ if (i = String(i), !(i.length > 100)) {
38
+ var e = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);
39
+ if (e) {
40
+ var t = parseFloat(e[1]);
41
+ switch ((e[2] || "ms").toLowerCase()) {
42
+ case "years":
43
+ case "year":
44
+ case "yrs":
45
+ case "yr":
46
+ case "y": return t * Ht;
47
+ case "weeks":
48
+ case "week":
49
+ case "w": return t * qt;
50
+ case "days":
51
+ case "day":
52
+ case "d": return t * $;
53
+ case "hours":
54
+ case "hour":
55
+ case "hrs":
56
+ case "hr":
57
+ case "h": return t * X;
58
+ case "minutes":
59
+ case "minute":
60
+ case "mins":
61
+ case "min":
62
+ case "m": return t * J;
63
+ case "seconds":
64
+ case "second":
65
+ case "secs":
66
+ case "sec":
67
+ case "s": return t * H;
68
+ case "milliseconds":
69
+ case "millisecond":
70
+ case "msecs":
71
+ case "msec":
72
+ case "ms": return t;
73
+ default: return;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ function Xt(i) {
79
+ var e = Math.abs(i);
80
+ return e >= $ ? Math.round(i / $) + "d" : e >= X ? Math.round(i / X) + "h" : e >= J ? Math.round(i / J) + "m" : e >= H ? Math.round(i / H) + "s" : i + "ms";
81
+ }
82
+ function Qt(i) {
83
+ var e = Math.abs(i);
84
+ return e >= $ ? fe(i, e, $, "day") : e >= X ? fe(i, e, X, "hour") : e >= J ? fe(i, e, J, "minute") : e >= H ? fe(i, e, H, "second") : i + " ms";
85
+ }
86
+ function fe(i, e, t, r) {
87
+ var n = e >= t * 1.5;
88
+ return Math.round(i / t) + " " + r + (n ? "s" : "");
89
+ }
90
+ });
91
+ var Ce = o$1((fn, Xe) => {
92
+ function Yt(i) {
93
+ t.debug = t, t.default = t, t.coerce = m, t.disable = s, t.enable = n, t.enabled = a, t.humanize = Je(), t.destroy = f, Object.keys(i).forEach((c) => {
94
+ t[c] = i[c];
95
+ }), t.names = [], t.skips = [], t.formatters = {};
96
+ function e(c) {
97
+ let p = 0;
98
+ for (let u = 0; u < c.length; u++) p = (p << 5) - p + c.charCodeAt(u), p |= 0;
99
+ return t.colors[Math.abs(p) % t.colors.length];
100
+ }
101
+ t.selectColor = e;
102
+ function t(c) {
103
+ let p, u = null, d, B;
104
+ function k(...E) {
105
+ if (!k.enabled) return;
106
+ let P = k, te = Number(/* @__PURE__ */ new Date());
107
+ P.diff = te - (p || te), P.prev = p, P.curr = te, p = te, E[0] = t.coerce(E[0]), typeof E[0] != "string" && E.unshift("%O");
108
+ let ie = 0;
109
+ E[0] = E[0].replace(/%([a-zA-Z%])/g, (he, Bt) => {
110
+ if (he === "%%") return "%";
111
+ ie++;
112
+ let Me = t.formatters[Bt];
113
+ if (typeof Me == "function") {
114
+ let Dt = E[ie];
115
+ he = Me.call(P, Dt), E.splice(ie, 1), ie--;
116
+ }
117
+ return he;
118
+ }), t.formatArgs.call(P, E), (P.log || t.log).apply(P, E);
119
+ }
120
+ return k.namespace = c, k.useColors = t.useColors(), k.color = t.selectColor(c), k.extend = r, k.destroy = t.destroy, Object.defineProperty(k, "enabled", {
121
+ enumerable: !0,
122
+ configurable: !1,
123
+ get: () => u !== null ? u : (d !== t.namespaces && (d = t.namespaces, B = t.enabled(c)), B),
124
+ set: (E) => {
125
+ u = E;
126
+ }
127
+ }), typeof t.init == "function" && t.init(k), k;
128
+ }
129
+ function r(c, p) {
130
+ let u = t(this.namespace + (typeof p > "u" ? ":" : p) + c);
131
+ return u.log = this.log, u;
132
+ }
133
+ function n(c) {
134
+ t.save(c), t.namespaces = c, t.names = [], t.skips = [];
135
+ let p = (typeof c == "string" ? c : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
136
+ for (let u of p) u[0] === "-" ? t.skips.push(u.slice(1)) : t.names.push(u);
137
+ }
138
+ function o(c, p) {
139
+ let u = 0, d = 0, B = -1, k = 0;
140
+ for (; u < c.length;) if (d < p.length && (p[d] === c[u] || p[d] === "*")) p[d] === "*" ? (B = d, k = u, d++) : (u++, d++);
141
+ else if (B !== -1) d = B + 1, k++, u = k;
142
+ else return !1;
143
+ for (; d < p.length && p[d] === "*";) d++;
144
+ return d === p.length;
145
+ }
146
+ function s() {
147
+ let c = [...t.names, ...t.skips.map((p) => "-" + p)].join(",");
148
+ return t.enable(""), c;
149
+ }
150
+ function a(c) {
151
+ for (let p of t.skips) if (o(c, p)) return !1;
152
+ for (let p of t.names) if (o(c, p)) return !0;
153
+ return !1;
154
+ }
155
+ function m(c) {
156
+ return c instanceof Error ? c.stack || c.message : c;
157
+ }
158
+ function f() {
159
+ console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
160
+ }
161
+ return t.enable(t.load()), t;
162
+ }
163
+ Xe.exports = Yt;
164
+ });
165
+ var Qe = o$1((F, pe) => {
166
+ F.formatArgs = ei;
167
+ F.save = ti;
168
+ F.load = ii;
169
+ F.useColors = Kt;
170
+ F.storage = ri();
171
+ F.destroy = (() => {
172
+ let i = !1;
173
+ return () => {
174
+ i || (i = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));
175
+ };
176
+ })();
177
+ F.colors = [
178
+ "#0000CC",
179
+ "#0000FF",
180
+ "#0033CC",
181
+ "#0033FF",
182
+ "#0066CC",
183
+ "#0066FF",
184
+ "#0099CC",
185
+ "#0099FF",
186
+ "#00CC00",
187
+ "#00CC33",
188
+ "#00CC66",
189
+ "#00CC99",
190
+ "#00CCCC",
191
+ "#00CCFF",
192
+ "#3300CC",
193
+ "#3300FF",
194
+ "#3333CC",
195
+ "#3333FF",
196
+ "#3366CC",
197
+ "#3366FF",
198
+ "#3399CC",
199
+ "#3399FF",
200
+ "#33CC00",
201
+ "#33CC33",
202
+ "#33CC66",
203
+ "#33CC99",
204
+ "#33CCCC",
205
+ "#33CCFF",
206
+ "#6600CC",
207
+ "#6600FF",
208
+ "#6633CC",
209
+ "#6633FF",
210
+ "#66CC00",
211
+ "#66CC33",
212
+ "#9900CC",
213
+ "#9900FF",
214
+ "#9933CC",
215
+ "#9933FF",
216
+ "#99CC00",
217
+ "#99CC33",
218
+ "#CC0000",
219
+ "#CC0033",
220
+ "#CC0066",
221
+ "#CC0099",
222
+ "#CC00CC",
223
+ "#CC00FF",
224
+ "#CC3300",
225
+ "#CC3333",
226
+ "#CC3366",
227
+ "#CC3399",
228
+ "#CC33CC",
229
+ "#CC33FF",
230
+ "#CC6600",
231
+ "#CC6633",
232
+ "#CC9900",
233
+ "#CC9933",
234
+ "#CCCC00",
235
+ "#CCCC33",
236
+ "#FF0000",
237
+ "#FF0033",
238
+ "#FF0066",
239
+ "#FF0099",
240
+ "#FF00CC",
241
+ "#FF00FF",
242
+ "#FF3300",
243
+ "#FF3333",
244
+ "#FF3366",
245
+ "#FF3399",
246
+ "#FF33CC",
247
+ "#FF33FF",
248
+ "#FF6600",
249
+ "#FF6633",
250
+ "#FF9900",
251
+ "#FF9933",
252
+ "#FFCC00",
253
+ "#FFCC33"
254
+ ];
255
+ function Kt() {
256
+ if (typeof window < "u" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) return !0;
257
+ if (typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) return !1;
258
+ let i;
259
+ return typeof document < "u" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window < "u" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator < "u" && navigator.userAgent && (i = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(i[1], 10) >= 31 || typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
260
+ }
261
+ function ei(i) {
262
+ if (i[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + i[0] + (this.useColors ? "%c " : " ") + "+" + pe.exports.humanize(this.diff), !this.useColors) return;
263
+ let e = "color: " + this.color;
264
+ i.splice(1, 0, e, "color: inherit");
265
+ let t = 0, r = 0;
266
+ i[0].replace(/%[a-zA-Z%]/g, (n) => {
267
+ n !== "%%" && (t++, n === "%c" && (r = t));
268
+ }), i.splice(r, 0, e);
269
+ }
270
+ F.log = console.debug || console.log || (() => {});
271
+ function ti(i) {
272
+ try {
273
+ i ? F.storage.setItem("debug", i) : F.storage.removeItem("debug");
274
+ } catch {}
275
+ }
276
+ function ii() {
277
+ let i;
278
+ try {
279
+ i = F.storage.getItem("debug") || F.storage.getItem("DEBUG");
280
+ } catch {}
281
+ return !i && typeof process < "u" && "env" in process && (i = process.env.DEBUG), i;
282
+ }
283
+ function ri() {
284
+ try {
285
+ return localStorage;
286
+ } catch {}
287
+ }
288
+ pe.exports = Ce()(F);
289
+ var { formatters: ni } = pe.exports;
290
+ ni.j = function(i) {
291
+ try {
292
+ return JSON.stringify(i);
293
+ } catch (e) {
294
+ return "[UnexpectedJSONParseError]: " + e.message;
295
+ }
296
+ };
297
+ });
298
+ var Ke = o$1((pn, Ye) => {
299
+ "use strict";
300
+ Ye.exports = (i, e = process.argv) => {
301
+ let t = i.startsWith("-") ? "" : i.length === 1 ? "-" : "--", r = e.indexOf(t + i), n = e.indexOf("--");
302
+ return r !== -1 && (n === -1 || r < n);
303
+ };
304
+ });
305
+ var it = o$1((mn, tt) => {
306
+ "use strict";
307
+ var oi = m("os"), et = m("tty"), T = Ke(), { env: w } = process, U;
308
+ T("no-color") || T("no-colors") || T("color=false") || T("color=never") ? U = 0 : (T("color") || T("colors") || T("color=true") || T("color=always")) && (U = 1);
309
+ "FORCE_COLOR" in w && (w.FORCE_COLOR === "true" ? U = 1 : w.FORCE_COLOR === "false" ? U = 0 : U = w.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(w.FORCE_COLOR, 10), 3));
310
+ function Se(i) {
311
+ return i === 0 ? !1 : {
312
+ level: i,
313
+ hasBasic: !0,
314
+ has256: i >= 2,
315
+ has16m: i >= 3
316
+ };
317
+ }
318
+ function Fe(i, e) {
319
+ if (U === 0) return 0;
320
+ if (T("color=16m") || T("color=full") || T("color=truecolor")) return 3;
321
+ if (T("color=256")) return 2;
322
+ if (i && !e && U === void 0) return 0;
323
+ let t = U || 0;
324
+ if (w.TERM === "dumb") return t;
325
+ if (process.platform === "win32") {
326
+ let r = oi.release().split(".");
327
+ return Number(r[0]) >= 10 && Number(r[2]) >= 10586 ? Number(r[2]) >= 14931 ? 3 : 2 : 1;
328
+ }
329
+ if ("CI" in w) return [
330
+ "TRAVIS",
331
+ "CIRCLECI",
332
+ "APPVEYOR",
333
+ "GITLAB_CI",
334
+ "GITHUB_ACTIONS",
335
+ "BUILDKITE"
336
+ ].some((r) => r in w) || w.CI_NAME === "codeship" ? 1 : t;
337
+ if ("TEAMCITY_VERSION" in w) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(w.TEAMCITY_VERSION) ? 1 : 0;
338
+ if (w.COLORTERM === "truecolor") return 3;
339
+ if ("TERM_PROGRAM" in w) {
340
+ let r = parseInt((w.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
341
+ switch (w.TERM_PROGRAM) {
342
+ case "iTerm.app": return r >= 3 ? 3 : 2;
343
+ case "Apple_Terminal": return 2;
344
+ }
345
+ }
346
+ return /-256(color)?$/i.test(w.TERM) ? 2 : /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(w.TERM) || "COLORTERM" in w ? 1 : t;
347
+ }
348
+ function si(i) {
349
+ return Se(Fe(i, i && i.isTTY));
350
+ }
351
+ tt.exports = {
352
+ supportsColor: si,
353
+ stdout: Se(Fe(!0, et.isatty(1))),
354
+ stderr: Se(Fe(!0, et.isatty(2)))
355
+ };
356
+ });
357
+ var nt = o$1((y, ue) => {
358
+ var ai = m("tty"), me = m("util");
359
+ y.init = di;
360
+ y.log = mi;
361
+ y.formatArgs = fi;
362
+ y.save = ui;
363
+ y.load = li;
364
+ y.useColors = ci;
365
+ y.destroy = me.deprecate(() => {}, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
366
+ y.colors = [
367
+ 6,
368
+ 2,
369
+ 3,
370
+ 4,
371
+ 5,
372
+ 1
373
+ ];
374
+ try {
375
+ let i = it();
376
+ i && (i.stderr || i).level >= 2 && (y.colors = [
377
+ 20,
378
+ 21,
379
+ 26,
380
+ 27,
381
+ 32,
382
+ 33,
383
+ 38,
384
+ 39,
385
+ 40,
386
+ 41,
387
+ 42,
388
+ 43,
389
+ 44,
390
+ 45,
391
+ 56,
392
+ 57,
393
+ 62,
394
+ 63,
395
+ 68,
396
+ 69,
397
+ 74,
398
+ 75,
399
+ 76,
400
+ 77,
401
+ 78,
402
+ 79,
403
+ 80,
404
+ 81,
405
+ 92,
406
+ 93,
407
+ 98,
408
+ 99,
409
+ 112,
410
+ 113,
411
+ 128,
412
+ 129,
413
+ 134,
414
+ 135,
415
+ 148,
416
+ 149,
417
+ 160,
418
+ 161,
419
+ 162,
420
+ 163,
421
+ 164,
422
+ 165,
423
+ 166,
424
+ 167,
425
+ 168,
426
+ 169,
427
+ 170,
428
+ 171,
429
+ 172,
430
+ 173,
431
+ 178,
432
+ 179,
433
+ 184,
434
+ 185,
435
+ 196,
436
+ 197,
437
+ 198,
438
+ 199,
439
+ 200,
440
+ 201,
441
+ 202,
442
+ 203,
443
+ 204,
444
+ 205,
445
+ 206,
446
+ 207,
447
+ 208,
448
+ 209,
449
+ 214,
450
+ 215,
451
+ 220,
452
+ 221
453
+ ]);
454
+ } catch {}
455
+ y.inspectOpts = Object.keys(process.env).filter((i) => /^debug_/i.test(i)).reduce((i, e) => {
456
+ let t = e.substring(6).toLowerCase().replace(/_([a-z])/g, (n, o) => o.toUpperCase()), r = process.env[e];
457
+ return /^(yes|on|true|enabled)$/i.test(r) ? r = !0 : /^(no|off|false|disabled)$/i.test(r) ? r = !1 : r === "null" ? r = null : r = Number(r), i[t] = r, i;
458
+ }, {});
459
+ function ci() {
460
+ return "colors" in y.inspectOpts ? !!y.inspectOpts.colors : ai.isatty(process.stderr.fd);
461
+ }
462
+ function fi(i) {
463
+ let { namespace: e, useColors: t } = this;
464
+ if (t) {
465
+ let r = this.color, n = "\x1B[3" + (r < 8 ? r : "8;5;" + r), o = ` ${n};1m${e} \x1B[0m`;
466
+ i[0] = o + i[0].split(`
467
+ `).join(`
468
+ ` + o), i.push(n + "m+" + ue.exports.humanize(this.diff) + "\x1B[0m");
469
+ } else i[0] = pi() + e + " " + i[0];
470
+ }
471
+ function pi() {
472
+ return y.inspectOpts.hideDate ? "" : (/* @__PURE__ */ new Date()).toISOString() + " ";
473
+ }
474
+ function mi(...i) {
475
+ return process.stderr.write(me.formatWithOptions(y.inspectOpts, ...i) + `
476
+ `);
477
+ }
478
+ function ui(i) {
479
+ i ? process.env.DEBUG = i : delete process.env.DEBUG;
480
+ }
481
+ function li() {
482
+ return process.env.DEBUG;
483
+ }
484
+ function di(i) {
485
+ i.inspectOpts = {};
486
+ let e = Object.keys(y.inspectOpts);
487
+ for (let t = 0; t < e.length; t++) i.inspectOpts[e[t]] = y.inspectOpts[e[t]];
488
+ }
489
+ ue.exports = Ce()(y);
490
+ var { formatters: rt } = ue.exports;
491
+ rt.o = function(i) {
492
+ return this.inspectOpts.colors = this.useColors, me.inspect(i, this.inspectOpts).split(`
493
+ `).map((e) => e.trim()).join(" ");
494
+ };
495
+ rt.O = function(i) {
496
+ return this.inspectOpts.colors = this.useColors, me.inspect(i, this.inspectOpts);
497
+ };
498
+ });
499
+ var ot = o$1((un, Ee) => {
500
+ typeof process > "u" || process.type === "renderer" || process.browser === !0 || process.__nwjs ? Ee.exports = Qe() : Ee.exports = nt();
501
+ });
502
+ var Ot = "End-Of-Stream", l = class extends Error {
503
+ constructor() {
504
+ super(Ot), this.name = "EndOfStreamError";
505
+ }
506
+ }, N = class extends Error {
507
+ constructor(e = "The operation was aborted") {
508
+ super(e), this.name = "AbortError";
509
+ }
510
+ };
511
+ var j = class {
512
+ constructor() {
513
+ this.endOfStream = !1, this.interrupted = !1, this.peekQueue = [];
514
+ }
515
+ async peek(e, t = !1) {
516
+ let r = await this.read(e, t);
517
+ return this.peekQueue.push(e.subarray(0, r)), r;
518
+ }
519
+ async read(e, t = !1) {
520
+ if (e.length === 0) return 0;
521
+ let r = this.readFromPeekBuffer(e);
522
+ if (this.endOfStream || (r += await this.readRemainderFromStream(e.subarray(r), t)), r === 0 && !t) throw new l();
523
+ return r;
524
+ }
525
+ readFromPeekBuffer(e) {
526
+ let t = e.length, r = 0;
527
+ for (; this.peekQueue.length > 0 && t > 0;) {
528
+ let n = this.peekQueue.pop();
529
+ if (!n) throw new Error("peekData should be defined");
530
+ let o = Math.min(n.length, t);
531
+ e.set(n.subarray(0, o), r), r += o, t -= o, o < n.length && this.peekQueue.push(n.subarray(o));
532
+ }
533
+ return r;
534
+ }
535
+ async readRemainderFromStream(e, t) {
536
+ let r = 0;
537
+ for (; r < e.length && !this.endOfStream;) {
538
+ if (this.interrupted) throw new N();
539
+ let n = await this.readFromStream(e.subarray(r), t);
540
+ if (n === 0) break;
541
+ r += n;
542
+ }
543
+ if (!t && r < e.length) throw new l();
544
+ return r;
545
+ }
546
+ };
547
+ var ne = class extends j {
548
+ constructor(e) {
549
+ super(), this.reader = e;
550
+ }
551
+ async abort() {
552
+ return this.close();
553
+ }
554
+ async close() {
555
+ this.reader.releaseLock();
556
+ }
557
+ };
558
+ var Q = class extends ne {
559
+ async readFromStream(e, t) {
560
+ if (e.length === 0) return 0;
561
+ let r = await this.reader.read(new Uint8Array(e.length), { min: t ? void 0 : e.length });
562
+ return r.done && (this.endOfStream = r.done), r.value ? (e.set(r.value), r.value.length) : 0;
563
+ }
564
+ };
565
+ var Z = class extends j {
566
+ constructor(e) {
567
+ super(), this.reader = e, this.buffer = null;
568
+ }
569
+ writeChunk(e, t) {
570
+ let r = Math.min(t.length, e.length);
571
+ return e.set(t.subarray(0, r)), r < t.length ? this.buffer = t.subarray(r) : this.buffer = null, r;
572
+ }
573
+ async readFromStream(e, t) {
574
+ if (e.length === 0) return 0;
575
+ let r = 0;
576
+ for (this.buffer && (r += this.writeChunk(e, this.buffer)); r < e.length && !this.endOfStream;) {
577
+ let n = await this.reader.read();
578
+ if (n.done) {
579
+ this.endOfStream = !0;
580
+ break;
581
+ }
582
+ n.value && (r += this.writeChunk(e.subarray(r), n.value));
583
+ }
584
+ if (!t && r === 0 && this.endOfStream) throw new l();
585
+ return r;
586
+ }
587
+ abort() {
588
+ return this.interrupted = !0, this.reader.cancel();
589
+ }
590
+ async close() {
591
+ await this.abort(), this.reader.releaseLock();
592
+ }
593
+ };
594
+ function we(i) {
595
+ try {
596
+ let e = i.getReader({ mode: "byob" });
597
+ return e instanceof ReadableStreamDefaultReader ? new Z(e) : new Q(e);
598
+ } catch (e) {
599
+ if (e instanceof TypeError) return new Z(i.getReader());
600
+ throw e;
601
+ }
602
+ }
603
+ var A = class {
604
+ constructor(e) {
605
+ this.numBuffer = new Uint8Array(8), this.position = 0, this.onClose = e?.onClose, e?.abortSignal && e.abortSignal.addEventListener("abort", () => {
606
+ this.abort();
607
+ });
608
+ }
609
+ async readToken(e, t = this.position) {
610
+ let r = new Uint8Array(e.len);
611
+ if (await this.readBuffer(r, { position: t }) < e.len) throw new l();
612
+ return e.get(r, 0);
613
+ }
614
+ async peekToken(e, t = this.position) {
615
+ let r = new Uint8Array(e.len);
616
+ if (await this.peekBuffer(r, { position: t }) < e.len) throw new l();
617
+ return e.get(r, 0);
618
+ }
619
+ async readNumber(e) {
620
+ if (await this.readBuffer(this.numBuffer, { length: e.len }) < e.len) throw new l();
621
+ return e.get(this.numBuffer, 0);
622
+ }
623
+ async peekNumber(e) {
624
+ if (await this.peekBuffer(this.numBuffer, { length: e.len }) < e.len) throw new l();
625
+ return e.get(this.numBuffer, 0);
626
+ }
627
+ async ignore(e) {
628
+ if (e < 0) throw new RangeError("ignore length must be ≥ 0 bytes");
629
+ if (this.fileInfo.size !== void 0) {
630
+ let t = this.fileInfo.size - this.position;
631
+ if (e > t) return this.position += t, t;
632
+ }
633
+ return this.position += e, e;
634
+ }
635
+ async close() {
636
+ await this.abort(), await this.onClose?.();
637
+ }
638
+ normalizeOptions(e, t) {
639
+ if (!this.supportsRandomAccess() && t && t.position !== void 0 && t.position < this.position) throw new Error("`options.position` must be equal or greater than `tokenizer.position`");
640
+ return {
641
+ mayBeLess: !1,
642
+ offset: 0,
643
+ length: e.length,
644
+ position: this.position,
645
+ ...t
646
+ };
647
+ }
648
+ abort() {
649
+ return Promise.resolve();
650
+ }
651
+ };
652
+ var Mt = 256e3, oe = class extends A {
653
+ constructor(e, t) {
654
+ super(t), this.streamReader = e, this.fileInfo = t?.fileInfo ?? {};
655
+ }
656
+ async readBuffer(e, t) {
657
+ let r = this.normalizeOptions(e, t), n = r.position - this.position;
658
+ if (n > 0) return await this.ignore(n), this.readBuffer(e, t);
659
+ if (n < 0) throw new Error("`options.position` must be equal or greater than `tokenizer.position`");
660
+ if (r.length === 0) return 0;
661
+ let o = await this.streamReader.read(e.subarray(0, r.length), r.mayBeLess);
662
+ if (this.position += o, (!t || !t.mayBeLess) && o < r.length) throw new l();
663
+ return o;
664
+ }
665
+ async peekBuffer(e, t) {
666
+ let r = this.normalizeOptions(e, t), n = 0;
667
+ if (r.position) {
668
+ let o = r.position - this.position;
669
+ if (o > 0) {
670
+ let s = new Uint8Array(r.length + o);
671
+ return n = await this.peekBuffer(s, { mayBeLess: r.mayBeLess }), e.set(s.subarray(o)), n - o;
672
+ }
673
+ if (o < 0) throw new Error("Cannot peek from a negative offset in a stream");
674
+ }
675
+ if (r.length > 0) {
676
+ try {
677
+ n = await this.streamReader.peek(e.subarray(0, r.length), r.mayBeLess);
678
+ } catch (o) {
679
+ if (t?.mayBeLess && o instanceof l) return 0;
680
+ throw o;
681
+ }
682
+ if (!r.mayBeLess && n < r.length) throw new l();
683
+ }
684
+ return n;
685
+ }
686
+ async ignore(e) {
687
+ if (e < 0) throw new RangeError("ignore length must be ≥ 0 bytes");
688
+ let t = Math.min(Mt, e), r = new Uint8Array(t), n = 0;
689
+ for (; n < e;) {
690
+ let o = e - n, s = await this.readBuffer(r, { length: Math.min(t, o) });
691
+ if (s < 0) return s;
692
+ n += s;
693
+ }
694
+ return n;
695
+ }
696
+ abort() {
697
+ return this.streamReader.abort();
698
+ }
699
+ async close() {
700
+ return this.streamReader.close();
701
+ }
702
+ supportsRandomAccess() {
703
+ return !1;
704
+ }
705
+ };
706
+ var se = class extends A {
707
+ constructor(e, t) {
708
+ super(t), this.uint8Array = e, this.fileInfo = {
709
+ ...t?.fileInfo ?? {},
710
+ size: e.length
711
+ };
712
+ }
713
+ async readBuffer(e, t) {
714
+ t?.position && (this.position = t.position);
715
+ let r = await this.peekBuffer(e, t);
716
+ return this.position += r, r;
717
+ }
718
+ async peekBuffer(e, t) {
719
+ let r = this.normalizeOptions(e, t), n = Math.min(this.uint8Array.length - r.position, r.length);
720
+ if (!r.mayBeLess && n < r.length) throw new l();
721
+ return e.set(this.uint8Array.subarray(r.position, r.position + n)), n;
722
+ }
723
+ close() {
724
+ return super.close();
725
+ }
726
+ supportsRandomAccess() {
727
+ return !0;
728
+ }
729
+ setPosition(e) {
730
+ this.position = e;
731
+ }
732
+ };
733
+ var ae = class extends A {
734
+ constructor(e, t) {
735
+ super(t), this.blob = e, this.fileInfo = {
736
+ ...t?.fileInfo ?? {},
737
+ size: e.size,
738
+ mimeType: e.type
739
+ };
740
+ }
741
+ async readBuffer(e, t) {
742
+ t?.position && (this.position = t.position);
743
+ let r = await this.peekBuffer(e, t);
744
+ return this.position += r, r;
745
+ }
746
+ async peekBuffer(e, t) {
747
+ let r = this.normalizeOptions(e, t), n = Math.min(this.blob.size - r.position, r.length);
748
+ if (!r.mayBeLess && n < r.length) throw new l();
749
+ let o = await this.blob.slice(r.position, r.position + n).arrayBuffer();
750
+ return e.set(new Uint8Array(o)), n;
751
+ }
752
+ close() {
753
+ return super.close();
754
+ }
755
+ supportsRandomAccess() {
756
+ return !0;
757
+ }
758
+ setPosition(e) {
759
+ this.position = e;
760
+ }
761
+ };
762
+ function Pe(i, e) {
763
+ let t = we(i), r = e ?? {}, n = r.onClose;
764
+ return r.onClose = async () => {
765
+ if (await t.close(), n) return n();
766
+ }, new oe(t, r);
767
+ }
768
+ function Ne(i, e) {
769
+ return new se(i, e);
770
+ }
771
+ function je(i, e) {
772
+ return new ae(i, e);
773
+ }
774
+ (class i extends A {
775
+ static async fromFile(e) {
776
+ let t = await open(e, "r");
777
+ return new i(t, { fileInfo: {
778
+ path: e,
779
+ size: (await t.stat()).size
780
+ } });
781
+ }
782
+ constructor(e, t) {
783
+ super(t), this.fileHandle = e, this.fileInfo = t.fileInfo;
784
+ }
785
+ async readBuffer(e, t) {
786
+ let r = this.normalizeOptions(e, t);
787
+ if (this.position = r.position, r.length === 0) return 0;
788
+ let n = await this.fileHandle.read(e, 0, r.length, r.position);
789
+ if (this.position += n.bytesRead, n.bytesRead < r.length && (!t || !t.mayBeLess)) throw new l();
790
+ return n.bytesRead;
791
+ }
792
+ async peekBuffer(e, t) {
793
+ let r = this.normalizeOptions(e, t), n = await this.fileHandle.read(e, 0, r.length, r.position);
794
+ if (!r.mayBeLess && n.bytesRead < r.length) throw new l();
795
+ return n.bytesRead;
796
+ }
797
+ async close() {
798
+ return await this.fileHandle.close(), super.close();
799
+ }
800
+ setPosition(e) {
801
+ this.position = e;
802
+ }
803
+ supportsRandomAccess() {
804
+ return !0;
805
+ }
806
+ }).fromFile;
807
+ q$1(_e(), 1);
808
+ var $e = {
809
+ 128: "€",
810
+ 130: "‚",
811
+ 131: "ƒ",
812
+ 132: "„",
813
+ 133: "…",
814
+ 134: "†",
815
+ 135: "‡",
816
+ 136: "ˆ",
817
+ 137: "‰",
818
+ 138: "Š",
819
+ 139: "‹",
820
+ 140: "Œ",
821
+ 142: "Ž",
822
+ 145: "‘",
823
+ 146: "’",
824
+ 147: "“",
825
+ 148: "”",
826
+ 149: "•",
827
+ 150: "–",
828
+ 151: "—",
829
+ 152: "˜",
830
+ 153: "™",
831
+ 154: "š",
832
+ 155: "›",
833
+ 156: "œ",
834
+ 158: "ž",
835
+ 159: "Ÿ"
836
+ }, Pt = {};
837
+ for (let [i, e] of Object.entries($e)) Pt[e] = Number.parseInt(i, 10);
838
+ var ce;
839
+ function Nt() {
840
+ if (!(typeof globalThis.TextDecoder > "u")) return ce ?? (ce = new globalThis.TextDecoder("utf-8"));
841
+ }
842
+ var q = 32 * 1024, I = 65533;
843
+ function We(i, e = "utf-8") {
844
+ switch (e.toLowerCase()) {
845
+ case "utf-8":
846
+ case "utf8": {
847
+ let t = Nt();
848
+ return t ? t.decode(i) : _t(i);
849
+ }
850
+ case "utf-16le": return $t(i);
851
+ case "us-ascii":
852
+ case "ascii": return Wt(i);
853
+ case "latin1":
854
+ case "iso-8859-1": return Gt(i);
855
+ case "windows-1252": return Zt(i);
856
+ default: throw new RangeError(`Encoding '${e}' not supported`);
857
+ }
858
+ }
859
+ function ke(i, e) {
860
+ e.length !== 0 && (i.push(String.fromCharCode.apply(null, e)), e.length = 0);
861
+ }
862
+ function g(i, e, t) {
863
+ e.push(t), e.length >= q && ke(i, e);
864
+ }
865
+ function jt(i, e, t) {
866
+ if (t <= 65535) {
867
+ g(i, e, t);
868
+ return;
869
+ }
870
+ t -= 65536, g(i, e, 55296 + (t >> 10)), g(i, e, 56320 + (t & 1023));
871
+ }
872
+ function _t(i) {
873
+ let e = [], t = [], r = 0;
874
+ for (i.length >= 3 && i[0] === 239 && i[1] === 187 && i[2] === 191 && (r = 3); r < i.length;) {
875
+ let n = i[r];
876
+ if (n <= 127) {
877
+ g(e, t, n), r++;
878
+ continue;
879
+ }
880
+ if (n < 194 || n > 244) {
881
+ g(e, t, I), r++;
882
+ continue;
883
+ }
884
+ if (n <= 223) {
885
+ if (r + 1 >= i.length) {
886
+ g(e, t, I), r++;
887
+ continue;
888
+ }
889
+ let c = i[r + 1];
890
+ if ((c & 192) !== 128) {
891
+ g(e, t, I), r++;
892
+ continue;
893
+ }
894
+ g(e, t, (n & 31) << 6 | c & 63), r += 2;
895
+ continue;
896
+ }
897
+ if (n <= 239) {
898
+ if (r + 2 >= i.length) {
899
+ g(e, t, I), r++;
900
+ continue;
901
+ }
902
+ let c = i[r + 1], p = i[r + 2];
903
+ if (!((c & 192) === 128 && (p & 192) === 128 && !(n === 224 && c < 160) && !(n === 237 && c >= 160))) {
904
+ g(e, t, I), r++;
905
+ continue;
906
+ }
907
+ g(e, t, (n & 15) << 12 | (c & 63) << 6 | p & 63), r += 3;
908
+ continue;
909
+ }
910
+ if (r + 3 >= i.length) {
911
+ g(e, t, I), r++;
912
+ continue;
913
+ }
914
+ let o = i[r + 1], s = i[r + 2], a = i[r + 3];
915
+ if (!((o & 192) === 128 && (s & 192) === 128 && (a & 192) === 128 && !(n === 240 && o < 144) && !(n === 244 && o > 143))) {
916
+ g(e, t, I), r++;
917
+ continue;
918
+ }
919
+ jt(e, t, (n & 7) << 18 | (o & 63) << 12 | (s & 63) << 6 | a & 63), r += 4;
920
+ }
921
+ return ke(e, t), e.join("");
922
+ }
923
+ function $t(i) {
924
+ let e = [], t = [], r = i.length, n = 0;
925
+ for (; n + 1 < r;) {
926
+ let o = i[n] | i[n + 1] << 8;
927
+ if (n += 2, o >= 55296 && o <= 56319) {
928
+ if (n + 1 < r) {
929
+ let s = i[n] | i[n + 1] << 8;
930
+ s >= 56320 && s <= 57343 ? (g(e, t, o), g(e, t, s), n += 2) : g(e, t, I);
931
+ } else g(e, t, I);
932
+ continue;
933
+ }
934
+ if (o >= 56320 && o <= 57343) {
935
+ g(e, t, I);
936
+ continue;
937
+ }
938
+ g(e, t, o);
939
+ }
940
+ return n < r && g(e, t, I), ke(e, t), e.join("");
941
+ }
942
+ function Wt(i) {
943
+ let e = [];
944
+ for (let t = 0; t < i.length; t += q) {
945
+ let r = Math.min(i.length, t + q), n = new Array(r - t);
946
+ for (let o = t, s = 0; o < r; o++, s++) n[s] = i[o] & 127;
947
+ e.push(String.fromCharCode.apply(null, n));
948
+ }
949
+ return e.join("");
950
+ }
951
+ function Gt(i) {
952
+ let e = [];
953
+ for (let t = 0; t < i.length; t += q) {
954
+ let r = Math.min(i.length, t + q), n = new Array(r - t);
955
+ for (let o = t, s = 0; o < r; o++, s++) n[s] = i[o];
956
+ e.push(String.fromCharCode.apply(null, n));
957
+ }
958
+ return e.join("");
959
+ }
960
+ function Zt(i) {
961
+ let e = [], t = "";
962
+ for (let r = 0; r < i.length; r++) {
963
+ let n = i[r], o = n >= 128 && n <= 159 ? $e[n] : void 0;
964
+ t += o ?? String.fromCharCode(n), t.length >= q && (e.push(t), t = "");
965
+ }
966
+ return t && e.push(t), e.join("");
967
+ }
968
+ function C(i) {
969
+ return new DataView(i.buffer, i.byteOffset);
970
+ }
971
+ var Ze = {
972
+ len: 1,
973
+ get(i, e) {
974
+ return C(i).getUint8(e);
975
+ },
976
+ put(i, e, t) {
977
+ return C(i).setUint8(e, t), e + 1;
978
+ }
979
+ }, h = {
980
+ len: 2,
981
+ get(i, e) {
982
+ return C(i).getUint16(e, !0);
983
+ },
984
+ put(i, e, t) {
985
+ return C(i).setUint16(e, t, !0), e + 2;
986
+ }
987
+ }, _ = {
988
+ len: 2,
989
+ get(i, e) {
990
+ return C(i).getUint16(e);
991
+ },
992
+ put(i, e, t) {
993
+ return C(i).setUint16(e, t), e + 2;
994
+ }
995
+ };
996
+ var x = {
997
+ len: 4,
998
+ get(i, e) {
999
+ return C(i).getUint32(e, !0);
1000
+ },
1001
+ put(i, e, t) {
1002
+ return C(i).setUint32(e, t, !0), e + 4;
1003
+ }
1004
+ }, be = {
1005
+ len: 4,
1006
+ get(i, e) {
1007
+ return C(i).getUint32(e);
1008
+ },
1009
+ put(i, e, t) {
1010
+ return C(i).setUint32(e, t), e + 4;
1011
+ }
1012
+ };
1013
+ var Ve = {
1014
+ len: 4,
1015
+ get(i, e) {
1016
+ return C(i).getInt32(e);
1017
+ },
1018
+ put(i, e, t) {
1019
+ return C(i).setInt32(e, t), e + 4;
1020
+ }
1021
+ };
1022
+ var qe = {
1023
+ len: 8,
1024
+ get(i, e) {
1025
+ return C(i).getBigUint64(e, !0);
1026
+ },
1027
+ put(i, e, t) {
1028
+ return C(i).setBigUint64(e, t, !0), e + 8;
1029
+ }
1030
+ };
1031
+ var S = class {
1032
+ constructor(e, t) {
1033
+ this.len = e, this.encoding = t;
1034
+ }
1035
+ get(e, t = 0) {
1036
+ return We(e.subarray(t, t + this.len), this.encoding);
1037
+ }
1038
+ };
1039
+ var ft = q$1(ot(), 1);
1040
+ var W = {
1041
+ LocalFileHeader: 67324752,
1042
+ DataDescriptor: 134695760,
1043
+ CentralFileHeader: 33639248,
1044
+ EndOfCentralDirectory: 101010256
1045
+ }, Te = {
1046
+ get(i) {
1047
+ return {
1048
+ signature: x.get(i, 0),
1049
+ compressedSize: x.get(i, 8),
1050
+ uncompressedSize: x.get(i, 12)
1051
+ };
1052
+ },
1053
+ len: 16
1054
+ }, st = {
1055
+ get(i) {
1056
+ let e = h.get(i, 6);
1057
+ return {
1058
+ signature: x.get(i, 0),
1059
+ minVersion: h.get(i, 4),
1060
+ dataDescriptor: !!(e & 8),
1061
+ compressedMethod: h.get(i, 8),
1062
+ compressedSize: x.get(i, 18),
1063
+ uncompressedSize: x.get(i, 22),
1064
+ filenameLength: h.get(i, 26),
1065
+ extraFieldLength: h.get(i, 28),
1066
+ filename: null
1067
+ };
1068
+ },
1069
+ len: 30
1070
+ }, at = {
1071
+ get(i) {
1072
+ return {
1073
+ signature: x.get(i, 0),
1074
+ nrOfThisDisk: h.get(i, 4),
1075
+ nrOfThisDiskWithTheStart: h.get(i, 6),
1076
+ nrOfEntriesOnThisDisk: h.get(i, 8),
1077
+ nrOfEntriesOfSize: h.get(i, 10),
1078
+ sizeOfCd: x.get(i, 12),
1079
+ offsetOfStartOfCd: x.get(i, 16),
1080
+ zipFileCommentLength: h.get(i, 20)
1081
+ };
1082
+ },
1083
+ len: 22
1084
+ }, ct = {
1085
+ get(i) {
1086
+ let e = h.get(i, 8);
1087
+ return {
1088
+ signature: x.get(i, 0),
1089
+ minVersion: h.get(i, 6),
1090
+ dataDescriptor: !!(e & 8),
1091
+ compressedMethod: h.get(i, 10),
1092
+ compressedSize: x.get(i, 20),
1093
+ uncompressedSize: x.get(i, 24),
1094
+ filenameLength: h.get(i, 28),
1095
+ extraFieldLength: h.get(i, 30),
1096
+ fileCommentLength: h.get(i, 32),
1097
+ relativeOffsetOfLocalHeader: x.get(i, 42),
1098
+ filename: null
1099
+ };
1100
+ },
1101
+ len: 46
1102
+ };
1103
+ function pt(i) {
1104
+ let e = new Uint8Array(x.len);
1105
+ return x.put(e, 0, i), e;
1106
+ }
1107
+ var D = (0, ft.default)("tokenizer:inflate"), ve = 256 * 1024, xi = pt(W.DataDescriptor), le = pt(W.EndOfCentralDirectory), G = class i {
1108
+ constructor(e) {
1109
+ this.tokenizer = e, this.syncBuffer = new Uint8Array(ve);
1110
+ }
1111
+ async isZip() {
1112
+ return await this.peekSignature() === W.LocalFileHeader;
1113
+ }
1114
+ peekSignature() {
1115
+ return this.tokenizer.peekToken(x);
1116
+ }
1117
+ async findEndOfCentralDirectoryLocator() {
1118
+ let e = this.tokenizer, t = Math.min(16 * 1024, e.fileInfo.size), r = this.syncBuffer.subarray(0, t);
1119
+ await this.tokenizer.readBuffer(r, { position: e.fileInfo.size - t });
1120
+ for (let n = r.length - 4; n >= 0; n--) if (r[n] === le[0] && r[n + 1] === le[1] && r[n + 2] === le[2] && r[n + 3] === le[3]) return e.fileInfo.size - t + n;
1121
+ return -1;
1122
+ }
1123
+ async readCentralDirectory() {
1124
+ if (!this.tokenizer.supportsRandomAccess()) {
1125
+ D("Cannot reading central-directory without random-read support");
1126
+ return;
1127
+ }
1128
+ D("Reading central-directory...");
1129
+ let e = this.tokenizer.position, t = await this.findEndOfCentralDirectoryLocator();
1130
+ if (t > 0) {
1131
+ D("Central-directory 32-bit signature found");
1132
+ let r = await this.tokenizer.readToken(at, t), n = [];
1133
+ this.tokenizer.setPosition(r.offsetOfStartOfCd);
1134
+ for (let o = 0; o < r.nrOfEntriesOfSize; ++o) {
1135
+ let s = await this.tokenizer.readToken(ct);
1136
+ if (s.signature !== W.CentralFileHeader) throw new Error("Expected Central-File-Header signature");
1137
+ s.filename = await this.tokenizer.readToken(new S(s.filenameLength, "utf-8")), await this.tokenizer.ignore(s.extraFieldLength), await this.tokenizer.ignore(s.fileCommentLength), n.push(s), D(`Add central-directory file-entry: n=${o + 1}/${n.length}: filename=${n[o].filename}`);
1138
+ }
1139
+ return this.tokenizer.setPosition(e), n;
1140
+ }
1141
+ this.tokenizer.setPosition(e);
1142
+ }
1143
+ async unzip(e) {
1144
+ let t = await this.readCentralDirectory();
1145
+ if (t) return this.iterateOverCentralDirectory(t, e);
1146
+ let r = !1;
1147
+ do {
1148
+ let n = await this.readLocalFileHeader();
1149
+ if (!n) break;
1150
+ let o = e(n);
1151
+ r = !!o.stop;
1152
+ let s;
1153
+ if (await this.tokenizer.ignore(n.extraFieldLength), n.dataDescriptor && n.compressedSize === 0) {
1154
+ let a = [], m = ve;
1155
+ D("Compressed-file-size unknown, scanning for next data-descriptor-signature....");
1156
+ let f = -1;
1157
+ for (; f < 0 && m === ve;) {
1158
+ m = await this.tokenizer.peekBuffer(this.syncBuffer, { mayBeLess: !0 }), f = hi(this.syncBuffer.subarray(0, m), xi);
1159
+ let c = f >= 0 ? f : m;
1160
+ if (o.handler) {
1161
+ let p = new Uint8Array(c);
1162
+ await this.tokenizer.readBuffer(p), a.push(p);
1163
+ } else await this.tokenizer.ignore(c);
1164
+ }
1165
+ D(`Found data-descriptor-signature at pos=${this.tokenizer.position}`), o.handler && await this.inflate(n, gi(a), o.handler);
1166
+ } else o.handler ? (D(`Reading compressed-file-data: ${n.compressedSize} bytes`), s = new Uint8Array(n.compressedSize), await this.tokenizer.readBuffer(s), await this.inflate(n, s, o.handler)) : (D(`Ignoring compressed-file-data: ${n.compressedSize} bytes`), await this.tokenizer.ignore(n.compressedSize));
1167
+ if (D(`Reading data-descriptor at pos=${this.tokenizer.position}`), n.dataDescriptor && (await this.tokenizer.readToken(Te)).signature !== 134695760) throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - Te.len}`);
1168
+ } while (!r);
1169
+ }
1170
+ async iterateOverCentralDirectory(e, t) {
1171
+ for (let r of e) {
1172
+ let n = t(r);
1173
+ if (n.handler) {
1174
+ this.tokenizer.setPosition(r.relativeOffsetOfLocalHeader);
1175
+ let o = await this.readLocalFileHeader();
1176
+ if (o) {
1177
+ await this.tokenizer.ignore(o.extraFieldLength);
1178
+ let s = new Uint8Array(r.compressedSize);
1179
+ await this.tokenizer.readBuffer(s), await this.inflate(o, s, n.handler);
1180
+ }
1181
+ }
1182
+ if (n.stop) break;
1183
+ }
1184
+ }
1185
+ async inflate(e, t, r) {
1186
+ if (e.compressedMethod === 0) return r(t);
1187
+ if (e.compressedMethod !== 8) throw new Error(`Unsupported ZIP compression method: ${e.compressedMethod}`);
1188
+ D(`Decompress filename=${e.filename}, compressed-size=${t.length}`);
1189
+ return r(await i.decompressDeflateRaw(t));
1190
+ }
1191
+ static async decompressDeflateRaw(e) {
1192
+ let t = new ReadableStream({ start(o) {
1193
+ o.enqueue(e), o.close();
1194
+ } }), r = new DecompressionStream("deflate-raw"), n = t.pipeThrough(r);
1195
+ try {
1196
+ let s = await new Response(n).arrayBuffer();
1197
+ return new Uint8Array(s);
1198
+ } catch (o) {
1199
+ let s = o instanceof Error ? `Failed to deflate ZIP entry: ${o.message}` : "Unknown decompression error in ZIP entry";
1200
+ throw new TypeError(s);
1201
+ }
1202
+ }
1203
+ async readLocalFileHeader() {
1204
+ let e = await this.tokenizer.peekToken(x);
1205
+ if (e === W.LocalFileHeader) {
1206
+ let t = await this.tokenizer.readToken(st);
1207
+ return t.filename = await this.tokenizer.readToken(new S(t.filenameLength, "utf-8")), t;
1208
+ }
1209
+ if (e === W.CentralFileHeader) return !1;
1210
+ throw e === 3759263696 ? /* @__PURE__ */ new Error("Encrypted ZIP") : /* @__PURE__ */ new Error("Unexpected signature");
1211
+ }
1212
+ };
1213
+ function hi(i, e) {
1214
+ let t = i.length, r = e.length;
1215
+ if (r > t) return -1;
1216
+ for (let n = 0; n <= t - r; n++) {
1217
+ let o = !0;
1218
+ for (let s = 0; s < r; s++) if (i[n + s] !== e[s]) {
1219
+ o = !1;
1220
+ break;
1221
+ }
1222
+ if (o) return n;
1223
+ }
1224
+ return -1;
1225
+ }
1226
+ function gi(i) {
1227
+ let e = i.reduce((n, o) => n + o.length, 0), t = new Uint8Array(e), r = 0;
1228
+ for (let n of i) t.set(n, r), r += n.length;
1229
+ return t;
1230
+ }
1231
+ var Y = class {
1232
+ constructor(e) {
1233
+ this.tokenizer = e;
1234
+ }
1235
+ inflate() {
1236
+ let e = this.tokenizer;
1237
+ return new ReadableStream({ async pull(t) {
1238
+ let r = new Uint8Array(1024), n = await e.readBuffer(r, { mayBeLess: !0 });
1239
+ if (n === 0) {
1240
+ t.close();
1241
+ return;
1242
+ }
1243
+ t.enqueue(r.subarray(0, n));
1244
+ } }).pipeThrough(new DecompressionStream("gzip"));
1245
+ }
1246
+ };
1247
+ new globalThis.TextDecoder("utf8");
1248
+ new globalThis.TextEncoder();
1249
+ Array.from({ length: 256 }, (i, e) => e.toString(16).padStart(2, "0"));
1250
+ function Ae(i) {
1251
+ let { byteLength: e } = i;
1252
+ if (e === 6) return i.getUint16(0) * 2 ** 32 + i.getUint32(2);
1253
+ if (e === 5) return i.getUint8(0) * 2 ** 32 + i.getUint32(1);
1254
+ if (e === 4) return i.getUint32(0);
1255
+ if (e === 3) return i.getUint8(0) * 2 ** 16 + i.getUint16(1);
1256
+ if (e === 2) return i.getUint16(0);
1257
+ if (e === 1) return i.getUint8(0);
1258
+ }
1259
+ function mt(i, e) {
1260
+ if (e === "utf-16le") {
1261
+ let t = [];
1262
+ for (let r = 0; r < i.length; r++) {
1263
+ let n = i.charCodeAt(r);
1264
+ t.push(n & 255, n >> 8 & 255);
1265
+ }
1266
+ return t;
1267
+ }
1268
+ if (e === "utf-16be") {
1269
+ let t = [];
1270
+ for (let r = 0; r < i.length; r++) {
1271
+ let n = i.charCodeAt(r);
1272
+ t.push(n >> 8 & 255, n & 255);
1273
+ }
1274
+ return t;
1275
+ }
1276
+ return [...i].map((t) => t.charCodeAt(0));
1277
+ }
1278
+ function ut(i, e = 0) {
1279
+ let t = Number.parseInt(new S(6).get(i, 148).replace(/\0.*$/, "").trim(), 8);
1280
+ if (Number.isNaN(t)) return !1;
1281
+ let r = 256;
1282
+ for (let n = e; n < e + 148; n++) r += i[n];
1283
+ for (let n = e + 156; n < e + 512; n++) r += i[n];
1284
+ return t === r;
1285
+ }
1286
+ var lt = {
1287
+ get: (i, e) => i[e + 3] & 127 | i[e + 2] << 7 | i[e + 1] << 14 | i[e] << 21,
1288
+ len: 4
1289
+ };
1290
+ var dt = [
1291
+ "jpg",
1292
+ "png",
1293
+ "apng",
1294
+ "gif",
1295
+ "webp",
1296
+ "flif",
1297
+ "xcf",
1298
+ "cr2",
1299
+ "cr3",
1300
+ "orf",
1301
+ "arw",
1302
+ "dng",
1303
+ "nef",
1304
+ "rw2",
1305
+ "raf",
1306
+ "tif",
1307
+ "bmp",
1308
+ "icns",
1309
+ "jxr",
1310
+ "psd",
1311
+ "indd",
1312
+ "zip",
1313
+ "tar",
1314
+ "rar",
1315
+ "gz",
1316
+ "bz2",
1317
+ "7z",
1318
+ "dmg",
1319
+ "mp4",
1320
+ "mid",
1321
+ "mkv",
1322
+ "webm",
1323
+ "mov",
1324
+ "avi",
1325
+ "mpg",
1326
+ "mp2",
1327
+ "mp3",
1328
+ "m4a",
1329
+ "oga",
1330
+ "ogg",
1331
+ "ogv",
1332
+ "opus",
1333
+ "flac",
1334
+ "wav",
1335
+ "spx",
1336
+ "amr",
1337
+ "pdf",
1338
+ "epub",
1339
+ "elf",
1340
+ "macho",
1341
+ "exe",
1342
+ "swf",
1343
+ "rtf",
1344
+ "wasm",
1345
+ "woff",
1346
+ "woff2",
1347
+ "eot",
1348
+ "ttf",
1349
+ "otf",
1350
+ "ttc",
1351
+ "ico",
1352
+ "flv",
1353
+ "ps",
1354
+ "xz",
1355
+ "sqlite",
1356
+ "nes",
1357
+ "crx",
1358
+ "xpi",
1359
+ "cab",
1360
+ "deb",
1361
+ "ar",
1362
+ "rpm",
1363
+ "Z",
1364
+ "lz",
1365
+ "cfb",
1366
+ "mxf",
1367
+ "mts",
1368
+ "blend",
1369
+ "bpg",
1370
+ "docx",
1371
+ "pptx",
1372
+ "xlsx",
1373
+ "3gp",
1374
+ "3g2",
1375
+ "j2c",
1376
+ "jp2",
1377
+ "jpm",
1378
+ "jpx",
1379
+ "mj2",
1380
+ "aif",
1381
+ "qcp",
1382
+ "odt",
1383
+ "ods",
1384
+ "odp",
1385
+ "xml",
1386
+ "mobi",
1387
+ "heic",
1388
+ "cur",
1389
+ "ktx",
1390
+ "ape",
1391
+ "wv",
1392
+ "dcm",
1393
+ "ics",
1394
+ "glb",
1395
+ "pcap",
1396
+ "dsf",
1397
+ "lnk",
1398
+ "alias",
1399
+ "voc",
1400
+ "ac3",
1401
+ "m4v",
1402
+ "m4p",
1403
+ "m4b",
1404
+ "f4v",
1405
+ "f4p",
1406
+ "f4b",
1407
+ "f4a",
1408
+ "mie",
1409
+ "asf",
1410
+ "ogm",
1411
+ "ogx",
1412
+ "mpc",
1413
+ "arrow",
1414
+ "shp",
1415
+ "aac",
1416
+ "mp1",
1417
+ "it",
1418
+ "s3m",
1419
+ "xm",
1420
+ "skp",
1421
+ "avif",
1422
+ "eps",
1423
+ "lzh",
1424
+ "pgp",
1425
+ "asar",
1426
+ "stl",
1427
+ "chm",
1428
+ "3mf",
1429
+ "zst",
1430
+ "jxl",
1431
+ "vcf",
1432
+ "jls",
1433
+ "pst",
1434
+ "dwg",
1435
+ "parquet",
1436
+ "class",
1437
+ "arj",
1438
+ "cpio",
1439
+ "ace",
1440
+ "avro",
1441
+ "icc",
1442
+ "fbx",
1443
+ "vsdx",
1444
+ "vtt",
1445
+ "apk",
1446
+ "drc",
1447
+ "lz4",
1448
+ "potx",
1449
+ "xltx",
1450
+ "dotx",
1451
+ "xltm",
1452
+ "ott",
1453
+ "ots",
1454
+ "otp",
1455
+ "odg",
1456
+ "otg",
1457
+ "xlsm",
1458
+ "docm",
1459
+ "dotm",
1460
+ "potm",
1461
+ "pptm",
1462
+ "jar",
1463
+ "jmp",
1464
+ "rm",
1465
+ "sav",
1466
+ "ppsm",
1467
+ "ppsx",
1468
+ "tar.gz",
1469
+ "reg",
1470
+ "dat"
1471
+ ], xt = [
1472
+ "image/jpeg",
1473
+ "image/png",
1474
+ "image/gif",
1475
+ "image/webp",
1476
+ "image/flif",
1477
+ "image/x-xcf",
1478
+ "image/x-canon-cr2",
1479
+ "image/x-canon-cr3",
1480
+ "image/tiff",
1481
+ "image/bmp",
1482
+ "image/vnd.ms-photo",
1483
+ "image/vnd.adobe.photoshop",
1484
+ "application/x-indesign",
1485
+ "application/epub+zip",
1486
+ "application/x-xpinstall",
1487
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
1488
+ "application/vnd.oasis.opendocument.text",
1489
+ "application/vnd.oasis.opendocument.spreadsheet",
1490
+ "application/vnd.oasis.opendocument.presentation",
1491
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
1492
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation",
1493
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
1494
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
1495
+ "application/zip",
1496
+ "application/x-tar",
1497
+ "application/x-rar-compressed",
1498
+ "application/gzip",
1499
+ "application/x-bzip2",
1500
+ "application/x-7z-compressed",
1501
+ "application/x-apple-diskimage",
1502
+ "application/vnd.apache.arrow.file",
1503
+ "video/mp4",
1504
+ "audio/midi",
1505
+ "video/matroska",
1506
+ "video/webm",
1507
+ "video/quicktime",
1508
+ "video/vnd.avi",
1509
+ "audio/wav",
1510
+ "audio/qcelp",
1511
+ "audio/x-ms-asf",
1512
+ "video/x-ms-asf",
1513
+ "application/vnd.ms-asf",
1514
+ "video/mpeg",
1515
+ "video/3gpp",
1516
+ "audio/mpeg",
1517
+ "audio/mp4",
1518
+ "video/ogg",
1519
+ "audio/ogg",
1520
+ "audio/ogg; codecs=opus",
1521
+ "application/ogg",
1522
+ "audio/flac",
1523
+ "audio/ape",
1524
+ "audio/wavpack",
1525
+ "audio/amr",
1526
+ "application/pdf",
1527
+ "application/x-elf",
1528
+ "application/x-mach-binary",
1529
+ "application/x-msdownload",
1530
+ "application/x-shockwave-flash",
1531
+ "application/rtf",
1532
+ "application/wasm",
1533
+ "font/woff",
1534
+ "font/woff2",
1535
+ "application/vnd.ms-fontobject",
1536
+ "font/ttf",
1537
+ "font/otf",
1538
+ "font/collection",
1539
+ "image/x-icon",
1540
+ "video/x-flv",
1541
+ "application/postscript",
1542
+ "application/eps",
1543
+ "application/x-xz",
1544
+ "application/x-sqlite3",
1545
+ "application/x-nintendo-nes-rom",
1546
+ "application/x-google-chrome-extension",
1547
+ "application/vnd.ms-cab-compressed",
1548
+ "application/x-deb",
1549
+ "application/x-unix-archive",
1550
+ "application/x-rpm",
1551
+ "application/x-compress",
1552
+ "application/x-lzip",
1553
+ "application/x-cfb",
1554
+ "application/x-mie",
1555
+ "application/mxf",
1556
+ "video/mp2t",
1557
+ "application/x-blender",
1558
+ "image/bpg",
1559
+ "image/j2c",
1560
+ "image/jp2",
1561
+ "image/jpx",
1562
+ "image/jpm",
1563
+ "image/mj2",
1564
+ "audio/aiff",
1565
+ "application/xml",
1566
+ "application/x-mobipocket-ebook",
1567
+ "image/heif",
1568
+ "image/heif-sequence",
1569
+ "image/heic",
1570
+ "image/heic-sequence",
1571
+ "image/icns",
1572
+ "image/ktx",
1573
+ "application/dicom",
1574
+ "audio/x-musepack",
1575
+ "text/calendar",
1576
+ "text/vcard",
1577
+ "text/vtt",
1578
+ "model/gltf-binary",
1579
+ "application/vnd.tcpdump.pcap",
1580
+ "audio/x-dsf",
1581
+ "application/x.ms.shortcut",
1582
+ "application/x.apple.alias",
1583
+ "audio/x-voc",
1584
+ "audio/vnd.dolby.dd-raw",
1585
+ "audio/x-m4a",
1586
+ "image/apng",
1587
+ "image/x-olympus-orf",
1588
+ "image/x-sony-arw",
1589
+ "image/x-adobe-dng",
1590
+ "image/x-nikon-nef",
1591
+ "image/x-panasonic-rw2",
1592
+ "image/x-fujifilm-raf",
1593
+ "video/x-m4v",
1594
+ "video/3gpp2",
1595
+ "application/x-esri-shape",
1596
+ "audio/aac",
1597
+ "audio/x-it",
1598
+ "audio/x-s3m",
1599
+ "audio/x-xm",
1600
+ "video/MP1S",
1601
+ "video/MP2P",
1602
+ "application/vnd.sketchup.skp",
1603
+ "image/avif",
1604
+ "application/x-lzh-compressed",
1605
+ "application/pgp-encrypted",
1606
+ "application/x-asar",
1607
+ "model/stl",
1608
+ "application/vnd.ms-htmlhelp",
1609
+ "model/3mf",
1610
+ "image/jxl",
1611
+ "application/zstd",
1612
+ "image/jls",
1613
+ "application/vnd.ms-outlook",
1614
+ "image/vnd.dwg",
1615
+ "application/vnd.apache.parquet",
1616
+ "application/java-vm",
1617
+ "application/x-arj",
1618
+ "application/x-cpio",
1619
+ "application/x-ace-compressed",
1620
+ "application/avro",
1621
+ "application/vnd.iccprofile",
1622
+ "application/x.autodesk.fbx",
1623
+ "application/vnd.visio",
1624
+ "application/vnd.android.package-archive",
1625
+ "application/vnd.google.draco",
1626
+ "application/x-lz4",
1627
+ "application/vnd.openxmlformats-officedocument.presentationml.template",
1628
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
1629
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
1630
+ "application/vnd.ms-excel.template.macroenabled.12",
1631
+ "application/vnd.oasis.opendocument.text-template",
1632
+ "application/vnd.oasis.opendocument.spreadsheet-template",
1633
+ "application/vnd.oasis.opendocument.presentation-template",
1634
+ "application/vnd.oasis.opendocument.graphics",
1635
+ "application/vnd.oasis.opendocument.graphics-template",
1636
+ "application/vnd.ms-excel.sheet.macroenabled.12",
1637
+ "application/vnd.ms-word.document.macroenabled.12",
1638
+ "application/vnd.ms-word.template.macroenabled.12",
1639
+ "application/vnd.ms-powerpoint.template.macroenabled.12",
1640
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12",
1641
+ "application/java-archive",
1642
+ "application/vnd.rn-realmedia",
1643
+ "application/x-spss-sav",
1644
+ "application/x-ms-regedit",
1645
+ "application/x-ft-windows-registry-hive",
1646
+ "application/x-jmp-data"
1647
+ ];
1648
+ var K = 4100, wi = K - 2, z = 1024 * 1024, ht = 1024, yi = 2 ** 31 - 1, v = 16 * 1024 * 1024, xe = z, gt = z, ki = v, bi = 1, wt = 100, Ie = v, yt = 64, kt = xe, Ci = 256, Si = 512, Fi = v, Ei = 512, Ti = 512, bt = 256, Ct = xe, St = xe, vi = xe, Ft = v, Ai = new Set([
1649
+ "Unexpected signature",
1650
+ "Encrypted ZIP",
1651
+ "Expected Central-File-Header signature"
1652
+ ]), Ii = [
1653
+ "ZIP entry count exceeds ",
1654
+ "Unsupported ZIP compression method:",
1655
+ "ZIP entry compressed data exceeds ",
1656
+ "ZIP entry decompressed data exceeds ",
1657
+ "Expected data-descriptor-signature at position "
1658
+ ], Bi = new Set([
1659
+ "Z_BUF_ERROR",
1660
+ "Z_DATA_ERROR",
1661
+ "ERR_INVALID_STATE"
1662
+ ]), M = class extends Error {};
1663
+ function Di(i) {
1664
+ let e = i?.streamReader;
1665
+ if (e?.constructor?.name !== "WebStreamByobReader") return i;
1666
+ let { reader: t } = e, r = async () => {
1667
+ await t.cancel(), t.releaseLock();
1668
+ };
1669
+ return e.close = r, e.abort = async () => {
1670
+ e.interrupted = !0, await r();
1671
+ }, i;
1672
+ }
1673
+ function Oe(i, e, t) {
1674
+ if (!Number.isFinite(i) || i < 0 || i > e) throw new M(`${t} has invalid size ${i} (maximum ${e} bytes)`);
1675
+ return i;
1676
+ }
1677
+ async function R(i, e, { maximumLength: t = v, reason: r = "skip" } = {}) {
1678
+ let n = Oe(e, t, r);
1679
+ await i.ignore(n);
1680
+ }
1681
+ async function Be(i, e, t, { maximumLength: r = e.length, reason: n = "read" } = {}) {
1682
+ let s = Oe(t?.length ?? e.length, r, n);
1683
+ return i.readBuffer(e, {
1684
+ ...t,
1685
+ length: s
1686
+ });
1687
+ }
1688
+ async function Oi(i, { maximumLength: e = z } = {}) {
1689
+ let n = new ReadableStream({ start(f) {
1690
+ f.enqueue(i), f.close();
1691
+ } }).pipeThrough(new DecompressionStream("deflate-raw")).getReader(), o = [], s = 0;
1692
+ try {
1693
+ for (;;) {
1694
+ let { done: f, value: c } = await n.read();
1695
+ if (f) break;
1696
+ if (s += c.length, s > e) throw await n.cancel(), /* @__PURE__ */ new Error(`ZIP entry decompressed data exceeds ${e} bytes`);
1697
+ o.push(c);
1698
+ }
1699
+ } finally {
1700
+ n.releaseLock();
1701
+ }
1702
+ let a = new Uint8Array(s), m = 0;
1703
+ for (let f of o) a.set(f, m), m += f.length;
1704
+ return a;
1705
+ }
1706
+ var At = 134695760, de = 16, zi = de - 1;
1707
+ function Mi(i, e) {
1708
+ if (i.length < de) return -1;
1709
+ let t = i.length - de;
1710
+ for (let r = 0; r <= t; r++) if (x.get(i, r) === At && x.get(i, r + 8) === e + r) return r;
1711
+ return -1;
1712
+ }
1713
+ function Li(i) {
1714
+ return (i.codePointAt(0) & 32) !== 0;
1715
+ }
1716
+ function Ui(i, e) {
1717
+ let t = new Uint8Array(e), r = 0;
1718
+ for (let n of i) t.set(n, r), r += n.length;
1719
+ return t;
1720
+ }
1721
+ async function Ri(i, { shouldBuffer: e, maximumLength: t = z } = {}) {
1722
+ let { syncBuffer: r } = i, { length: n } = r, o = [], s = 0;
1723
+ for (;;) {
1724
+ let a = await i.tokenizer.peekBuffer(r, { mayBeLess: !0 }), m = Mi(r.subarray(0, a), s), f = m >= 0 ? 0 : a === n ? Math.min(zi, a - 1) : 0, c = m >= 0 ? m : a - f;
1725
+ if (c === 0) break;
1726
+ if (s += c, s > t) throw new Error(`ZIP entry compressed data exceeds ${t} bytes`);
1727
+ if (e) {
1728
+ let p = new Uint8Array(c);
1729
+ await i.tokenizer.readBuffer(p), o.push(p);
1730
+ } else await i.tokenizer.ignore(c);
1731
+ if (m >= 0) break;
1732
+ }
1733
+ if (b(i.tokenizer) || (i.knownSizeDescriptorScannedBytes += s), !!e) return Ui(o, s);
1734
+ }
1735
+ function Pi(i, e) {
1736
+ return b(i.tokenizer) ? Math.max(0, v - (i.tokenizer.position - e)) : Math.max(0, z - i.knownSizeDescriptorScannedBytes);
1737
+ }
1738
+ async function Ni(i, e, { shouldBuffer: t, maximumDescriptorLength: r = z } = {}) {
1739
+ if (e.dataDescriptor && e.compressedSize === 0) return Ri(i, {
1740
+ shouldBuffer: t,
1741
+ maximumLength: r
1742
+ });
1743
+ if (!t) {
1744
+ await R(i.tokenizer, e.compressedSize, {
1745
+ maximumLength: b(i.tokenizer) ? z : i.tokenizer.fileInfo.size,
1746
+ reason: "ZIP entry compressed data"
1747
+ });
1748
+ return;
1749
+ }
1750
+ let n = Zi(i.tokenizer);
1751
+ if (!Number.isFinite(e.compressedSize) || e.compressedSize < 0 || e.compressedSize > n) throw new Error(`ZIP entry compressed data exceeds ${n} bytes`);
1752
+ let o = new Uint8Array(e.compressedSize);
1753
+ return await i.tokenizer.readBuffer(o), o;
1754
+ }
1755
+ G.prototype.inflate = async function(i, e, t) {
1756
+ if (i.compressedMethod === 0) return t(e);
1757
+ if (i.compressedMethod !== 8) throw new Error(`Unsupported ZIP compression method: ${i.compressedMethod}`);
1758
+ return t(await Oi(e, { maximumLength: z }));
1759
+ };
1760
+ G.prototype.unzip = async function(i) {
1761
+ let e = !1, t = 0, r = this.tokenizer.position;
1762
+ this.knownSizeDescriptorScannedBytes = 0;
1763
+ do {
1764
+ if (ee(this.tokenizer, r, v)) throw new M(`ZIP stream probing exceeds ${v} bytes`);
1765
+ let n = await this.readLocalFileHeader();
1766
+ if (!n) break;
1767
+ if (t++, t > ht) throw new Error(`ZIP entry count exceeds ${ht}`);
1768
+ let o = i(n);
1769
+ e = !!o.stop, await this.tokenizer.ignore(n.extraFieldLength);
1770
+ let s = await Ni(this, n, {
1771
+ shouldBuffer: !!o.handler,
1772
+ maximumDescriptorLength: Math.min(z, Pi(this, r))
1773
+ });
1774
+ if (o.handler && await this.inflate(n, s, o.handler), n.dataDescriptor) {
1775
+ let a = new Uint8Array(de);
1776
+ if (await this.tokenizer.readBuffer(a), x.get(a, 0) !== At) throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - a.length}`);
1777
+ }
1778
+ if (ee(this.tokenizer, r, v)) throw new M(`ZIP stream probing exceeds ${v} bytes`);
1779
+ } while (!e);
1780
+ };
1781
+ function ji(i, e) {
1782
+ let t = i.getReader(), r = 0, n = !1, o = !1, s = async (a) => {
1783
+ n || o || (o = !0, await t.cancel(a));
1784
+ };
1785
+ return new ReadableStream({
1786
+ async pull(a) {
1787
+ if (r >= e) {
1788
+ a.close(), await s();
1789
+ return;
1790
+ }
1791
+ let { done: m, value: f } = await t.read();
1792
+ if (m || !f) {
1793
+ n = !0, a.close();
1794
+ return;
1795
+ }
1796
+ let c = e - r;
1797
+ if (f.length > c) {
1798
+ a.enqueue(f.subarray(0, c)), r += c, a.close(), await s();
1799
+ return;
1800
+ }
1801
+ a.enqueue(f), r += f.length;
1802
+ },
1803
+ async cancel(a) {
1804
+ await s(a);
1805
+ }
1806
+ });
1807
+ }
1808
+ async function ze(i, e) {
1809
+ return new De(e).fromBuffer(i);
1810
+ }
1811
+ function Et(i) {
1812
+ switch (i = i.toLowerCase(), i) {
1813
+ case "application/epub+zip": return {
1814
+ ext: "epub",
1815
+ mime: i
1816
+ };
1817
+ case "application/vnd.oasis.opendocument.text": return {
1818
+ ext: "odt",
1819
+ mime: i
1820
+ };
1821
+ case "application/vnd.oasis.opendocument.text-template": return {
1822
+ ext: "ott",
1823
+ mime: i
1824
+ };
1825
+ case "application/vnd.oasis.opendocument.spreadsheet": return {
1826
+ ext: "ods",
1827
+ mime: i
1828
+ };
1829
+ case "application/vnd.oasis.opendocument.spreadsheet-template": return {
1830
+ ext: "ots",
1831
+ mime: i
1832
+ };
1833
+ case "application/vnd.oasis.opendocument.presentation": return {
1834
+ ext: "odp",
1835
+ mime: i
1836
+ };
1837
+ case "application/vnd.oasis.opendocument.presentation-template": return {
1838
+ ext: "otp",
1839
+ mime: i
1840
+ };
1841
+ case "application/vnd.oasis.opendocument.graphics": return {
1842
+ ext: "odg",
1843
+ mime: i
1844
+ };
1845
+ case "application/vnd.oasis.opendocument.graphics-template": return {
1846
+ ext: "otg",
1847
+ mime: i
1848
+ };
1849
+ case "application/vnd.openxmlformats-officedocument.presentationml.slideshow": return {
1850
+ ext: "ppsx",
1851
+ mime: i
1852
+ };
1853
+ case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return {
1854
+ ext: "xlsx",
1855
+ mime: i
1856
+ };
1857
+ case "application/vnd.ms-excel.sheet.macroenabled": return {
1858
+ ext: "xlsm",
1859
+ mime: "application/vnd.ms-excel.sheet.macroenabled.12"
1860
+ };
1861
+ case "application/vnd.openxmlformats-officedocument.spreadsheetml.template": return {
1862
+ ext: "xltx",
1863
+ mime: i
1864
+ };
1865
+ case "application/vnd.ms-excel.template.macroenabled": return {
1866
+ ext: "xltm",
1867
+ mime: "application/vnd.ms-excel.template.macroenabled.12"
1868
+ };
1869
+ case "application/vnd.ms-powerpoint.slideshow.macroenabled": return {
1870
+ ext: "ppsm",
1871
+ mime: "application/vnd.ms-powerpoint.slideshow.macroenabled.12"
1872
+ };
1873
+ case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return {
1874
+ ext: "docx",
1875
+ mime: i
1876
+ };
1877
+ case "application/vnd.ms-word.document.macroenabled": return {
1878
+ ext: "docm",
1879
+ mime: "application/vnd.ms-word.document.macroenabled.12"
1880
+ };
1881
+ case "application/vnd.openxmlformats-officedocument.wordprocessingml.template": return {
1882
+ ext: "dotx",
1883
+ mime: i
1884
+ };
1885
+ case "application/vnd.ms-word.template.macroenabledtemplate": return {
1886
+ ext: "dotm",
1887
+ mime: "application/vnd.ms-word.template.macroenabled.12"
1888
+ };
1889
+ case "application/vnd.openxmlformats-officedocument.presentationml.template": return {
1890
+ ext: "potx",
1891
+ mime: i
1892
+ };
1893
+ case "application/vnd.ms-powerpoint.template.macroenabled": return {
1894
+ ext: "potm",
1895
+ mime: "application/vnd.ms-powerpoint.template.macroenabled.12"
1896
+ };
1897
+ case "application/vnd.openxmlformats-officedocument.presentationml.presentation": return {
1898
+ ext: "pptx",
1899
+ mime: i
1900
+ };
1901
+ case "application/vnd.ms-powerpoint.presentation.macroenabled": return {
1902
+ ext: "pptm",
1903
+ mime: "application/vnd.ms-powerpoint.presentation.macroenabled.12"
1904
+ };
1905
+ case "application/vnd.ms-visio.drawing": return {
1906
+ ext: "vsdx",
1907
+ mime: "application/vnd.visio"
1908
+ };
1909
+ case "application/vnd.ms-package.3dmanufacturing-3dmodel+xml": return {
1910
+ ext: "3mf",
1911
+ mime: "model/3mf"
1912
+ };
1913
+ default:
1914
+ }
1915
+ }
1916
+ function O(i, e, t) {
1917
+ t = {
1918
+ offset: 0,
1919
+ ...t
1920
+ };
1921
+ for (let [r, n] of e.entries()) if (t.mask) {
1922
+ if (n !== (t.mask[r] & i[r + t.offset])) return !1;
1923
+ } else if (n !== i[r + t.offset]) return !1;
1924
+ return !0;
1925
+ }
1926
+ function _i(i) {
1927
+ return Number.isFinite(i) ? Math.max(1, Math.trunc(i)) : K;
1928
+ }
1929
+ function $i(i, e, t) {
1930
+ return t === void 0 ? i.read(e) : (t.throwIfAborted(), new Promise((r, n) => {
1931
+ let o = () => {
1932
+ t.removeEventListener("abort", s);
1933
+ }, s = () => {
1934
+ let a = t.reason;
1935
+ o(), (async () => {
1936
+ try {
1937
+ await i.cancel(a);
1938
+ } catch {}
1939
+ })(), n(a);
1940
+ };
1941
+ t.addEventListener("abort", s, { once: !0 }), (async () => {
1942
+ try {
1943
+ let a = await i.read(e);
1944
+ o(), r(a);
1945
+ } catch (a) {
1946
+ o(), n(a);
1947
+ }
1948
+ })();
1949
+ }));
1950
+ }
1951
+ function Wi(i) {
1952
+ return Number.isFinite(i) ? Math.max(0, Math.min(wi, Math.trunc(i))) : 0;
1953
+ }
1954
+ function Gi(i) {
1955
+ return Number.isFinite(i) ? Math.max(0, i) : Number.MAX_SAFE_INTEGER;
1956
+ }
1957
+ function b(i) {
1958
+ let e = i.fileInfo.size;
1959
+ return !Number.isFinite(e) || e === Number.MAX_SAFE_INTEGER;
1960
+ }
1961
+ function ee(i, e, t) {
1962
+ return b(i) && i.position - e > t;
1963
+ }
1964
+ function Zi(i) {
1965
+ let e = i.fileInfo.size, t = Number.isFinite(e) ? Math.max(0, e - i.position) : Number.MAX_SAFE_INTEGER;
1966
+ return Math.min(t, yi);
1967
+ }
1968
+ function Vi(i) {
1969
+ if (i instanceof l || i instanceof M) return !0;
1970
+ if (!(i instanceof Error)) return !1;
1971
+ if (Ai.has(i.message) || Bi.has(i.code)) return !0;
1972
+ for (let e of Ii) if (i.message.startsWith(e)) return !0;
1973
+ return !1;
1974
+ }
1975
+ function Tt(i, e = z) {
1976
+ let t = [i.compressedSize, i.uncompressedSize];
1977
+ for (let r of t) if (!Number.isFinite(r) || r < 0 || r > e) return !1;
1978
+ return !0;
1979
+ }
1980
+ function qi() {
1981
+ return {
1982
+ hasContentTypesEntry: !1,
1983
+ hasParsedContentTypesEntry: !1,
1984
+ isParsingContentTypes: !1,
1985
+ hasUnparseableContentTypes: !1,
1986
+ hasWordDirectory: !1,
1987
+ hasPresentationDirectory: !1,
1988
+ hasSpreadsheetDirectory: !1,
1989
+ hasThreeDimensionalModelEntry: !1
1990
+ };
1991
+ }
1992
+ function Hi(i, e) {
1993
+ e.startsWith("word/") && (i.hasWordDirectory = !0), e.startsWith("ppt/") && (i.hasPresentationDirectory = !0), e.startsWith("xl/") && (i.hasSpreadsheetDirectory = !0), e.startsWith("3D/") && e.endsWith(".model") && (i.hasThreeDimensionalModelEntry = !0);
1994
+ }
1995
+ function vt(i) {
1996
+ if (!(!i.hasContentTypesEntry || i.hasUnparseableContentTypes || i.isParsingContentTypes || i.hasParsedContentTypesEntry)) {
1997
+ if (i.hasWordDirectory) return {
1998
+ ext: "docx",
1999
+ mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
2000
+ };
2001
+ if (i.hasPresentationDirectory) return {
2002
+ ext: "pptx",
2003
+ mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation"
2004
+ };
2005
+ if (i.hasSpreadsheetDirectory) return {
2006
+ ext: "xlsx",
2007
+ mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
2008
+ };
2009
+ if (i.hasThreeDimensionalModelEntry) return {
2010
+ ext: "3mf",
2011
+ mime: "model/3mf"
2012
+ };
2013
+ }
2014
+ }
2015
+ function Ji(i) {
2016
+ let e = i.indexOf(".main+xml\"");
2017
+ if (e === -1) {
2018
+ let n = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml";
2019
+ return i.includes(`ContentType="${n}"`) ? n : void 0;
2020
+ }
2021
+ let t = i.slice(0, e), r = t.lastIndexOf("\"");
2022
+ return t.slice(r + 1);
2023
+ }
2024
+ var De = class i {
2025
+ constructor(e) {
2026
+ let t = Wi(e?.mpegOffsetTolerance);
2027
+ this.options = {
2028
+ ...e,
2029
+ mpegOffsetTolerance: t
2030
+ }, this.detectors = [
2031
+ ...this.options.customDetectors ?? [],
2032
+ {
2033
+ id: "core",
2034
+ detect: this.detectConfident
2035
+ },
2036
+ {
2037
+ id: "core.imprecise",
2038
+ detect: this.detectImprecise
2039
+ }
2040
+ ], this.tokenizerOptions = { abortSignal: this.options.signal }, this.gzipProbeDepth = 0;
2041
+ }
2042
+ getTokenizerOptions() {
2043
+ return { ...this.tokenizerOptions };
2044
+ }
2045
+ createTokenizerFromWebStream(e) {
2046
+ return Di(Pe(e, this.getTokenizerOptions()));
2047
+ }
2048
+ async parseTokenizer(e, t = 0) {
2049
+ this.detectionReentryCount = t;
2050
+ let r = e.position;
2051
+ for (let n of this.detectors) {
2052
+ let o;
2053
+ try {
2054
+ o = await n.detect(e);
2055
+ } catch (s) {
2056
+ if (s instanceof l || s instanceof M) return;
2057
+ throw s;
2058
+ }
2059
+ if (o) return o;
2060
+ if (r !== e.position) return;
2061
+ }
2062
+ }
2063
+ async fromTokenizer(e) {
2064
+ try {
2065
+ return await this.parseTokenizer(e);
2066
+ } finally {
2067
+ await e.close();
2068
+ }
2069
+ }
2070
+ async fromBuffer(e) {
2071
+ if (!(e instanceof Uint8Array || e instanceof ArrayBuffer)) throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);
2072
+ let t = e instanceof Uint8Array ? e : new Uint8Array(e);
2073
+ if (t?.length > 1) return this.fromTokenizer(Ne(t, this.getTokenizerOptions()));
2074
+ }
2075
+ async fromBlob(e) {
2076
+ this.options.signal?.throwIfAborted();
2077
+ let t = je(e, this.getTokenizerOptions());
2078
+ return this.fromTokenizer(t);
2079
+ }
2080
+ async fromStream(e) {
2081
+ this.options.signal?.throwIfAborted();
2082
+ let t = this.createTokenizerFromWebStream(e);
2083
+ return this.fromTokenizer(t);
2084
+ }
2085
+ async toDetectionStream(e, t) {
2086
+ let r = _i(t?.sampleSize ?? K), n, o, s = e.getReader({ mode: "byob" });
2087
+ try {
2088
+ let { value: f, done: c } = await $i(s, new Uint8Array(r), this.options.signal);
2089
+ if (o = f, !c && f) try {
2090
+ n = await this.fromBuffer(f.subarray(0, r));
2091
+ } catch (p) {
2092
+ if (!(p instanceof l)) throw p;
2093
+ n = void 0;
2094
+ }
2095
+ o = f;
2096
+ } finally {
2097
+ s.releaseLock();
2098
+ }
2099
+ let a = new TransformStream({
2100
+ async start(f) {
2101
+ f.enqueue(o);
2102
+ },
2103
+ transform(f, c) {
2104
+ c.enqueue(f);
2105
+ }
2106
+ }), m = e.pipeThrough(a);
2107
+ return m.fileType = n, m;
2108
+ }
2109
+ async detectGzip(e) {
2110
+ if (this.gzipProbeDepth >= bi) return {
2111
+ ext: "gz",
2112
+ mime: "application/gzip"
2113
+ };
2114
+ let r = ji(new Y(e).inflate(), ki), n = b(e), o, s, a, m;
2115
+ if (n) {
2116
+ let f = new AbortController();
2117
+ o = setTimeout(() => {
2118
+ f.abort(new DOMException(`Operation timed out after ${wt} ms`, "TimeoutError"));
2119
+ }, wt), s = this.options.signal === void 0 ? f.signal : AbortSignal.any([this.options.signal, f.signal]), a = new i({
2120
+ ...this.options,
2121
+ signal: s
2122
+ }), a.gzipProbeDepth = this.gzipProbeDepth + 1;
2123
+ } else this.gzipProbeDepth++;
2124
+ try {
2125
+ m = await (a ?? this).fromStream(r);
2126
+ } catch (f) {
2127
+ if (f?.name === "AbortError" && s?.reason?.name !== "TimeoutError") throw f;
2128
+ } finally {
2129
+ clearTimeout(o), n || this.gzipProbeDepth--;
2130
+ }
2131
+ return m?.ext === "tar" ? {
2132
+ ext: "tar.gz",
2133
+ mime: "application/gzip"
2134
+ } : {
2135
+ ext: "gz",
2136
+ mime: "application/gzip"
2137
+ };
2138
+ }
2139
+ check(e, t) {
2140
+ return O(this.buffer, e, t);
2141
+ }
2142
+ checkString(e, t) {
2143
+ return this.check(mt(e, t?.encoding), t);
2144
+ }
2145
+ detectConfident = async (e) => {
2146
+ if (this.buffer = new Uint8Array(K), e.fileInfo.size === void 0 && (e.fileInfo.size = Number.MAX_SAFE_INTEGER), this.tokenizer = e, b(e) && (await e.peekBuffer(this.buffer, {
2147
+ length: 3,
2148
+ mayBeLess: !0
2149
+ }), this.check([
2150
+ 31,
2151
+ 139,
2152
+ 8
2153
+ ]))) return this.detectGzip(e);
2154
+ if (await e.peekBuffer(this.buffer, {
2155
+ length: 32,
2156
+ mayBeLess: !0
2157
+ }), this.check([66, 77])) return {
2158
+ ext: "bmp",
2159
+ mime: "image/bmp"
2160
+ };
2161
+ if (this.check([11, 119])) return {
2162
+ ext: "ac3",
2163
+ mime: "audio/vnd.dolby.dd-raw"
2164
+ };
2165
+ if (this.check([120, 1])) return {
2166
+ ext: "dmg",
2167
+ mime: "application/x-apple-diskimage"
2168
+ };
2169
+ if (this.check([77, 90])) return {
2170
+ ext: "exe",
2171
+ mime: "application/x-msdownload"
2172
+ };
2173
+ if (this.check([37, 33])) return await e.peekBuffer(this.buffer, {
2174
+ length: 24,
2175
+ mayBeLess: !0
2176
+ }), this.checkString("PS-Adobe-", { offset: 2 }) && this.checkString(" EPSF-", { offset: 14 }) ? {
2177
+ ext: "eps",
2178
+ mime: "application/eps"
2179
+ } : {
2180
+ ext: "ps",
2181
+ mime: "application/postscript"
2182
+ };
2183
+ if (this.check([31, 160]) || this.check([31, 157])) return {
2184
+ ext: "Z",
2185
+ mime: "application/x-compress"
2186
+ };
2187
+ if (this.check([199, 113])) return {
2188
+ ext: "cpio",
2189
+ mime: "application/x-cpio"
2190
+ };
2191
+ if (this.check([96, 234])) return {
2192
+ ext: "arj",
2193
+ mime: "application/x-arj"
2194
+ };
2195
+ if (this.check([
2196
+ 239,
2197
+ 187,
2198
+ 191
2199
+ ])) return this.detectionReentryCount >= bt ? void 0 : (this.detectionReentryCount++, await this.tokenizer.ignore(3), this.detectConfident(e));
2200
+ if (this.check([
2201
+ 71,
2202
+ 73,
2203
+ 70
2204
+ ])) return {
2205
+ ext: "gif",
2206
+ mime: "image/gif"
2207
+ };
2208
+ if (this.check([
2209
+ 73,
2210
+ 73,
2211
+ 188
2212
+ ])) return {
2213
+ ext: "jxr",
2214
+ mime: "image/vnd.ms-photo"
2215
+ };
2216
+ if (this.check([
2217
+ 31,
2218
+ 139,
2219
+ 8
2220
+ ])) return this.detectGzip(e);
2221
+ if (this.check([
2222
+ 66,
2223
+ 90,
2224
+ 104
2225
+ ])) return {
2226
+ ext: "bz2",
2227
+ mime: "application/x-bzip2"
2228
+ };
2229
+ if (this.checkString("ID3")) {
2230
+ await R(e, 6, {
2231
+ maximumLength: 6,
2232
+ reason: "ID3 header prefix"
2233
+ });
2234
+ let t = await e.readToken(lt), r = b(e);
2235
+ if (!Number.isFinite(t) || t < 0 || r && (t > Ie || e.position + t > Ie)) return;
2236
+ if (e.position + t > e.fileInfo.size) return r ? void 0 : {
2237
+ ext: "mp3",
2238
+ mime: "audio/mpeg"
2239
+ };
2240
+ try {
2241
+ await R(e, t, {
2242
+ maximumLength: r ? Ie : e.fileInfo.size,
2243
+ reason: "ID3 payload"
2244
+ });
2245
+ } catch (n) {
2246
+ if (n instanceof l) return;
2247
+ throw n;
2248
+ }
2249
+ return this.detectionReentryCount >= bt ? void 0 : (this.detectionReentryCount++, this.parseTokenizer(e, this.detectionReentryCount));
2250
+ }
2251
+ if (this.checkString("MP+")) return {
2252
+ ext: "mpc",
2253
+ mime: "audio/x-musepack"
2254
+ };
2255
+ if ((this.buffer[0] === 67 || this.buffer[0] === 70) && this.check([87, 83], { offset: 1 })) return {
2256
+ ext: "swf",
2257
+ mime: "application/x-shockwave-flash"
2258
+ };
2259
+ if (this.check([
2260
+ 255,
2261
+ 216,
2262
+ 255
2263
+ ])) return this.check([247], { offset: 3 }) ? {
2264
+ ext: "jls",
2265
+ mime: "image/jls"
2266
+ } : {
2267
+ ext: "jpg",
2268
+ mime: "image/jpeg"
2269
+ };
2270
+ if (this.check([
2271
+ 79,
2272
+ 98,
2273
+ 106,
2274
+ 1
2275
+ ])) return {
2276
+ ext: "avro",
2277
+ mime: "application/avro"
2278
+ };
2279
+ if (this.checkString("FLIF")) return {
2280
+ ext: "flif",
2281
+ mime: "image/flif"
2282
+ };
2283
+ if (this.checkString("8BPS")) return {
2284
+ ext: "psd",
2285
+ mime: "image/vnd.adobe.photoshop"
2286
+ };
2287
+ if (this.checkString("MPCK")) return {
2288
+ ext: "mpc",
2289
+ mime: "audio/x-musepack"
2290
+ };
2291
+ if (this.checkString("FORM")) return {
2292
+ ext: "aif",
2293
+ mime: "audio/aiff"
2294
+ };
2295
+ if (this.checkString("icns", { offset: 0 })) return {
2296
+ ext: "icns",
2297
+ mime: "image/icns"
2298
+ };
2299
+ if (this.check([
2300
+ 80,
2301
+ 75,
2302
+ 3,
2303
+ 4
2304
+ ])) {
2305
+ let t, r = qi();
2306
+ try {
2307
+ await new G(e).unzip((n) => {
2308
+ Hi(r, n.filename);
2309
+ let o = n.filename === "[Content_Types].xml", s = vt(r);
2310
+ if (!o && s) return t = s, { stop: !0 };
2311
+ switch (n.filename) {
2312
+ case "META-INF/mozilla.rsa": return t = {
2313
+ ext: "xpi",
2314
+ mime: "application/x-xpinstall"
2315
+ }, { stop: !0 };
2316
+ case "META-INF/MANIFEST.MF": return t = {
2317
+ ext: "jar",
2318
+ mime: "application/java-archive"
2319
+ }, { stop: !0 };
2320
+ case "mimetype": return Tt(n, gt) ? {
2321
+ async handler(a) {
2322
+ t = Et(new TextDecoder("utf-8").decode(a).trim());
2323
+ },
2324
+ stop: !0
2325
+ } : {};
2326
+ case "[Content_Types].xml": return r.hasContentTypesEntry = !0, Tt(n, gt) ? (r.isParsingContentTypes = !0, {
2327
+ async handler(a) {
2328
+ let f = Ji(new TextDecoder("utf-8").decode(a));
2329
+ f && (t = Et(f)), r.hasParsedContentTypesEntry = !0, r.isParsingContentTypes = !1;
2330
+ },
2331
+ stop: !0
2332
+ }) : (r.hasUnparseableContentTypes = !0, {});
2333
+ default: return /classes\d*\.dex/.test(n.filename) ? (t = {
2334
+ ext: "apk",
2335
+ mime: "application/vnd.android.package-archive"
2336
+ }, { stop: !0 }) : {};
2337
+ }
2338
+ });
2339
+ } catch (n) {
2340
+ if (!Vi(n)) throw n;
2341
+ r.isParsingContentTypes && (r.isParsingContentTypes = !1, r.hasUnparseableContentTypes = !0);
2342
+ }
2343
+ return t ?? vt(r) ?? {
2344
+ ext: "zip",
2345
+ mime: "application/zip"
2346
+ };
2347
+ }
2348
+ if (this.checkString("OggS")) {
2349
+ await e.ignore(28);
2350
+ let t = new Uint8Array(8);
2351
+ return await e.readBuffer(t), O(t, [
2352
+ 79,
2353
+ 112,
2354
+ 117,
2355
+ 115,
2356
+ 72,
2357
+ 101,
2358
+ 97,
2359
+ 100
2360
+ ]) ? {
2361
+ ext: "opus",
2362
+ mime: "audio/ogg; codecs=opus"
2363
+ } : O(t, [
2364
+ 128,
2365
+ 116,
2366
+ 104,
2367
+ 101,
2368
+ 111,
2369
+ 114,
2370
+ 97
2371
+ ]) ? {
2372
+ ext: "ogv",
2373
+ mime: "video/ogg"
2374
+ } : O(t, [
2375
+ 1,
2376
+ 118,
2377
+ 105,
2378
+ 100,
2379
+ 101,
2380
+ 111,
2381
+ 0
2382
+ ]) ? {
2383
+ ext: "ogm",
2384
+ mime: "video/ogg"
2385
+ } : O(t, [
2386
+ 127,
2387
+ 70,
2388
+ 76,
2389
+ 65,
2390
+ 67
2391
+ ]) ? {
2392
+ ext: "oga",
2393
+ mime: "audio/ogg"
2394
+ } : O(t, [
2395
+ 83,
2396
+ 112,
2397
+ 101,
2398
+ 101,
2399
+ 120,
2400
+ 32,
2401
+ 32
2402
+ ]) ? {
2403
+ ext: "spx",
2404
+ mime: "audio/ogg"
2405
+ } : O(t, [
2406
+ 1,
2407
+ 118,
2408
+ 111,
2409
+ 114,
2410
+ 98,
2411
+ 105,
2412
+ 115
2413
+ ]) ? {
2414
+ ext: "ogg",
2415
+ mime: "audio/ogg"
2416
+ } : {
2417
+ ext: "ogx",
2418
+ mime: "application/ogg"
2419
+ };
2420
+ }
2421
+ if (this.check([80, 75]) && (this.buffer[2] === 3 || this.buffer[2] === 5 || this.buffer[2] === 7) && (this.buffer[3] === 4 || this.buffer[3] === 6 || this.buffer[3] === 8)) return {
2422
+ ext: "zip",
2423
+ mime: "application/zip"
2424
+ };
2425
+ if (this.checkString("MThd")) return {
2426
+ ext: "mid",
2427
+ mime: "audio/midi"
2428
+ };
2429
+ if (this.checkString("wOFF") && (this.check([
2430
+ 0,
2431
+ 1,
2432
+ 0,
2433
+ 0
2434
+ ], { offset: 4 }) || this.checkString("OTTO", { offset: 4 }))) return {
2435
+ ext: "woff",
2436
+ mime: "font/woff"
2437
+ };
2438
+ if (this.checkString("wOF2") && (this.check([
2439
+ 0,
2440
+ 1,
2441
+ 0,
2442
+ 0
2443
+ ], { offset: 4 }) || this.checkString("OTTO", { offset: 4 }))) return {
2444
+ ext: "woff2",
2445
+ mime: "font/woff2"
2446
+ };
2447
+ if (this.check([
2448
+ 212,
2449
+ 195,
2450
+ 178,
2451
+ 161
2452
+ ]) || this.check([
2453
+ 161,
2454
+ 178,
2455
+ 195,
2456
+ 212
2457
+ ])) return {
2458
+ ext: "pcap",
2459
+ mime: "application/vnd.tcpdump.pcap"
2460
+ };
2461
+ if (this.checkString("DSD ")) return {
2462
+ ext: "dsf",
2463
+ mime: "audio/x-dsf"
2464
+ };
2465
+ if (this.checkString("LZIP")) return {
2466
+ ext: "lz",
2467
+ mime: "application/x-lzip"
2468
+ };
2469
+ if (this.checkString("fLaC")) return {
2470
+ ext: "flac",
2471
+ mime: "audio/flac"
2472
+ };
2473
+ if (this.check([
2474
+ 66,
2475
+ 80,
2476
+ 71,
2477
+ 251
2478
+ ])) return {
2479
+ ext: "bpg",
2480
+ mime: "image/bpg"
2481
+ };
2482
+ if (this.checkString("wvpk")) return {
2483
+ ext: "wv",
2484
+ mime: "audio/wavpack"
2485
+ };
2486
+ if (this.checkString("%PDF")) return {
2487
+ ext: "pdf",
2488
+ mime: "application/pdf"
2489
+ };
2490
+ if (this.check([
2491
+ 0,
2492
+ 97,
2493
+ 115,
2494
+ 109
2495
+ ])) return {
2496
+ ext: "wasm",
2497
+ mime: "application/wasm"
2498
+ };
2499
+ if (this.check([73, 73])) {
2500
+ let t = await this.readTiffHeader(!1);
2501
+ if (t) return t;
2502
+ }
2503
+ if (this.check([77, 77])) {
2504
+ let t = await this.readTiffHeader(!0);
2505
+ if (t) return t;
2506
+ }
2507
+ if (this.checkString("MAC ")) return {
2508
+ ext: "ape",
2509
+ mime: "audio/ape"
2510
+ };
2511
+ if (this.check([
2512
+ 26,
2513
+ 69,
2514
+ 223,
2515
+ 163
2516
+ ])) {
2517
+ async function t() {
2518
+ let m = await e.peekNumber(Ze), f = 128, c = 0;
2519
+ for (; (m & f) === 0 && f !== 0;) ++c, f >>= 1;
2520
+ let p = new Uint8Array(c + 1);
2521
+ return await Be(e, p, void 0, {
2522
+ maximumLength: p.length,
2523
+ reason: "EBML field"
2524
+ }), p;
2525
+ }
2526
+ async function r() {
2527
+ let m = await t(), f = await t();
2528
+ f[0] ^= 128 >> f.length - 1;
2529
+ let c = Math.min(6, f.length), p = new DataView(m.buffer), u = new DataView(f.buffer, f.length - c, c);
2530
+ return {
2531
+ id: Ae(p),
2532
+ len: Ae(u)
2533
+ };
2534
+ }
2535
+ async function n(m) {
2536
+ let f = 0;
2537
+ for (; m > 0;) {
2538
+ if (f++, f > Ci || ee(e, s, v)) return;
2539
+ let c = e.position, p = await r();
2540
+ if (p.id === 17026) {
2541
+ if (p.len > yt) return;
2542
+ let u = Oe(p.len, yt, "EBML DocType");
2543
+ return (await e.readToken(new S(u))).replaceAll(/\00.*$/g, "");
2544
+ }
2545
+ if (b(e) && (!Number.isFinite(p.len) || p.len < 0 || p.len > kt) || (await R(e, p.len, {
2546
+ maximumLength: b(e) ? kt : e.fileInfo.size,
2547
+ reason: "EBML payload"
2548
+ }), --m, e.position <= c)) return;
2549
+ }
2550
+ }
2551
+ let o = await r(), s = e.position;
2552
+ switch (await n(o.len)) {
2553
+ case "webm": return {
2554
+ ext: "webm",
2555
+ mime: "video/webm"
2556
+ };
2557
+ case "matroska": return {
2558
+ ext: "mkv",
2559
+ mime: "video/matroska"
2560
+ };
2561
+ default: return;
2562
+ }
2563
+ }
2564
+ if (this.checkString("SQLi")) return {
2565
+ ext: "sqlite",
2566
+ mime: "application/x-sqlite3"
2567
+ };
2568
+ if (this.check([
2569
+ 78,
2570
+ 69,
2571
+ 83,
2572
+ 26
2573
+ ])) return {
2574
+ ext: "nes",
2575
+ mime: "application/x-nintendo-nes-rom"
2576
+ };
2577
+ if (this.checkString("Cr24")) return {
2578
+ ext: "crx",
2579
+ mime: "application/x-google-chrome-extension"
2580
+ };
2581
+ if (this.checkString("MSCF") || this.checkString("ISc(")) return {
2582
+ ext: "cab",
2583
+ mime: "application/vnd.ms-cab-compressed"
2584
+ };
2585
+ if (this.check([
2586
+ 237,
2587
+ 171,
2588
+ 238,
2589
+ 219
2590
+ ])) return {
2591
+ ext: "rpm",
2592
+ mime: "application/x-rpm"
2593
+ };
2594
+ if (this.check([
2595
+ 197,
2596
+ 208,
2597
+ 211,
2598
+ 198
2599
+ ])) return {
2600
+ ext: "eps",
2601
+ mime: "application/eps"
2602
+ };
2603
+ if (this.check([
2604
+ 40,
2605
+ 181,
2606
+ 47,
2607
+ 253
2608
+ ])) return {
2609
+ ext: "zst",
2610
+ mime: "application/zstd"
2611
+ };
2612
+ if (this.check([
2613
+ 127,
2614
+ 69,
2615
+ 76,
2616
+ 70
2617
+ ])) return {
2618
+ ext: "elf",
2619
+ mime: "application/x-elf"
2620
+ };
2621
+ if (this.check([
2622
+ 33,
2623
+ 66,
2624
+ 68,
2625
+ 78
2626
+ ])) return {
2627
+ ext: "pst",
2628
+ mime: "application/vnd.ms-outlook"
2629
+ };
2630
+ if (this.checkString("PAR1") || this.checkString("PARE")) return {
2631
+ ext: "parquet",
2632
+ mime: "application/vnd.apache.parquet"
2633
+ };
2634
+ if (this.checkString("ttcf")) return {
2635
+ ext: "ttc",
2636
+ mime: "font/collection"
2637
+ };
2638
+ if (this.check([
2639
+ 254,
2640
+ 237,
2641
+ 250,
2642
+ 206
2643
+ ]) || this.check([
2644
+ 254,
2645
+ 237,
2646
+ 250,
2647
+ 207
2648
+ ]) || this.check([
2649
+ 206,
2650
+ 250,
2651
+ 237,
2652
+ 254
2653
+ ]) || this.check([
2654
+ 207,
2655
+ 250,
2656
+ 237,
2657
+ 254
2658
+ ])) return {
2659
+ ext: "macho",
2660
+ mime: "application/x-mach-binary"
2661
+ };
2662
+ if (this.check([
2663
+ 4,
2664
+ 34,
2665
+ 77,
2666
+ 24
2667
+ ])) return {
2668
+ ext: "lz4",
2669
+ mime: "application/x-lz4"
2670
+ };
2671
+ if (this.checkString("regf")) return {
2672
+ ext: "dat",
2673
+ mime: "application/x-ft-windows-registry-hive"
2674
+ };
2675
+ if (this.checkString("$FL2") || this.checkString("$FL3")) return {
2676
+ ext: "sav",
2677
+ mime: "application/x-spss-sav"
2678
+ };
2679
+ if (this.check([
2680
+ 79,
2681
+ 84,
2682
+ 84,
2683
+ 79,
2684
+ 0
2685
+ ])) return {
2686
+ ext: "otf",
2687
+ mime: "font/otf"
2688
+ };
2689
+ if (this.checkString("#!AMR")) return {
2690
+ ext: "amr",
2691
+ mime: "audio/amr"
2692
+ };
2693
+ if (this.checkString("{\\rtf")) return {
2694
+ ext: "rtf",
2695
+ mime: "application/rtf"
2696
+ };
2697
+ if (this.check([
2698
+ 70,
2699
+ 76,
2700
+ 86,
2701
+ 1
2702
+ ])) return {
2703
+ ext: "flv",
2704
+ mime: "video/x-flv"
2705
+ };
2706
+ if (this.checkString("IMPM")) return {
2707
+ ext: "it",
2708
+ mime: "audio/x-it"
2709
+ };
2710
+ if (this.checkString("-lh0-", { offset: 2 }) || this.checkString("-lh1-", { offset: 2 }) || this.checkString("-lh2-", { offset: 2 }) || this.checkString("-lh3-", { offset: 2 }) || this.checkString("-lh4-", { offset: 2 }) || this.checkString("-lh5-", { offset: 2 }) || this.checkString("-lh6-", { offset: 2 }) || this.checkString("-lh7-", { offset: 2 }) || this.checkString("-lzs-", { offset: 2 }) || this.checkString("-lz4-", { offset: 2 }) || this.checkString("-lz5-", { offset: 2 }) || this.checkString("-lhd-", { offset: 2 })) return {
2711
+ ext: "lzh",
2712
+ mime: "application/x-lzh-compressed"
2713
+ };
2714
+ if (this.check([
2715
+ 0,
2716
+ 0,
2717
+ 1,
2718
+ 186
2719
+ ])) {
2720
+ if (this.check([33], {
2721
+ offset: 4,
2722
+ mask: [241]
2723
+ })) return {
2724
+ ext: "mpg",
2725
+ mime: "video/MP1S"
2726
+ };
2727
+ if (this.check([68], {
2728
+ offset: 4,
2729
+ mask: [196]
2730
+ })) return {
2731
+ ext: "mpg",
2732
+ mime: "video/MP2P"
2733
+ };
2734
+ }
2735
+ if (this.checkString("ITSF")) return {
2736
+ ext: "chm",
2737
+ mime: "application/vnd.ms-htmlhelp"
2738
+ };
2739
+ if (this.check([
2740
+ 202,
2741
+ 254,
2742
+ 186,
2743
+ 190
2744
+ ])) {
2745
+ let t = be.get(this.buffer, 4), r = _.get(this.buffer, 6);
2746
+ if (t > 0 && t <= 30) return {
2747
+ ext: "macho",
2748
+ mime: "application/x-mach-binary"
2749
+ };
2750
+ if (r > 30) return {
2751
+ ext: "class",
2752
+ mime: "application/java-vm"
2753
+ };
2754
+ }
2755
+ if (this.checkString(".RMF")) return {
2756
+ ext: "rm",
2757
+ mime: "application/vnd.rn-realmedia"
2758
+ };
2759
+ if (this.checkString("DRACO")) return {
2760
+ ext: "drc",
2761
+ mime: "application/vnd.google.draco"
2762
+ };
2763
+ if (this.check([
2764
+ 253,
2765
+ 55,
2766
+ 122,
2767
+ 88,
2768
+ 90,
2769
+ 0
2770
+ ])) return {
2771
+ ext: "xz",
2772
+ mime: "application/x-xz"
2773
+ };
2774
+ if (this.checkString("<?xml ")) return {
2775
+ ext: "xml",
2776
+ mime: "application/xml"
2777
+ };
2778
+ if (this.check([
2779
+ 55,
2780
+ 122,
2781
+ 188,
2782
+ 175,
2783
+ 39,
2784
+ 28
2785
+ ])) return {
2786
+ ext: "7z",
2787
+ mime: "application/x-7z-compressed"
2788
+ };
2789
+ if (this.check([
2790
+ 82,
2791
+ 97,
2792
+ 114,
2793
+ 33,
2794
+ 26,
2795
+ 7
2796
+ ]) && (this.buffer[6] === 0 || this.buffer[6] === 1)) return {
2797
+ ext: "rar",
2798
+ mime: "application/x-rar-compressed"
2799
+ };
2800
+ if (this.checkString("solid ")) return {
2801
+ ext: "stl",
2802
+ mime: "model/stl"
2803
+ };
2804
+ if (this.checkString("AC")) {
2805
+ let t = new S(4, "latin1").get(this.buffer, 2);
2806
+ if (t.match("^d*") && t >= 1e3 && t <= 1050) return {
2807
+ ext: "dwg",
2808
+ mime: "image/vnd.dwg"
2809
+ };
2810
+ }
2811
+ if (this.checkString("070707")) return {
2812
+ ext: "cpio",
2813
+ mime: "application/x-cpio"
2814
+ };
2815
+ if (this.checkString("BLENDER")) return {
2816
+ ext: "blend",
2817
+ mime: "application/x-blender"
2818
+ };
2819
+ if (this.checkString("!<arch>")) return await e.ignore(8), await e.readToken(new S(13, "ascii")) === "debian-binary" ? {
2820
+ ext: "deb",
2821
+ mime: "application/x-deb"
2822
+ } : {
2823
+ ext: "ar",
2824
+ mime: "application/x-unix-archive"
2825
+ };
2826
+ if (this.checkString("WEBVTT") && [
2827
+ `
2828
+ `,
2829
+ "\r",
2830
+ " ",
2831
+ " ",
2832
+ "\0"
2833
+ ].some((t) => this.checkString(t, { offset: 6 }))) return {
2834
+ ext: "vtt",
2835
+ mime: "text/vtt"
2836
+ };
2837
+ if (this.check([
2838
+ 137,
2839
+ 80,
2840
+ 78,
2841
+ 71,
2842
+ 13,
2843
+ 10,
2844
+ 26,
2845
+ 10
2846
+ ])) {
2847
+ let t = {
2848
+ ext: "png",
2849
+ mime: "image/png"
2850
+ }, r = {
2851
+ ext: "apng",
2852
+ mime: "image/apng"
2853
+ };
2854
+ await e.ignore(8);
2855
+ async function n() {
2856
+ return {
2857
+ length: await e.readToken(Ve),
2858
+ type: await e.readToken(new S(4, "latin1"))
2859
+ };
2860
+ }
2861
+ let o = b(e), s = e.position, a = 0, m = !1;
2862
+ do {
2863
+ if (a++, a > Si || ee(e, s, Fi)) break;
2864
+ let f = e.position, c = await n();
2865
+ if (c.length < 0) return;
2866
+ if (c.type === "IHDR") {
2867
+ if (c.length !== 13) return;
2868
+ m = !0;
2869
+ }
2870
+ switch (c.type) {
2871
+ case "IDAT": return t;
2872
+ case "acTL": return r;
2873
+ default:
2874
+ if (!m && c.type !== "CgBI") return;
2875
+ if (o && c.length > Ct) return m && Li(c.type) ? t : void 0;
2876
+ try {
2877
+ await R(e, c.length + 4, {
2878
+ maximumLength: o ? Ct + 4 : e.fileInfo.size,
2879
+ reason: "PNG chunk payload"
2880
+ });
2881
+ } catch (p) {
2882
+ if (!o && (p instanceof M || p instanceof l)) return t;
2883
+ throw p;
2884
+ }
2885
+ }
2886
+ if (e.position <= f) break;
2887
+ } while (e.position + 8 < e.fileInfo.size);
2888
+ return t;
2889
+ }
2890
+ if (this.check([
2891
+ 65,
2892
+ 82,
2893
+ 82,
2894
+ 79,
2895
+ 87,
2896
+ 49,
2897
+ 0,
2898
+ 0
2899
+ ])) return {
2900
+ ext: "arrow",
2901
+ mime: "application/vnd.apache.arrow.file"
2902
+ };
2903
+ if (this.check([
2904
+ 103,
2905
+ 108,
2906
+ 84,
2907
+ 70,
2908
+ 2,
2909
+ 0,
2910
+ 0,
2911
+ 0
2912
+ ])) return {
2913
+ ext: "glb",
2914
+ mime: "model/gltf-binary"
2915
+ };
2916
+ if (this.check([
2917
+ 102,
2918
+ 114,
2919
+ 101,
2920
+ 101
2921
+ ], { offset: 4 }) || this.check([
2922
+ 109,
2923
+ 100,
2924
+ 97,
2925
+ 116
2926
+ ], { offset: 4 }) || this.check([
2927
+ 109,
2928
+ 111,
2929
+ 111,
2930
+ 118
2931
+ ], { offset: 4 }) || this.check([
2932
+ 119,
2933
+ 105,
2934
+ 100,
2935
+ 101
2936
+ ], { offset: 4 })) return {
2937
+ ext: "mov",
2938
+ mime: "video/quicktime"
2939
+ };
2940
+ if (this.check([
2941
+ 73,
2942
+ 73,
2943
+ 82,
2944
+ 79,
2945
+ 8,
2946
+ 0,
2947
+ 0,
2948
+ 0,
2949
+ 24
2950
+ ])) return {
2951
+ ext: "orf",
2952
+ mime: "image/x-olympus-orf"
2953
+ };
2954
+ if (this.checkString("gimp xcf ")) return {
2955
+ ext: "xcf",
2956
+ mime: "image/x-xcf"
2957
+ };
2958
+ if (this.checkString("ftyp", { offset: 4 }) && (this.buffer[8] & 96) !== 0) {
2959
+ let t = new S(4, "latin1").get(this.buffer, 8).replace("\0", " ").trim();
2960
+ switch (t) {
2961
+ case "avif":
2962
+ case "avis": return {
2963
+ ext: "avif",
2964
+ mime: "image/avif"
2965
+ };
2966
+ case "mif1": return {
2967
+ ext: "heic",
2968
+ mime: "image/heif"
2969
+ };
2970
+ case "msf1": return {
2971
+ ext: "heic",
2972
+ mime: "image/heif-sequence"
2973
+ };
2974
+ case "heic":
2975
+ case "heix": return {
2976
+ ext: "heic",
2977
+ mime: "image/heic"
2978
+ };
2979
+ case "hevc":
2980
+ case "hevx": return {
2981
+ ext: "heic",
2982
+ mime: "image/heic-sequence"
2983
+ };
2984
+ case "qt": return {
2985
+ ext: "mov",
2986
+ mime: "video/quicktime"
2987
+ };
2988
+ case "M4V":
2989
+ case "M4VH":
2990
+ case "M4VP": return {
2991
+ ext: "m4v",
2992
+ mime: "video/x-m4v"
2993
+ };
2994
+ case "M4P": return {
2995
+ ext: "m4p",
2996
+ mime: "video/mp4"
2997
+ };
2998
+ case "M4B": return {
2999
+ ext: "m4b",
3000
+ mime: "audio/mp4"
3001
+ };
3002
+ case "M4A": return {
3003
+ ext: "m4a",
3004
+ mime: "audio/x-m4a"
3005
+ };
3006
+ case "F4V": return {
3007
+ ext: "f4v",
3008
+ mime: "video/mp4"
3009
+ };
3010
+ case "F4P": return {
3011
+ ext: "f4p",
3012
+ mime: "video/mp4"
3013
+ };
3014
+ case "F4A": return {
3015
+ ext: "f4a",
3016
+ mime: "audio/mp4"
3017
+ };
3018
+ case "F4B": return {
3019
+ ext: "f4b",
3020
+ mime: "audio/mp4"
3021
+ };
3022
+ case "crx": return {
3023
+ ext: "cr3",
3024
+ mime: "image/x-canon-cr3"
3025
+ };
3026
+ default: return t.startsWith("3g") ? t.startsWith("3g2") ? {
3027
+ ext: "3g2",
3028
+ mime: "video/3gpp2"
3029
+ } : {
3030
+ ext: "3gp",
3031
+ mime: "video/3gpp"
3032
+ } : {
3033
+ ext: "mp4",
3034
+ mime: "video/mp4"
3035
+ };
3036
+ }
3037
+ }
3038
+ if (this.checkString(`REGEDIT4\r
3039
+ `)) return {
3040
+ ext: "reg",
3041
+ mime: "application/x-ms-regedit"
3042
+ };
3043
+ if (this.check([
3044
+ 82,
3045
+ 73,
3046
+ 70,
3047
+ 70
3048
+ ])) {
3049
+ if (this.checkString("WEBP", { offset: 8 })) return {
3050
+ ext: "webp",
3051
+ mime: "image/webp"
3052
+ };
3053
+ if (this.check([
3054
+ 65,
3055
+ 86,
3056
+ 73
3057
+ ], { offset: 8 })) return {
3058
+ ext: "avi",
3059
+ mime: "video/vnd.avi"
3060
+ };
3061
+ if (this.check([
3062
+ 87,
3063
+ 65,
3064
+ 86,
3065
+ 69
3066
+ ], { offset: 8 })) return {
3067
+ ext: "wav",
3068
+ mime: "audio/wav"
3069
+ };
3070
+ if (this.check([
3071
+ 81,
3072
+ 76,
3073
+ 67,
3074
+ 77
3075
+ ], { offset: 8 })) return {
3076
+ ext: "qcp",
3077
+ mime: "audio/qcelp"
3078
+ };
3079
+ }
3080
+ if (this.check([
3081
+ 73,
3082
+ 73,
3083
+ 85,
3084
+ 0,
3085
+ 24,
3086
+ 0,
3087
+ 0,
3088
+ 0,
3089
+ 136,
3090
+ 231,
3091
+ 116,
3092
+ 216
3093
+ ])) return {
3094
+ ext: "rw2",
3095
+ mime: "image/x-panasonic-rw2"
3096
+ };
3097
+ if (this.check([
3098
+ 48,
3099
+ 38,
3100
+ 178,
3101
+ 117,
3102
+ 142,
3103
+ 102,
3104
+ 207,
3105
+ 17,
3106
+ 166,
3107
+ 217
3108
+ ])) {
3109
+ let t = !1;
3110
+ try {
3111
+ async function r() {
3112
+ let a = new Uint8Array(16);
3113
+ return await Be(e, a, void 0, {
3114
+ maximumLength: a.length,
3115
+ reason: "ASF header GUID"
3116
+ }), {
3117
+ id: a,
3118
+ size: Number(await e.readToken(qe))
3119
+ };
3120
+ }
3121
+ await R(e, 30, {
3122
+ maximumLength: 30,
3123
+ reason: "ASF header prelude"
3124
+ });
3125
+ let n = b(e), o = e.position, s = 0;
3126
+ for (; e.position + 24 < e.fileInfo.size && (s++, !(s > Ei || ee(e, o, v)));) {
3127
+ let a = e.position, m = await r(), f = m.size - 24;
3128
+ if (!Number.isFinite(f) || f < 0) {
3129
+ t = !0;
3130
+ break;
3131
+ }
3132
+ if (O(m.id, [
3133
+ 145,
3134
+ 7,
3135
+ 220,
3136
+ 183,
3137
+ 183,
3138
+ 169,
3139
+ 207,
3140
+ 17,
3141
+ 142,
3142
+ 230,
3143
+ 0,
3144
+ 192,
3145
+ 12,
3146
+ 32,
3147
+ 83,
3148
+ 101
3149
+ ])) {
3150
+ let c = new Uint8Array(16);
3151
+ if (f -= await Be(e, c, void 0, {
3152
+ maximumLength: c.length,
3153
+ reason: "ASF stream type GUID"
3154
+ }), O(c, [
3155
+ 64,
3156
+ 158,
3157
+ 105,
3158
+ 248,
3159
+ 77,
3160
+ 91,
3161
+ 207,
3162
+ 17,
3163
+ 168,
3164
+ 253,
3165
+ 0,
3166
+ 128,
3167
+ 95,
3168
+ 92,
3169
+ 68,
3170
+ 43
3171
+ ])) return {
3172
+ ext: "asf",
3173
+ mime: "audio/x-ms-asf"
3174
+ };
3175
+ if (O(c, [
3176
+ 192,
3177
+ 239,
3178
+ 25,
3179
+ 188,
3180
+ 77,
3181
+ 91,
3182
+ 207,
3183
+ 17,
3184
+ 168,
3185
+ 253,
3186
+ 0,
3187
+ 128,
3188
+ 95,
3189
+ 92,
3190
+ 68,
3191
+ 43
3192
+ ])) return {
3193
+ ext: "asf",
3194
+ mime: "video/x-ms-asf"
3195
+ };
3196
+ break;
3197
+ }
3198
+ if (n && f > St) {
3199
+ t = !0;
3200
+ break;
3201
+ }
3202
+ if (await R(e, f, {
3203
+ maximumLength: n ? St : e.fileInfo.size,
3204
+ reason: "ASF header payload"
3205
+ }), e.position <= a) {
3206
+ t = !0;
3207
+ break;
3208
+ }
3209
+ }
3210
+ } catch (r) {
3211
+ if (r instanceof l || r instanceof M) b(e) && (t = !0);
3212
+ else throw r;
3213
+ }
3214
+ return t ? void 0 : {
3215
+ ext: "asf",
3216
+ mime: "application/vnd.ms-asf"
3217
+ };
3218
+ }
3219
+ if (this.check([
3220
+ 171,
3221
+ 75,
3222
+ 84,
3223
+ 88,
3224
+ 32,
3225
+ 49,
3226
+ 49,
3227
+ 187,
3228
+ 13,
3229
+ 10,
3230
+ 26,
3231
+ 10
3232
+ ])) return {
3233
+ ext: "ktx",
3234
+ mime: "image/ktx"
3235
+ };
3236
+ if ((this.check([
3237
+ 126,
3238
+ 16,
3239
+ 4
3240
+ ]) || this.check([
3241
+ 126,
3242
+ 24,
3243
+ 4
3244
+ ])) && this.check([
3245
+ 48,
3246
+ 77,
3247
+ 73,
3248
+ 69
3249
+ ], { offset: 4 })) return {
3250
+ ext: "mie",
3251
+ mime: "application/x-mie"
3252
+ };
3253
+ if (this.check([
3254
+ 39,
3255
+ 10,
3256
+ 0,
3257
+ 0,
3258
+ 0,
3259
+ 0,
3260
+ 0,
3261
+ 0,
3262
+ 0,
3263
+ 0,
3264
+ 0,
3265
+ 0
3266
+ ], { offset: 2 })) return {
3267
+ ext: "shp",
3268
+ mime: "application/x-esri-shape"
3269
+ };
3270
+ if (this.check([
3271
+ 255,
3272
+ 79,
3273
+ 255,
3274
+ 81
3275
+ ])) return {
3276
+ ext: "j2c",
3277
+ mime: "image/j2c"
3278
+ };
3279
+ if (this.check([
3280
+ 0,
3281
+ 0,
3282
+ 0,
3283
+ 12,
3284
+ 106,
3285
+ 80,
3286
+ 32,
3287
+ 32,
3288
+ 13,
3289
+ 10,
3290
+ 135,
3291
+ 10
3292
+ ])) switch (await e.ignore(20), await e.readToken(new S(4, "ascii"))) {
3293
+ case "jp2 ": return {
3294
+ ext: "jp2",
3295
+ mime: "image/jp2"
3296
+ };
3297
+ case "jpx ": return {
3298
+ ext: "jpx",
3299
+ mime: "image/jpx"
3300
+ };
3301
+ case "jpm ": return {
3302
+ ext: "jpm",
3303
+ mime: "image/jpm"
3304
+ };
3305
+ case "mjp2": return {
3306
+ ext: "mj2",
3307
+ mime: "image/mj2"
3308
+ };
3309
+ default: return;
3310
+ }
3311
+ if (this.check([255, 10]) || this.check([
3312
+ 0,
3313
+ 0,
3314
+ 0,
3315
+ 12,
3316
+ 74,
3317
+ 88,
3318
+ 76,
3319
+ 32,
3320
+ 13,
3321
+ 10,
3322
+ 135,
3323
+ 10
3324
+ ])) return {
3325
+ ext: "jxl",
3326
+ mime: "image/jxl"
3327
+ };
3328
+ if (this.check([254, 255])) return this.checkString("<?xml ", {
3329
+ offset: 2,
3330
+ encoding: "utf-16be"
3331
+ }) ? {
3332
+ ext: "xml",
3333
+ mime: "application/xml"
3334
+ } : void 0;
3335
+ if (this.check([
3336
+ 208,
3337
+ 207,
3338
+ 17,
3339
+ 224,
3340
+ 161,
3341
+ 177,
3342
+ 26,
3343
+ 225
3344
+ ])) return {
3345
+ ext: "cfb",
3346
+ mime: "application/x-cfb"
3347
+ };
3348
+ if (await e.peekBuffer(this.buffer, {
3349
+ length: Math.min(256, e.fileInfo.size),
3350
+ mayBeLess: !0
3351
+ }), this.check([
3352
+ 97,
3353
+ 99,
3354
+ 115,
3355
+ 112
3356
+ ], { offset: 36 })) return {
3357
+ ext: "icc",
3358
+ mime: "application/vnd.iccprofile"
3359
+ };
3360
+ if (this.checkString("**ACE", { offset: 7 }) && this.checkString("**", { offset: 12 })) return {
3361
+ ext: "ace",
3362
+ mime: "application/x-ace-compressed"
3363
+ };
3364
+ if (this.checkString("BEGIN:")) {
3365
+ if (this.checkString("VCARD", { offset: 6 })) return {
3366
+ ext: "vcf",
3367
+ mime: "text/vcard"
3368
+ };
3369
+ if (this.checkString("VCALENDAR", { offset: 6 })) return {
3370
+ ext: "ics",
3371
+ mime: "text/calendar"
3372
+ };
3373
+ }
3374
+ if (this.checkString("FUJIFILMCCD-RAW")) return {
3375
+ ext: "raf",
3376
+ mime: "image/x-fujifilm-raf"
3377
+ };
3378
+ if (this.checkString("Extended Module:")) return {
3379
+ ext: "xm",
3380
+ mime: "audio/x-xm"
3381
+ };
3382
+ if (this.checkString("Creative Voice File")) return {
3383
+ ext: "voc",
3384
+ mime: "audio/x-voc"
3385
+ };
3386
+ if (this.check([
3387
+ 4,
3388
+ 0,
3389
+ 0,
3390
+ 0
3391
+ ]) && this.buffer.length >= 16) {
3392
+ let t = new DataView(this.buffer.buffer).getUint32(12, !0);
3393
+ if (t > 12 && this.buffer.length >= t + 16) try {
3394
+ let r = new TextDecoder().decode(this.buffer.subarray(16, t + 16));
3395
+ if (JSON.parse(r).files) return {
3396
+ ext: "asar",
3397
+ mime: "application/x-asar"
3398
+ };
3399
+ } catch {}
3400
+ }
3401
+ if (this.check([
3402
+ 6,
3403
+ 14,
3404
+ 43,
3405
+ 52,
3406
+ 2,
3407
+ 5,
3408
+ 1,
3409
+ 1,
3410
+ 13,
3411
+ 1,
3412
+ 2,
3413
+ 1,
3414
+ 1,
3415
+ 2
3416
+ ])) return {
3417
+ ext: "mxf",
3418
+ mime: "application/mxf"
3419
+ };
3420
+ if (this.checkString("SCRM", { offset: 44 })) return {
3421
+ ext: "s3m",
3422
+ mime: "audio/x-s3m"
3423
+ };
3424
+ if (this.check([71]) && this.check([71], { offset: 188 })) return {
3425
+ ext: "mts",
3426
+ mime: "video/mp2t"
3427
+ };
3428
+ if (this.check([71], { offset: 4 }) && this.check([71], { offset: 196 })) return {
3429
+ ext: "mts",
3430
+ mime: "video/mp2t"
3431
+ };
3432
+ if (this.check([
3433
+ 66,
3434
+ 79,
3435
+ 79,
3436
+ 75,
3437
+ 77,
3438
+ 79,
3439
+ 66,
3440
+ 73
3441
+ ], { offset: 60 })) return {
3442
+ ext: "mobi",
3443
+ mime: "application/x-mobipocket-ebook"
3444
+ };
3445
+ if (this.check([
3446
+ 68,
3447
+ 73,
3448
+ 67,
3449
+ 77
3450
+ ], { offset: 128 })) return {
3451
+ ext: "dcm",
3452
+ mime: "application/dicom"
3453
+ };
3454
+ if (this.check([
3455
+ 76,
3456
+ 0,
3457
+ 0,
3458
+ 0,
3459
+ 1,
3460
+ 20,
3461
+ 2,
3462
+ 0,
3463
+ 0,
3464
+ 0,
3465
+ 0,
3466
+ 0,
3467
+ 192,
3468
+ 0,
3469
+ 0,
3470
+ 0,
3471
+ 0,
3472
+ 0,
3473
+ 0,
3474
+ 70
3475
+ ])) return {
3476
+ ext: "lnk",
3477
+ mime: "application/x.ms.shortcut"
3478
+ };
3479
+ if (this.check([
3480
+ 98,
3481
+ 111,
3482
+ 111,
3483
+ 107,
3484
+ 0,
3485
+ 0,
3486
+ 0,
3487
+ 0,
3488
+ 109,
3489
+ 97,
3490
+ 114,
3491
+ 107,
3492
+ 0,
3493
+ 0,
3494
+ 0,
3495
+ 0
3496
+ ])) return {
3497
+ ext: "alias",
3498
+ mime: "application/x.apple.alias"
3499
+ };
3500
+ if (this.checkString("Kaydara FBX Binary \0")) return {
3501
+ ext: "fbx",
3502
+ mime: "application/x.autodesk.fbx"
3503
+ };
3504
+ if (this.check([76, 80], { offset: 34 }) && (this.check([
3505
+ 0,
3506
+ 0,
3507
+ 1
3508
+ ], { offset: 8 }) || this.check([
3509
+ 1,
3510
+ 0,
3511
+ 2
3512
+ ], { offset: 8 }) || this.check([
3513
+ 2,
3514
+ 0,
3515
+ 2
3516
+ ], { offset: 8 }))) return {
3517
+ ext: "eot",
3518
+ mime: "application/vnd.ms-fontobject"
3519
+ };
3520
+ if (this.check([
3521
+ 6,
3522
+ 6,
3523
+ 237,
3524
+ 245,
3525
+ 216,
3526
+ 29,
3527
+ 70,
3528
+ 229,
3529
+ 189,
3530
+ 49,
3531
+ 239,
3532
+ 231,
3533
+ 254,
3534
+ 116,
3535
+ 183,
3536
+ 29
3537
+ ])) return {
3538
+ ext: "indd",
3539
+ mime: "application/x-indesign"
3540
+ };
3541
+ if (this.check([
3542
+ 255,
3543
+ 255,
3544
+ 0,
3545
+ 0,
3546
+ 7,
3547
+ 0,
3548
+ 0,
3549
+ 0,
3550
+ 4,
3551
+ 0,
3552
+ 0,
3553
+ 0,
3554
+ 1,
3555
+ 0,
3556
+ 1,
3557
+ 0
3558
+ ]) || this.check([
3559
+ 0,
3560
+ 0,
3561
+ 255,
3562
+ 255,
3563
+ 0,
3564
+ 0,
3565
+ 0,
3566
+ 7,
3567
+ 0,
3568
+ 0,
3569
+ 0,
3570
+ 4,
3571
+ 0,
3572
+ 1,
3573
+ 0,
3574
+ 1
3575
+ ])) return {
3576
+ ext: "jmp",
3577
+ mime: "application/x-jmp-data"
3578
+ };
3579
+ if (await e.peekBuffer(this.buffer, {
3580
+ length: Math.min(512, e.fileInfo.size),
3581
+ mayBeLess: !0
3582
+ }), this.checkString("ustar", { offset: 257 }) && (this.checkString("\0", { offset: 262 }) || this.checkString(" ", { offset: 262 })) || this.check([
3583
+ 0,
3584
+ 0,
3585
+ 0,
3586
+ 0,
3587
+ 0,
3588
+ 0
3589
+ ], { offset: 257 }) && ut(this.buffer)) return {
3590
+ ext: "tar",
3591
+ mime: "application/x-tar"
3592
+ };
3593
+ if (this.check([255, 254])) {
3594
+ let t = "utf-16le";
3595
+ return this.checkString("<?xml ", {
3596
+ offset: 2,
3597
+ encoding: t
3598
+ }) ? {
3599
+ ext: "xml",
3600
+ mime: "application/xml"
3601
+ } : this.check([255, 14], { offset: 2 }) && this.checkString("SketchUp Model", {
3602
+ offset: 4,
3603
+ encoding: t
3604
+ }) ? {
3605
+ ext: "skp",
3606
+ mime: "application/vnd.sketchup.skp"
3607
+ } : this.checkString(`Windows Registry Editor Version 5.00\r
3608
+ `, {
3609
+ offset: 2,
3610
+ encoding: t
3611
+ }) ? {
3612
+ ext: "reg",
3613
+ mime: "application/x-ms-regedit"
3614
+ } : void 0;
3615
+ }
3616
+ if (this.checkString("-----BEGIN PGP MESSAGE-----")) return {
3617
+ ext: "pgp",
3618
+ mime: "application/pgp-encrypted"
3619
+ };
3620
+ };
3621
+ detectImprecise = async (e) => {
3622
+ this.buffer = new Uint8Array(K);
3623
+ let t = Gi(e.fileInfo.size);
3624
+ if (await e.peekBuffer(this.buffer, {
3625
+ length: Math.min(8, t),
3626
+ mayBeLess: !0
3627
+ }), this.check([
3628
+ 0,
3629
+ 0,
3630
+ 1,
3631
+ 186
3632
+ ]) || this.check([
3633
+ 0,
3634
+ 0,
3635
+ 1,
3636
+ 179
3637
+ ])) return {
3638
+ ext: "mpg",
3639
+ mime: "video/mpeg"
3640
+ };
3641
+ if (this.check([
3642
+ 0,
3643
+ 1,
3644
+ 0,
3645
+ 0,
3646
+ 0
3647
+ ])) return {
3648
+ ext: "ttf",
3649
+ mime: "font/ttf"
3650
+ };
3651
+ if (this.check([
3652
+ 0,
3653
+ 0,
3654
+ 1,
3655
+ 0
3656
+ ])) return {
3657
+ ext: "ico",
3658
+ mime: "image/x-icon"
3659
+ };
3660
+ if (this.check([
3661
+ 0,
3662
+ 0,
3663
+ 2,
3664
+ 0
3665
+ ])) return {
3666
+ ext: "cur",
3667
+ mime: "image/x-icon"
3668
+ };
3669
+ if (await e.peekBuffer(this.buffer, {
3670
+ length: Math.min(2 + this.options.mpegOffsetTolerance, t),
3671
+ mayBeLess: !0
3672
+ }), this.buffer.length >= 2 + this.options.mpegOffsetTolerance) for (let r = 0; r <= this.options.mpegOffsetTolerance; ++r) {
3673
+ let n = this.scanMpeg(r);
3674
+ if (n) return n;
3675
+ }
3676
+ };
3677
+ async readTiffTag(e) {
3678
+ let t = await this.tokenizer.readToken(e ? _ : h);
3679
+ switch (await this.tokenizer.ignore(10), t) {
3680
+ case 50341: return {
3681
+ ext: "arw",
3682
+ mime: "image/x-sony-arw"
3683
+ };
3684
+ case 50706: return {
3685
+ ext: "dng",
3686
+ mime: "image/x-adobe-dng"
3687
+ };
3688
+ default:
3689
+ }
3690
+ }
3691
+ async readTiffIFD(e) {
3692
+ let t = await this.tokenizer.readToken(e ? _ : h);
3693
+ if (!(t > Ti) && !(b(this.tokenizer) && 2 + t * 12 > Ft)) for (let r = 0; r < t; ++r) {
3694
+ let n = await this.readTiffTag(e);
3695
+ if (n) return n;
3696
+ }
3697
+ }
3698
+ async readTiffHeader(e) {
3699
+ let t = {
3700
+ ext: "tif",
3701
+ mime: "image/tiff"
3702
+ }, r = (e ? _ : h).get(this.buffer, 2), n = (e ? be : x).get(this.buffer, 4);
3703
+ if (r === 42) {
3704
+ if (n >= 6) {
3705
+ if (this.checkString("CR", { offset: 8 })) return {
3706
+ ext: "cr2",
3707
+ mime: "image/x-canon-cr2"
3708
+ };
3709
+ if (n >= 8) {
3710
+ let a = (e ? _ : h).get(this.buffer, 8), m = (e ? _ : h).get(this.buffer, 10);
3711
+ if (a === 28 && m === 254 || a === 31 && m === 11) return {
3712
+ ext: "nef",
3713
+ mime: "image/x-nikon-nef"
3714
+ };
3715
+ }
3716
+ }
3717
+ if (b(this.tokenizer) && n > vi) return t;
3718
+ let o = b(this.tokenizer) ? Ft : this.tokenizer.fileInfo.size;
3719
+ try {
3720
+ await R(this.tokenizer, n, {
3721
+ maximumLength: o,
3722
+ reason: "TIFF IFD offset"
3723
+ });
3724
+ } catch (a) {
3725
+ if (a instanceof l) return;
3726
+ throw a;
3727
+ }
3728
+ let s;
3729
+ try {
3730
+ s = await this.readTiffIFD(e);
3731
+ } catch (a) {
3732
+ if (a instanceof l) return;
3733
+ throw a;
3734
+ }
3735
+ return s ?? t;
3736
+ }
3737
+ if (r === 43) return t;
3738
+ }
3739
+ scanMpeg(e) {
3740
+ if (this.check([255, 224], {
3741
+ offset: e,
3742
+ mask: [255, 224]
3743
+ })) {
3744
+ if (this.check([16], {
3745
+ offset: e + 1,
3746
+ mask: [22]
3747
+ })) return this.check([8], {
3748
+ offset: e + 1,
3749
+ mask: [8]
3750
+ }) ? {
3751
+ ext: "aac",
3752
+ mime: "audio/aac"
3753
+ } : {
3754
+ ext: "aac",
3755
+ mime: "audio/aac"
3756
+ };
3757
+ if (this.check([2], {
3758
+ offset: e + 1,
3759
+ mask: [6]
3760
+ })) return {
3761
+ ext: "mp3",
3762
+ mime: "audio/mpeg"
3763
+ };
3764
+ if (this.check([4], {
3765
+ offset: e + 1,
3766
+ mask: [6]
3767
+ })) return {
3768
+ ext: "mp2",
3769
+ mime: "audio/mpeg"
3770
+ };
3771
+ if (this.check([6], {
3772
+ offset: e + 1,
3773
+ mask: [6]
3774
+ })) return {
3775
+ ext: "mp1",
3776
+ mime: "audio/mpeg"
3777
+ };
3778
+ }
3779
+ }
3780
+ };
3781
+ new Set(dt);
3782
+ new Set(xt);
3783
+ var Yi = {
3784
+ name: "file",
3785
+ summary: "determine file type",
3786
+ usage: "file [OPTION]... FILE...",
3787
+ options: [
3788
+ "-b, --brief do not prepend filenames to output",
3789
+ "-i, --mime output MIME type strings",
3790
+ "-L, --dereference follow symlinks",
3791
+ " --help display this help and exit"
3792
+ ]
3793
+ }, Ki = new Map([
3794
+ [".js", {
3795
+ description: "JavaScript source",
3796
+ mime: "text/javascript"
3797
+ }],
3798
+ [".mjs", {
3799
+ description: "JavaScript module",
3800
+ mime: "text/javascript"
3801
+ }],
3802
+ [".cjs", {
3803
+ description: "CommonJS module",
3804
+ mime: "text/javascript"
3805
+ }],
3806
+ [".ts", {
3807
+ description: "TypeScript source",
3808
+ mime: "text/typescript"
3809
+ }],
3810
+ [".tsx", {
3811
+ description: "TypeScript JSX source",
3812
+ mime: "text/typescript"
3813
+ }],
3814
+ [".jsx", {
3815
+ description: "JavaScript JSX source",
3816
+ mime: "text/javascript"
3817
+ }],
3818
+ [".py", {
3819
+ description: "Python script",
3820
+ mime: "text/x-python"
3821
+ }],
3822
+ [".rb", {
3823
+ description: "Ruby script",
3824
+ mime: "text/x-ruby"
3825
+ }],
3826
+ [".go", {
3827
+ description: "Go source",
3828
+ mime: "text/x-go"
3829
+ }],
3830
+ [".rs", {
3831
+ description: "Rust source",
3832
+ mime: "text/x-rust"
3833
+ }],
3834
+ [".c", {
3835
+ description: "C source",
3836
+ mime: "text/x-c"
3837
+ }],
3838
+ [".h", {
3839
+ description: "C header",
3840
+ mime: "text/x-c"
3841
+ }],
3842
+ [".cpp", {
3843
+ description: "C++ source",
3844
+ mime: "text/x-c++"
3845
+ }],
3846
+ [".hpp", {
3847
+ description: "C++ header",
3848
+ mime: "text/x-c++"
3849
+ }],
3850
+ [".java", {
3851
+ description: "Java source",
3852
+ mime: "text/x-java"
3853
+ }],
3854
+ [".sh", {
3855
+ description: "Bourne-Again shell script",
3856
+ mime: "text/x-shellscript"
3857
+ }],
3858
+ [".bash", {
3859
+ description: "Bourne-Again shell script",
3860
+ mime: "text/x-shellscript"
3861
+ }],
3862
+ [".zsh", {
3863
+ description: "Zsh shell script",
3864
+ mime: "text/x-shellscript"
3865
+ }],
3866
+ [".json", {
3867
+ description: "JSON data",
3868
+ mime: "application/json"
3869
+ }],
3870
+ [".yaml", {
3871
+ description: "YAML data",
3872
+ mime: "text/yaml"
3873
+ }],
3874
+ [".yml", {
3875
+ description: "YAML data",
3876
+ mime: "text/yaml"
3877
+ }],
3878
+ [".xml", {
3879
+ description: "XML document",
3880
+ mime: "application/xml"
3881
+ }],
3882
+ [".csv", {
3883
+ description: "CSV text",
3884
+ mime: "text/csv"
3885
+ }],
3886
+ [".toml", {
3887
+ description: "TOML data",
3888
+ mime: "text/toml"
3889
+ }],
3890
+ [".html", {
3891
+ description: "HTML document",
3892
+ mime: "text/html"
3893
+ }],
3894
+ [".htm", {
3895
+ description: "HTML document",
3896
+ mime: "text/html"
3897
+ }],
3898
+ [".css", {
3899
+ description: "CSS stylesheet",
3900
+ mime: "text/css"
3901
+ }],
3902
+ [".svg", {
3903
+ description: "SVG image",
3904
+ mime: "image/svg+xml"
3905
+ }],
3906
+ [".md", {
3907
+ description: "Markdown document",
3908
+ mime: "text/markdown"
3909
+ }],
3910
+ [".markdown", {
3911
+ description: "Markdown document",
3912
+ mime: "text/markdown"
3913
+ }],
3914
+ [".txt", {
3915
+ description: "ASCII text",
3916
+ mime: "text/plain"
3917
+ }],
3918
+ [".rst", {
3919
+ description: "reStructuredText",
3920
+ mime: "text/x-rst"
3921
+ }],
3922
+ [".env", {
3923
+ description: "ASCII text",
3924
+ mime: "text/plain"
3925
+ }],
3926
+ [".gitignore", {
3927
+ description: "ASCII text",
3928
+ mime: "text/plain"
3929
+ }],
3930
+ [".dockerignore", {
3931
+ description: "ASCII text",
3932
+ mime: "text/plain"
3933
+ }]
3934
+ ]), er = new Map([
3935
+ ["jpg", "JPEG image data"],
3936
+ ["jpeg", "JPEG image data"],
3937
+ ["png", "PNG image data"],
3938
+ ["gif", "GIF image data"],
3939
+ ["webp", "WebP image data"],
3940
+ ["bmp", "PC bitmap"],
3941
+ ["ico", "MS Windows icon resource"],
3942
+ ["tif", "TIFF image data"],
3943
+ ["tiff", "TIFF image data"],
3944
+ ["psd", "Adobe Photoshop Document"],
3945
+ ["avif", "AVIF image"],
3946
+ ["heic", "HEIC image"],
3947
+ ["heif", "HEIF image"],
3948
+ ["jxl", "JPEG XL image"],
3949
+ ["icns", "Mac OS X icon"],
3950
+ ["svg", "SVG Scalable Vector Graphics image"],
3951
+ ["pdf", "PDF document"],
3952
+ ["epub", "EPUB document"],
3953
+ ["mobi", "Mobipocket E-book"],
3954
+ ["djvu", "DjVu document"],
3955
+ ["zip", "Zip archive data"],
3956
+ ["gz", "gzip compressed data"],
3957
+ ["gzip", "gzip compressed data"],
3958
+ ["bz2", "bzip2 compressed data"],
3959
+ ["xz", "XZ compressed data"],
3960
+ ["tar", "POSIX tar archive"],
3961
+ ["rar", "RAR archive data"],
3962
+ ["7z", "7-zip archive data"],
3963
+ ["lz", "lzip compressed data"],
3964
+ ["lzma", "LZMA compressed data"],
3965
+ ["zst", "Zstandard compressed data"],
3966
+ ["cab", "Microsoft Cabinet archive"],
3967
+ ["ar", "Unix ar archive"],
3968
+ ["rpm", "RPM package"],
3969
+ ["deb", "Debian binary package"],
3970
+ ["apk", "Android Package"],
3971
+ ["dmg", "Apple disk image"],
3972
+ ["iso", "ISO 9660 CD-ROM filesystem data"],
3973
+ ["vhd", "Microsoft Virtual Hard Disk"],
3974
+ ["vhdx", "Microsoft Virtual Hard Disk (new format)"],
3975
+ ["qcow2", "QEMU QCOW Image"],
3976
+ ["mp3", "Audio file with ID3"],
3977
+ ["m4a", "MPEG-4 audio"],
3978
+ ["aac", "AAC audio"],
3979
+ ["wav", "RIFF (little-endian) data, WAVE audio"],
3980
+ ["flac", "FLAC audio bitstream data"],
3981
+ ["ogg", "Ogg data"],
3982
+ ["oga", "Ogg audio"],
3983
+ ["opus", "Ogg Opus audio"],
3984
+ ["aiff", "AIFF audio"],
3985
+ ["wma", "Windows Media Audio"],
3986
+ ["amr", "AMR audio"],
3987
+ ["mid", "MIDI audio"],
3988
+ ["midi", "MIDI audio"],
3989
+ ["ape", "Monkey's Audio"],
3990
+ ["mp4", "ISO Media, MPEG-4"],
3991
+ ["m4v", "MPEG-4 video"],
3992
+ ["webm", "WebM"],
3993
+ ["avi", "RIFF (little-endian) data, AVI"],
3994
+ ["mov", "ISO Media, Apple QuickTime movie"],
3995
+ ["mkv", "Matroska data"],
3996
+ ["wmv", "Windows Media Video"],
3997
+ ["flv", "Flash Video"],
3998
+ ["3gp", "3GPP multimedia"],
3999
+ ["3g2", "3GPP2 multimedia"],
4000
+ ["ogv", "Ogg video"],
4001
+ ["mts", "MPEG transport stream"],
4002
+ ["m2ts", "MPEG transport stream"],
4003
+ ["ts", "MPEG transport stream"],
4004
+ ["mpg", "MPEG video"],
4005
+ ["mpeg", "MPEG video"],
4006
+ ["exe", "PE32 executable"],
4007
+ ["dll", "PE32 DLL"],
4008
+ ["elf", "ELF executable"],
4009
+ ["mach", "Mach-O executable"],
4010
+ ["wasm", "WebAssembly (wasm) binary module"],
4011
+ ["dex", "Android Dalvik executable"],
4012
+ ["class", "Java class file"],
4013
+ ["swf", "Adobe Flash"],
4014
+ ["doc", "Microsoft Word Document"],
4015
+ ["docx", "Microsoft Word 2007+ Document"],
4016
+ ["xls", "Microsoft Excel Spreadsheet"],
4017
+ ["xlsx", "Microsoft Excel 2007+ Spreadsheet"],
4018
+ ["ppt", "Microsoft PowerPoint Presentation"],
4019
+ ["pptx", "Microsoft PowerPoint 2007+ Presentation"],
4020
+ ["odt", "OpenDocument Text"],
4021
+ ["ods", "OpenDocument Spreadsheet"],
4022
+ ["odp", "OpenDocument Presentation"],
4023
+ ["ttf", "TrueType Font"],
4024
+ ["otf", "OpenType Font"],
4025
+ ["woff", "Web Open Font Format"],
4026
+ ["woff2", "Web Open Font Format 2"],
4027
+ ["eot", "Embedded OpenType font"],
4028
+ ["stl", "Stereolithography CAD"],
4029
+ ["obj", "Wavefront 3D Object"],
4030
+ ["gltf", "GL Transmission Format"],
4031
+ ["glb", "GL Transmission Format (binary)"],
4032
+ ["sqlite", "SQLite 3.x database"],
4033
+ ["mdb", "Microsoft Access Database"],
4034
+ ["xml", "XML document"],
4035
+ ["json", "JSON data"],
4036
+ ["macho", "Mach-O binary"],
4037
+ ["ics", "iCalendar data"],
4038
+ ["vcf", "vCard data"],
4039
+ ["msi", "Microsoft Installer"],
4040
+ ["ps", "PostScript"],
4041
+ ["ai", "Adobe Illustrator"],
4042
+ ["indd", "Adobe InDesign"],
4043
+ ["sketch", "Sketch design file"],
4044
+ ["fig", "Figma design file"],
4045
+ ["xd", "Adobe XD"],
4046
+ ["blend", "Blender"],
4047
+ ["fbx", "Autodesk FBX"],
4048
+ ["lnk", "MS Windows shortcut"],
4049
+ ["alias", "Mac OS alias"],
4050
+ ["torrent", "BitTorrent file"],
4051
+ ["pcap", "pcap capture file"],
4052
+ ["arrow", "Apache Arrow"],
4053
+ ["parquet", "Apache Parquet"]
4054
+ ]);
4055
+ function tr(i, e) {
4056
+ let t = er.get(i);
4057
+ if (t) return t;
4058
+ let [r, n] = e.split("/"), o = n?.split("+")[0]?.replace(/-/g, " ") || i;
4059
+ switch (r) {
4060
+ case "image": return `${o.toUpperCase()} image data`;
4061
+ case "audio": return `${o.toUpperCase()} audio`;
4062
+ case "video": return `${o.toUpperCase()} video`;
4063
+ case "font": return `${o} font`;
4064
+ case "model": return `${o} 3D model`;
4065
+ case "application": return n?.includes("zip") || n?.includes("compressed") ? `${o} archive data` : n?.includes("executable") ? `${o} executable` : `${i.toUpperCase()} data`;
4066
+ default: return `${i.toUpperCase()} data`;
4067
+ }
4068
+ }
4069
+ function ir(i) {
4070
+ let e = i.split("/").pop() || i;
4071
+ if (e.startsWith(".") && !e.includes(".", 1)) return e;
4072
+ let t = e.lastIndexOf(".");
4073
+ return t === -1 || t === 0 ? "" : e.slice(t).toLowerCase();
4074
+ }
4075
+ function rr(i, e) {
4076
+ if (i.startsWith("#!")) {
4077
+ let f = i.split(`
4078
+ `)[0];
4079
+ return f.includes("python") ? {
4080
+ description: "Python script, ASCII text executable",
4081
+ mime: "text/x-python"
4082
+ } : f.includes("node") || f.includes("bun") || f.includes("deno") ? {
4083
+ description: "JavaScript script, ASCII text executable",
4084
+ mime: "text/javascript"
4085
+ } : f.includes("bash") ? {
4086
+ description: "Bourne-Again shell script, ASCII text executable",
4087
+ mime: "text/x-shellscript"
4088
+ } : f.includes("sh") ? {
4089
+ description: "POSIX shell script, ASCII text executable",
4090
+ mime: "text/x-shellscript"
4091
+ } : f.includes("ruby") ? {
4092
+ description: "Ruby script, ASCII text executable",
4093
+ mime: "text/x-ruby"
4094
+ } : f.includes("perl") ? {
4095
+ description: "Perl script, ASCII text executable",
4096
+ mime: "text/x-perl"
4097
+ } : {
4098
+ description: "script, ASCII text executable",
4099
+ mime: "text/plain"
4100
+ };
4101
+ }
4102
+ let t = i.trimStart();
4103
+ if (t.startsWith("<?xml")) return {
4104
+ description: "XML document",
4105
+ mime: "application/xml"
4106
+ };
4107
+ if (t.startsWith("<!DOCTYPE html") || t.toLowerCase().startsWith("<html")) return {
4108
+ description: "HTML document",
4109
+ mime: "text/html"
4110
+ };
4111
+ let r = i.includes(`\r
4112
+ `), n = i.includes("\r") && !r, o = "";
4113
+ r ? o = ", with CRLF line terminators" : n && (o = ", with CR line terminators");
4114
+ let s = ir(e), a = s ? Ki.get(s) : void 0;
4115
+ if (a) return a.mime.startsWith("text/") && o ? {
4116
+ description: `${a.description}${o}`,
4117
+ mime: a.mime
4118
+ } : a;
4119
+ let m = !1;
4120
+ for (let f = 0; f < Math.min(i.length, 8192); f++) if (i.charCodeAt(f) > 127) {
4121
+ m = !0;
4122
+ break;
4123
+ }
4124
+ return m ? {
4125
+ description: `UTF-8 Unicode text${o}`,
4126
+ mime: "text/plain; charset=utf-8"
4127
+ } : {
4128
+ description: `ASCII text${o}`,
4129
+ mime: "text/plain"
4130
+ };
4131
+ }
4132
+ async function nr(i, e) {
4133
+ if (e.length === 0) return {
4134
+ description: "empty",
4135
+ mime: "inode/x-empty"
4136
+ };
4137
+ let t = await ze(e);
4138
+ if (t) return {
4139
+ description: tr(t.ext, t.mime),
4140
+ mime: t.mime
4141
+ };
4142
+ return rr(new TextDecoder("utf-8", { fatal: !1 }).decode(e), i);
4143
+ }
4144
+ var _n = {
4145
+ name: "file",
4146
+ async execute(i, e) {
4147
+ if (o(i)) return s(Yi);
4148
+ let t = !1, r$1 = !1, n = [];
4149
+ for (let a of i) if (a.startsWith("--")) {
4150
+ if (a === "--brief") t = !0;
4151
+ else if (a === "--mime" || a === "--mime-type") r$1 = !0;
4152
+ else if (a !== "--dereference") return r("file", a);
4153
+ } else if (a.startsWith("-") && a !== "-") {
4154
+ for (let m of a.slice(1)) if (m === "b") t = !0;
4155
+ else if (m === "i") r$1 = !0;
4156
+ else if (m !== "L") return r("file", `-${m}`);
4157
+ } else n.push(a);
4158
+ if (n.length === 0) return {
4159
+ stdout: "",
4160
+ stderr: `Usage: file [-bLi] FILE...
4161
+ `,
4162
+ exitCode: 1
4163
+ };
4164
+ let o$2 = "", s$1 = 0;
4165
+ for (let a of n) try {
4166
+ let m = e.fs.resolvePath(e.cwd, a);
4167
+ if ((await e.fs.stat(m)).isDirectory) {
4168
+ let d = r$1 ? "inode/directory" : "directory";
4169
+ o$2 += t ? `${d}
4170
+ ` : `${a}: ${d}
4171
+ `;
4172
+ continue;
4173
+ }
4174
+ let p = await nr(a, await e.fs.readFileBuffer(m)), u = r$1 ? p.mime : p.description;
4175
+ o$2 += t ? `${u}
4176
+ ` : `${a}: ${u}
4177
+ `;
4178
+ } catch {
4179
+ o$2 += t ? `cannot open
4180
+ ` : `${a}: cannot open (No such file or directory)
4181
+ `, s$1 = 1;
4182
+ }
4183
+ return {
4184
+ stdout: o$2,
4185
+ stderr: "",
4186
+ exitCode: s$1
4187
+ };
4188
+ }
4189
+ };
4190
+ /*! Bundled license information:
4191
+
4192
+ ieee754/index.js:
4193
+ (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
4194
+ */
4195
+ //#endregion
4196
+ //#region ../../node_modules/.pnpm/just-bash@3.0.1/node_modules/just-bash/dist/bundle/chunks/file-IPZJC3FQ.js
4197
+ createRequire(import.meta.url);
4198
+ //#endregion
4199
+ export { _n as fileCommand };
4200
+
4201
+ //# sourceMappingURL=file-IPZJC3FQ-DcZNOWyY.mjs.map